Search Engine Optimization of MOSS 2007 WCM sites
Andrew Connell has pointed today to a new white paper at MSDN Office Developer Center called How to Optimize SharePoint Server 2007 Web Content Management Sites for Search Engines. From what the title says I was expecting the paper to provide SharePoint specialists with SharePoint specific knowledge and solutions to various Search Engine Optimization (SEO) challenges. Unfortunately, the white paper published at MSDN has disappointed me.
SEO is common knowledge - search results ranking isn't
It's not the first time SEO is being spoken of and making your site get to the top is not challenging only in MOSS 2007. Every Content Management System (CMS) out there has its own challenges. In SharePoint 2007 it is unfortunately even more difficult comparing with some other CMS as SharePoint generates some extra HTML markup which you not always can control.
Avneesh Kaushik - the author of the white paper has presented some of the common SEO related issues like using descriptive titles and making WCM sites web standards compliant. While it's good to explain what these issues are it has already be done many times before. Just type something like "SEO techniques" in your favorite search engine and you will thousands of results providing way more descriptive explanation than the one you'll find in the white paper. Instead of only presenting the problems I wish the author focused more on what the possible solutions in SharePoint are. This is the information we really need and can benefit of.
Is SEO for developers?
Looking at a typical life cycle of a WCM solution, we have defining the requirements, designing the user experience (UX), developing and testing the website, and maintaining it. At which stages you will have to do with SEO? As soon as the website will be delivered to the customer and will go live, it will get crawled by search engines and its content will get indexed. This is the moment when you will get feedback on how well the user experience has been designed and how accessible it and the content is to a search engine. The results of the indexing depend only partly on the technology. If the content authors will provide poor content with low keywords density, a bag of tips & tricks won't help you to get to the top 10 results. On the other hand, you can spend hours on optimizing the content but if it will end up in a 100% AJAX website you can forget about the top 10 as well.
The SEO magic
Avneesh Kaushik has presented in his white paper a couple examples of SEO techniques which can improve the search ranking of your website. While some of them are indeed very important for optimizing a website for search, I have some questions by the others.
Use descriptive page title
It is true. Page Title together with the URL and the h1 heading are the things the most search engines value the most. If all of these contain the keywords used in the search query there is a chance your page might make it to the top 10.
But what do developers have to do with creating descriptive Page Titles? From all the times I have worked on a WCM solution, we have provided our customers with the basic structure defined which would later on be filled with the content by the content authors. It's a valid tip but of little usage if you are a SharePoint developer. If you're interested what the descriptive page titles really mean I'd advise you instead reading the article by Roger Johansson: Document titles and title separators. Below the article you will find a handful other articles which Roger wrote about crafting good titles.
Build some automated process to maintain an XML sitemap
Providing an XML sitemap as defined by the Sitemaps protocol will help the search engines crawl and index the content of your website. While Avneesh Kaushik advices you to "build some automated process" you might want to check out the Imtech XML Sitemap Feature I have made a while ago. It's better than starting from nothing if you ask me, and who knows maybe it will fully fit your requirements.
Using complex URL's makes them more difficult to crawl
I wouldn't agree with Avneesh on this one. No matter how long the URL's are, if there is a page which link to such page or the long URL is included in the XML Sitemap of your site, it will get crawled eventually. There is another problem with long URL's however.
Long URL's are difficult to remember. According to Jakob Nielsen - the usability expert, URL's should be short, easy-to-type and persistent. Except for the /Pages/ part of the URL (but we already have a solution to this issue, don't we?), it is possible to craft pretty URL's in MOSS 2007.
As for the SEO, long URL's will generally make your page score lower than a similar page with a shorter URL. Using short URL's has definitely its benefits. Once again: the developers can't do much about how the URL's will look like.
Web standards and accessibility
Search Engine can be compared to a visually impaired user. It relies on the HTML while reading the page and doesn't even have the assistive technologies that many visually impaired visitors use. While Avneesh has mentioned that making your website (X)HTML compliant, he totally forgot to mention the accessibility.
Because search spiders don't rely on any of the presentation technologies, they use mainly the HTML source of a page to determine what the content the page is and how important it is. Because of this fact it is extremely important that the HTML is semantic and fully reflects the message that is being visualized on the screen using CSS and other rich technologies.
SharePoint and temporary redirects
Avneesh did a great job while describing that issue. He pointed to what the problem is, what does it mean for SEO and how it can be solved in SharePoint. The solution he provided has two flaws however. First of all it uses hardcoded URL's. Secondly it doesn't support Variations.
I have faced the same problem of temporary redirects a while ago myself. Back then I've designed a solution which supports Variations and which can be reused across many Web Applications.
In many ways the MOSS 2007 WCM white paper resembles me of the Sample code acceptance checklist for IT organizations published on MSDN last week. The author did good piece of work by pointing the attention to the subject. I only wish the document was more complete, contained more SharePoint specific knowledge and was meant either to be read by the developers or the consultants. If you work with MOSS 2007 WCM solutions you should definitely read it and extend the knowledge with SEO techniques for webdesigners instead for a specific CMS.