Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We used to have all links in a normal way (thus with parameters?), we changed to AJAX loading cause we installed a music player. Here's an example:

  • Old link: http://stereofox.com/post.php?idPost=5326
  • New link: http://stereofox.com/post.php#!idPost=5326

The snapshot you can get it by adding _escaped_fragment_= after the ?.

All of these have the same content, and this image says what has happend to the site since we changed the linking system.

share|improve this question

Even though "hashbangs" (#!) are still supported, Google suggests steering away from using them and just use the History API to change the URL. Libraries like History.js make it easy to do so.

This basically removes your problem altogether, there's no need to set up urls with _escaped_fragment_ when using the History API

share|improve this answer

According do Google's Guide: http://stereofox.com/post.php#!idPost=5326 would get crawled at http://stereofox.com/post.php?_escaped_fragment_=idPost=5326. Your server would have to respond to that URL the same way that it used to respond to http://stereofox.com/post.php?idPost=5326.

You should then also 301 redirect http://stereofox.com/post.php?idPost=5326 to http://stereofox.com/post.php#!idPost=5326

share|improve this answer

Read this to solve your issue:


share|improve this answer
When answering, please provide more than a link. For example, please quote relevant parts of the linked document or explain the answer in your own words. – Stephen Ostermiller Nov 26 '13 at 10:57

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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