Web Design Glasgow

Web Strategy Blog

To move a wordpress site from one domain to another, you need to execute the following SQL scripts on the database:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');

This works as of Wordpress 2.8.

Iain Porter - Glasgow Web Designer, Search Engine Optimiser, and Web Strategy Consultant

Web Marketing - A Brief Glossary

Posted by Iain on Tue (14/10/08) at 12:34pm to Web Project Management

There are increasingly a range of acronyms being thrown around in web marketing that sometimes slip out when interacting with clients. Here’s a brief overview of some of the more common e-marketing acronyms to ease the conversation.

  • SEM
    Search Engine Marketing

    SEM is a broad term covering the range of activities you might engage in to improve the extent to which you generate revenue via search engines
  • SEO
    Search Engine Optimisation
    SEO focuses on the organic listings as opposed to sponsored listings, or PPC. The position of your site in the listings for a given search term is determined by a wide range of factors, each contributing to the search engine’s algorithm. They can be broadly divided, however, into two groups:

    • Content Relevancy: The greater the extent to which the content of a page matches the search term in question, the better it will rank (subject to the engine’s spam protection measures).
    • Trust relevancy The greater the extent to which a page is connected (by hyperlinks) to sites also well connected to other sites relevant to the search term, the better it will rank, based on it being a trusted resource.
  • PPC
    Pay Per Click
    Many search engines present two listings when the user makes a search - the main, organic search results, and the sponsored listings. To achieve a sponsored listing, you must agree to pay a certain amount to the search engine every time someone clicks on your listing. Your bid compared to that of your competitors determines your position in the listing - bid prices can range from a few pence for less competitive phrases to several pounds for very competitive phrases. Most often however clicks will cost less than £0.50.
  • SMO / SMM
    Social Media Optimisation / Social Media Marketing
    More recently, a new area has opened up in web marketing with the arrival of social networking and in particular social news websites, such as Digg, Reddit, and a host of others. These sites allow you to submit content to their ‘Upcoming’ listing, presented initially in reverse date/time order. As time passes, if your site receives votes, it maintains it’s high position and may reach the ‘popular’ listing. This is encouraging marketers to be creative and generate interesting content, as the potential returns of getting ‘dugg’ are substantial in the short and long term.
Iain Porter - Glasgow Web Designer, Search Engine Optimiser, and Web Strategy Consultant

MooTools, AJAX, DHTML and Performance

Posted by Iain on Fri (11/04/08) at 4:13pm to Web Project Management

I first delved into javascript frameworks with Prototype, but I quickly realised that the Prototype+Script.aculo.us combination, even in Protocoluous or Protopackt form, was never going to work - it was just too slow.

I moved to MooTools, and for a while was pretty happy - load times were quicker, effects smoother.

But having recently tried to build sorting and filtering functionality into an HTML table of 200+ rows, I’ve been forced to take a closer look at how different browsers execute javascript, and at where the bottlenecks are. Here I’m going to promote a few best practices, largely via Julien LeComte at Yahoo.

Inserting new Elements

Working with the DOM in MooTools is a breeze - code like the following is a pleasure to write and to read:

var div = new Element(’div’, {id:’example’}).addClass(’example’).setHTML(’Example Content’).injectAfer(’previousElementID’);

However it’s worth noting that the Element class uses ‘document.createElement’, which is much more expensive than the alternative, albeit less readible innerHTML. Further, inject() and adopt() functions use appendChild() and are also thus very expensive. An it certainly feels like this effect is magnified when working with tables.

Changing Existing Elements

Working with with DOM can cause performance issues, but if the DOM element in question is not visible (display:none), or if the DOM element is ‘off-DOM’, you’ll acheive a performance gain.

Retrieving Values from the DOM

Retreiving values from the DOM is much more expensive than referencing a local variable:

// bad code
children.each(function(child) {
if (child.getText() == otherElement.getText()) alert(’slow’);
});

// good code
var text = otherElement.getText();
children.each(function(child) {
if (child.getText() == text) alert(’fast’);
});

Attaching Event Handlers

Attaching events is also very slow. To tackle this, instead of looping through multiple elements attaching events, attach the event handler to the parent, and within the handler detect which element has been clicked:

// bad code
children.each(function(child) {
child.addEvent(’mousedown’, function () {
alert(child.getText());
}
});

// good code
parent.addEvent(’mousedown’, function (e) {
var child = new Event(e).target;
alert(child.getText());
}

By applying these ideas, I was able to cut the processing time of loading a table by more than 70%, and hopefully you can benefit too.

There are a real plethora of eCommerce solutions out there now, making it difficult to isolate which solution is best for you. Some solutions are free and open-source, some licensed or bought off the shelf, and others custom-built - each has it’s advantages and disadvantages. This post is an outline of what your decision-making process with your IT consultant should look like.

  1. Will you be marketing your products to the search engines? If so, you need, at a minimum, a solution with 301 Redirect Management, keyword-rich URLs, and management facilities for title and meta-tags. This will rule out a sleuth of options.
  2. What is your estimated annual turnover, average transaction value, and average unit price? Payment gateways (i.e. PayPal, Google Checkout, Protx, ChronoPay, etc.) differ in their charges, and you should choose to minimise your costs.
  3. More >>

It is often hard for those needing a website to justify the costs of design. Design is often viewed as a ‘talent’ before a learned skill, and as something that we either have or we don’t, and it naturally follows that if you ‘have it’ should be able to produce it without greart expensive.

Luke Wroblewski gave an excellent presentation at the An Event Apart 2007 conference (Chicago) that helps communicate the complexity and process of design, and the value a strong design can contribute.

Luke’s presentation focuses on the web form, which is any interface that accepts user input - common examples are login/registration, enquiry, and eCommerce checkout forms. It’s clear that many businesses depend upon their customers completing these forms to generate, maintaining and convert leads, and logically follows that the quicker and easier a form is to complete, the more likely those customers will do so.

Luke presents three simple variants of webform design to demonstrate the potential impact on revenue the design of the form can have. Each form input field has a label that tells the customer what information to put in that field. Luke’s variations placed the label above the field, and to the left of the field, either left-aligned or right-aligned. His referenced studies found that customers completing forms with right-aligned labels surprisingly did so twice as quickly as those with left-aligned labels, but that quicker still were those customers completing forms with top-aligned labels.

Clearly, big differences can be made to conversion rates by assessing the quality of your web form. Luke’s presentation is available on his blog, and goes on to discuss the consideration of required/optional fields, primary/secondary actions, contextual grouping and progressive disclosure, tabbing, the path to completion, inline validation and assistance, and feedback mechanisms.

He also provides excellent example of both good and bad web forms in a very accessible presentation that will ensure you know what to expect when commissioning the design of a web form.

Next Page »

Categories

Archive

Add to Technorati Favorites