Webmasters Stack Exchange is a question and answer site for pro webmasters. Join them; it only takes a minute:

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

Is there any reason, possibly SEO related, to using the shebang (aka "hashbang") in rewritten URLs on a dynamic site, but one that does not use AJAX?

share|improve this question
up vote 2 down vote accepted

It depends a bit on what you mean with "dynamic page generation."

If you are dynamically generating your pages on the server side (eg. a PHP script) and sending them to all users that way, then you wouldn't need to additionally add the #! to the URLs, since the content doesn't get compiled by the client (it's already sent that way by the server).

If you are dynamically generating your pages on the client side (using JavaScript, Flash, Silverlight, etc), and you're able to serve a copy generated on the server side, then using the AJAX-crawling techniques might make sense. If you're not able to generate a copy of the pages on the server side (and not planning on adding that functionality), then there would be no advantage by using #! in your URLs (compared to just using # ).

share|improve this answer

Yes, but only provided that the content you display is not part of the HTML source returned.

If, for example, you had 3 divs representing tabs and you show/hide them on clicking a tab, then you should not use #! because the content is already in the HTML. You wouldn't be able to return a different page on the "escaped fragment" URL.

If you are generating HTML on-the-fly, then you could use the #! to bring the user back to the exact state they were at.

share|improve this answer

If I got you right, you are not generating server-side content. Well, the hashbang is intended to be used local.

It has nothing to do with server. I mean, hashbang and beyond in URL isn't sent to server by browser. It is used by browser to be resolved locally.

Its first know use, AFAIK, was with named anchors. But with javascript, you can use them to display page with an enhanced layout, without hurting accessibility, like in a tabbed menu or a few-steps process index for example.

share|improve this answer
Actually, my content for the purpose of this question is generated server side and not at all client side. Your example citing named anchors helped cement the purpose of it to me. – Chris Adragna Dec 23 '10 at 18:16

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.