On many blogs, SEO professionals say AJAX is evil in SEO, just in the same way Flash is. But ask a Web2.0 designer/developer, AJAX is so cool that people will love it and stay on your site seeing the quick interactive visual feedback without any page reloading. Let’s look deeper into the possibility of making SEO and AJAX BFF.
What is AJAX?
Keeping the technical language to a minimum, the main observable benefit you have in running AJAX is having dynamic content load on your page without having the whole page to reload on a new URL. This gives you the benefit to only reload certain parts of a page making the resources load to a minimum aside from having it visually appealing to the user.
Problem 1: SEO Issues with Dynamic Content of AJAX
Search engines crawl websites using bots that are also called crawlers or spiders. These are nothing but programs that visit webpages on the Internet looking at all links and further visiting every valid link found crawlable. And content on the page is read and associated to the URL crawled.
Having that behavior, search engines will only be able to read the initially loaded content when the URL of the page is loaded. Any other content that loads by AJAX requiring a user click or some other event may not be read by the search engines.
Probably a good example of an AJAX site would be the Instant Domain Search. For every letter you type, new content is loaded. It loads fast and is appealing to people as they do not need to wait for a full page reload. Although all generated new content cannot be read by search engines.
Problem 2: Search Engine Crawling Problems of AJAX
Since search engines crawl websites looking at every link found on a page, search engines may not be able to check links going to other pages of an AJAX webpage. First of all, AJAX content does not need to reside on a different URL, it will have the same URL as how it loaded.
Normally a link going to a normal webpage may look like this:
And AJAX powered sites may have links in various forms like:
Having your href value not a valid webpage will just be disregarded by search engines, even if you do have a way to let search engines see the dynamically loaded content, this will still be on the same URL where it has to really be separated.
Problem 3: Placing All Content On One Page Dilutes Keyword Focus
The SEO Solution to the AJAX Problems
Solution 1: Serve Alternative Content
And for these alternative links, these should lead to actual pages on their own URLs that would load the same content as what would load in the AJAX links.
This way you please users with the visual appeal of AJAX and you still give alternative navigation and content that search engines can read and index. Where, if people get to visit these URLs, they will still be drawn to the AJAX pages.
Solution 2: Using Hijax – Graceful Degredation of AJAX
- Pointless link – Bad!
<a href="#" onclick="window.open('help.html'); return false;">contextual help</a>
- Using the DOM – Better.
<a href="help.html" onclick="window.open(this.getAttribute('href')); return false;">contextual help</>
<a href="help.html" class="help">contextual help</a>