hashbang

From IndieWeb


A hashbang (or hash-bang fragment) is the character sequence #! inside a URL, typically at the start of the path, including in post permalinks (like Twitter did 2010-2012), and is an antipattern you should never use as part of your personal site URL design.

Criticism

Fragile

Links into a site that start with a hashbang (or any similar single-page application "routing" string like /#/) depend on there always being Javascript at the root of the site that can parse and recognize the link, and either display what it's supposed to show, or redirect to an actual permalink.

Thus as soon as the home page of a site changes, e.g. drops such scripted "routing", all hashbang URLs break and only show the home page.

Or if the Javascript on a home page fails to load, then hashbang links on a page will break (will not do anything when clicked):

"what happens on a slow network when users click an AJAX #!-link before the JS loads? nothing. slow net is like JS-off."

Examples:

Destructive to the web

…it most definitely _is_ about the hashbangs. This technique, on its own, is destructive to the web. The implementation is inappropriate, even as a temporary measure or as a downgrade experience.

In General

See criticism noted on Wikipedia:

Consider extracting these into specific criticisms above or into new specific criticism subsections:

Abandonment

See Also