SEO

SEO for AJAX

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*:

clip image001 0017 SEO for 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.

 SEO for AJAX

Maria Nikishyna

Maria Nikishyna 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.
 SEO for AJAX

Latest posts by Maria Nikishyna (see all)

You Might Also Like

Comments are closed.

18 thoughts on “SEO for AJAX

  1. “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.

  2. 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

  3. 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.

  4. 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.

  5. 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)

  6. 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)

  7. Bad advise don't make people afraid of such a powerful tool… just use it correctly

  8. 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.

  9. 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.

  10. What if you have a 1 page site, and for example have your sections like: home-about-services-contact, and you build your mydomian.com page with your regular homepage content and if the user click on services for example the URLwill be mydomian.com/#services and the home page content will go away and the new services content will be displayed on the container, but we also build a mydomian.com/services and set the services content as default so the crawlers are going to see just the services content, and we do the same for all our sections, but we make a regular menu using “/” instead of “#” just for SEO proposes and we apply to that menu a CSS so the menu can be out of the screen, so the user will not see the menu with the “/” just the crawler, this will be ok for the crawler?, it will be considered as “black hat”? or It will work OK?