I have a javascript heavy site (It really couldn't be coded in any sensible way with progressive enhancement) and I am using Google's advice for making AJAX websites crawlable. (i.e. use "?_escaped_fragment_ in place of '#!')

My question is this: How closely does my flat HTML need to match the AJAX created HTML for users?

I imagine Google must be checking some of the AJAX content, as otherwise this would be an easy way to do cloaking. I don't want to cloak in any way, but it is difficult to produce the exact HTML source that AJAX generates on the server-side? Would a rough approximation be good enough?

Anyone have any experience in doing this?


2 Answers 2


The contents should be equivalent. Optimally, you would want to render the page using a browser exactly like a user would see it. Practically, there will always be differences, as there are differences when rendering the same page in different browsers.

At any rate, there's no easy measure for "close enough" when it comes to comparing different web-pages, so it's not like someone could say "90%" is good enough :-). I would recommend making sure that all of the content is visible appropriately and that the (visible & semantic) structure of the page matches the page as it would be viewed by a user. You should aim to provide the same level as you would use to render Flash-content in HTML for AJAX-crawling.


I thought I'd answer my own question now that I have some experience of coding such a system. It seems that having a rough approximation is sufficient. The solution I have coded:

  • delivers very similar (but not identical) markup (by this I mean not all attributes are always populated)
  • about 80% of the same content appears (the crawled version is a strict subset of the user version)
  • The content, while the same, is ordered differently

Google now seems to have indexed over 2000 of my pages now, and we are seeing real (yet very small at this point in time) search traffic.

I have posted more details on my blog at http://blog.dansingerman.com if anyone is interested.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.