A proposal for making AJAX crawlable

It's been a while since we published this blog post. Some of the information may be outdated (for example, some images may be missing, and some links may not work anymore).

Wednesday, October 07, 2009

Today we're excited to propose a new standard for making AJAX-based websites crawlable. This will benefit webmasters and users by making content from rich and interactive AJAX-based websites universally accessible through search results on any search engine that chooses to take part. We believe that making this content available for crawling and indexing could significantly improve the web.

While AJAX-based websites are popular with users, search engines traditionally are not able to access any of the content on them. The last time we checked, almost 70% of the websites we know about use JavaScript in some form or another. Of course, most of that JavaScript is not AJAX, but the better that search engines could crawl and index AJAX, the more that developers could add richer features to their websites and still show up in search engines.

Some of the goals that we wanted to achieve with this proposal were:

  • Minimal changes are required as the website grows
  • Users and search engines see the same content (no cloaking)
  • Search engines can send users directly to the AJAX URL (not to a static copy)
  • Site owners have a way of verifying that their AJAX website is rendered correctly and thus that the crawler has access to all the content

Here's how search engines would crawl and index AJAX in our initial proposal:

diagram of an http request with ajax crawl setup

In summary, starting with a stateful URL such ashttps://example.com/dictionary.html#AJAX, it could be available to both crawlers and users ashttps://example.com/dictionary.html#!AJAX which could be crawled ashttps://example.com/dictionary.html?_escaped_fragment_=AJAX which in turn would be shown to users and accessed ashttps://example.com/dictionary.html#!AJAX

We used to have a presentation embedded in this article, but it's lost now (the internet ate our homework?).

View the presentation

We're currently working on a proposal and a prototype implementation. Feedback is very welcome—please add your comments below or in ourWebmaster Help Forum. Thank you for your interest in making the AJAX-based web accessible and useful through search engines!

Proposal by Katharina Probst, Bruce Johnson, Arup Mukherjee, Erik van der Poel and Li Xiao, Google Blog post byJohn Mueller, Webmaster Trends Analyst, Google Zürich

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.