[Saatchi & Saatchi Design][ssd] recently updated their Web site and in doing so made some poor choices.
Multiple addresses for the same pages
As well as saatchi-design.co.uk, SSD have registered saatchi-design.com (which they prefer to use when emailing – I don’t know why they don’t just use one domain name for everything). Previously anyone visiting [saatchi-design.com], [www.saatchi-design.com], [saatch-design.co.uk] and [www.saatchi-design.co.uk][ssd] was automatically re-directed to [www.saatchi-design.co.uk][ssd]. This encouraged a single address for any page on the site and reduced the chances of duplicate entries in search engine results.
To fix this they need to configure the site to issue the appropriate re-directs to visiting clients. For the Apache server you can achieve this with [mod_rewrite].
All site content hidden in Flash movies
Instead, Google cannot index the site and it does not display on an iPhone.
A consequence of how the site has been implemented is the lack of a proper URL structure. Instead one arrives at pseudo-unique URLs when navigating the site. In strict terms all the varied content is a single page. The URLs they expose use fragment identifiers leaving the visitor with addresses like [http://www.saatchi-design.co.uk/#/brand-strategy/] and [http://www.saatchi-design.co.uk/#/us/purpose/] . Although better than nothing, these URLs again ruin Google’s view of the site – the varied pages are treated as a single page.
The structure of the site changed with the update, which is not surprising considering how much more content there is now. But in changing the structure the site broke all the existing links. Where Google used to return a couple of dozen results for the various pages in the previous site design, now it returns a page where only the first result actually links to the site, the other results returning an entirely unhelpful generic Apache 404 page. [All those broken links!][deadlinks]
What ought to happen is the site should be configured so that out-of-date links are either re-directed to the appropriate page or to the front page when no equivalent page exists. Again one can use mod_rewrite for this.
HTTP caching-hostile resources
The updated site consists of a single Flash movie, and this in turn fetches picture and text resources from the server as needed, so that a visitor does not need to download the entire site before she can see the first page. However the Web server does not send `Last-Modified` or `ETag` headers with the response. If it did then the client could use them to check if the content has changed since the last request rather than having to fetch the complete response every time.
Using [HTTP with suitable caching and expiry headers][rfc2616] would save bandwidth costs for the site host and visitors. More importantly it would reduce the site load time for returning visitors because many page elements could be served from the browser’s cache rather than having to be re-fetched.
If the site *were* accessible from an iPhone then caching would be a useful technique for improving the visitor’s experience.