Hashbang URLs are an ingenious way to make AJAX applications crawlable, proof that at least someone (and perhaps more than one person) in Google is clever, after all. The hashbang syntax is very concise, just a number sign (a hash, #) and an exclamation point (a bang, !), yet it provides a brilliant and sufficient notation that can help the web site and the crawler ‘communicate’ on how to index AJAX applications.
Of course, the web site designer has to respect the hashbang rules as set out by Google and design the web site with “hash fragments”, “escaped fragments”, “pretty URLs”, “ugly URLs” and “HTML snapshots” in mind.
Despite the benefits hashbang URLs brought with them, many analysts despised them. Some did not like the way they look, some the way they worked and some the problems that could arise by their improper implementation. Indeed, I will have to agree that improperly implemented, hashbangs can do a lot more harm than good. The web site designer has to decide whether hashbang URLs will be beneficial to the site or not. The post “Breaking the Web with hash-bangs” provides insightful information and advice that web designers should be aware of.
To be fair, hashbang URLs are a successful attempt to make AJAX applications crawlable. But, apart from the fact that hashbang URLs can be dangerous sometimes, they also carry heavy ‘implementation baggage’, because web sites have to provide “ugly URLs” and “HTML snapshots”. Thus, additional work has to be made for the web site design that is not needed for the browsing experience itself.
Bottom line: With HTML 5, the web applications can still use “back and forth” functionality as far as browser history is concerned, and, at the same time, avoid HTTP requests, while also avoiding the use of the hash symbol in the URLs, thus maintaining “clean” URLs for users and crawlers alike. And “clean” URLs, URLs without the hash symbol, are crawlable URLs.
So, are hashbangs dead yet? Well, if your site uses HTML 5, you can certainly do without them and you will be better off. But not all sites use HTML 5 or only HTML 5, so hashbangs may still be needed. Oh, well… I will keep the title of this post anyway. Let us call it “wishful thinking”.