If you use ajax URLs like example.com/#!explore - and you happen to have another URL that shows the same content, for example example.com/#!explore/world - how can you tell a service engine that both URLs show the same content?

Of course, one could redirect one URL to the other, but this would only be possible through JavaScript and therefore be slow - and probably confusing for crawlers...

Can you use canonical tags (with or without the hash tag)?

  • Hash bang crawling from #! URLs has been deprecated. Google isn't going to support that anymore. You should just remove the ! from your URLs at this point. – Stephen Ostermiller Nov 20 '17 at 16:18
  • I know that this ajax hash URL suggestion is deprecated, nevertheless does Google still have our old URLs indexed, e.g. lookr.com/#!explore/russia - so if we switch to URLs without the "!", we need to somehow redirect them, or mark them as duplicate. How do we do that properly? – Simon Ferndriger Nov 22 '17 at 8:43
  • 1
    That is a good question. Hopefully, somebody has done this before, but if you end up experimenting, you can answer your own question here afterwards. I'm not sure which of these would actually work for Google (possibly any of them): 1. 301 redirect the _escaped_fragment URL. 2. Change the hash using JavaScript. 3. Insert dynamic canonical tags using JavaScript. – Stephen Ostermiller Nov 22 '17 at 11:25
  • Thank you. These are actually good suggestions. But since there are many other ajax websites around, I really would like to have an official recommendation from Google how to deal with it - to be on the safe side... – Simon Ferndriger Nov 23 '17 at 15:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.