AJAX and SEO is a tricky topic – after all, an AJAX-based website is more or less the same as a FLASH website: it may look fancy but is non-navigatable.
AJAX got its bad SEO reputation for a number of reasons, including:
- crawling issues (you are risking not getting all of your content crawled)
- indexing issues (you are risking not getting all of your content indexed)
- broken website navigation and useless address bar (because all pages load under the same URL)
- useless back/next/reload buttons
- potential cloaking issues – which may be unintentional – where the user sees different content than the crawler
Here’s the difference in what the crawler can see without AJAX and can’t see with AJAX*:

*KUDO’s to Google for the image: http://docs.google.com/present/view?id=dc75gmks_120cjkt2chf
Yet AJAX can and should be search engine friendly and following these simple best practices will get you there (or at least much closer to where you should be):
1) Decide where your website ends and your application starts: it does not make sense to make spiders crawl your drafts, but instead the VMWare Octopus documents made public and archived
2) Make sure you have a URL for each “page” you want to get crawled and indexed
3) Load the basic content containing the keywords at the beginning in a non-dynamic way
4) Cache dynamic pages and serve them as static ones, you could even take snapshots of “pages” which content changes all the time and publish the snapshots
5) Menu items, links and other crucial structural aspects of a site should work without AJAX and/or JavaScript
6) Do not use AJAX for effects but for extra functionality that truly enhances the user experience
Some additional tips:
AJAX should be used for what it’s designed for – dynamic interaction of the current page with the server (for instance, if you need to submit a form, upload a picture without reloading page, or updating a widget (i.e. calendar)).
Most people trigger their basic AJAX through “onClick” events on a given element. In this case the spider will not floor to the AJAX generated content. Another way to do it is using a regular anchor tag (<a href=…) and placing the page that you will be requesting in the “href”. This way the spider will take your link as another page and the page will get indexed. In addition, if you want to really make this perfect, you can make your jquery click event attach another parameter to the query string letting the page know when the call is coming from with JavaScript enabled and when not. Then, reading this query string server side, you can adjust this page by adding additional page properties (title and meta tags), even styles and additional HTML if you wish. I would really recommend doing this.
Now, do you have other tips for making AJAX SEO friendly? Share them – those of us with AJAX website will appreciate it a lot.
Maria Nikishyna (@semwisdom) is an accomplished search engine marketer specializing in paid and organic lead gen programs. When Maria is not optimizing websites, she’s an SEM blogger on Seattle Search Marketing Blog. Maria’s posts revolve around technical SEO issues, AdWords tricks, and SEO tips for webmasters.
Ajax should be used only for voting.
“AJAX” and the project team jumped without looking at all the consequences.
The practice of loading blog posts into AJAX windows does two other bad things:
1) It doesn't act the way people expect blogs to act.
2) It doesn't let Lenovo push up any other relevant content.
Based on AJAX's bad reputation. I'd stay away from it where possible.
Bad advise don't make people afraid of such a powerful tool… just use it correctly
what.. I am unable to believe this.. anyway I will be in touch with this discussion
There is huge myth about flash is that, it's not SEO friendly.
Please check below URL, What google say about it…
http://googlewebmastercentral.blogspot.com/2009…
Also search in google this text “text 1 in static field site:flashnseo.com”.
Yes limitation for flash menu and button is there.
Explanation is really good. Thanks for this.
Thanks for the information. I thought that SE could read it. I am using Ajax for my banner. I hope its not a problem. Thanks
This is great post about the relation of ajax and SEO. Once you perfom good SEO with good amount of knowledge and right steps for SEO.
SEO for Ajax? Haha….the article should be retitled “SEO Should not use AJAX.”
Great post i have just started learning Ajax and this is one question i have been asking my self if this can be SEO friendly im glad to hear that the two can work together makes my learning worth while.
Ajax is flippin awesome and can totlally be designed to easily work for and with SEO… it just takes a lil' knowledge of DOM Manipulation. Also from my understand i believe Flash is index able like a pdf is. The ONLY reason why AJAX would ever get a bad rep is from noob designers/developers using it to design an ENTIRE website. Kinda like when people first learn flash and they go insane creating 100% flash sites… (unless is a movie site or some kinda entertainment thing like that 100% flash/ajax is just silly)
Ajax is flippin awesome and can totlally be designed to easily work for and with SEO… it just takes a lil' knowledge of DOM Manipulation. Also from my understand i believe Flash is index able like a pdf is. The ONLY reason why AJAX would ever get a bad rep is from noob designers/developers using it to design an ENTIRE website. Kinda like when people first learn flash and they go insane creating 100% flash sites… (unless is a movie site or some kinda entertainment thing like that 100% flash/ajax is just silly)
Bad advise don't make people afraid of such a powerful tool… just use it correctly
AJAX is a huge speed increase. And it’s obviously a smart way to load content. Stay away as much as you want… more work for me!
It’s easy to have a fallback for AJAX sites, but you need to plan beforehand.
First of All,
Thanks Maria Nikishyna for this wonderful blog. :)
AJAX is a powerful tool, “With Great power, Comes Great Responsibility.”
Don’t go for the blind rush for Google ranking. U will end up with less user friendly and unsecured service.
My suggestion would be to use it provide better experience to user , as said by Maria Nikishyna.
i am using it on my recharge portal where i do not want my user to feel “this site is refreshing a lot and seems its heavy with codding”.
So go ahead with AJAX.