AJAX and SEO
AJAX (Asynchronous JavaScript + XML) is typically unfriendly to search engines, and thus may thwart SEO efforts.
AJAX is a set of techniques that allow websites to act more like client-side applications by fetching data and processing it locally based upon user actions. For instance, a web-based spreadsheet may allow the user to sort data by different columns by reordering locally using JavaScript. Or a website could provide an expandable outline when users click on a heading by fetching the heading’s contents only when they are opened.
The problem with these techniques is that they can hide content from search engine spiders which do not typically process JavaScript. If there is content that is only displayed as a result of actions that require AJAX / JavaScript, then it will not be indexed or ranked. This problem is not confined to data that is downloaded subsequent to the initial page fetch; content that accompanies that page but that is “hidden” by JavaScript or CSS until specific user actions are taken may also be invisible or ignored by the spiders that may construe invisibility as an attempt at cloaking.
The easiest way to avoid the potential pitfalls of AJAX is to simply avoid it entirely. As a general rule, if you avoid JavaScript and CSS properties that hide text, it can be indexed. If your web applications call for AJAX and you still want the content to be indexed, the best strategy is to provide a second display mechanism that does not employ AJAX.
AJAX techniques offer web designers and developers powerful functionality that extend rich desktop features to the web. However caution should be exercised to ensure that such techniques do not inhibit search engine spiders.