In one way or another, if you’re a pro webmaster (like jmexclusives), we bet you’ve already seen Hashtag in URL Parameter at the end of site links. But, have you ever even bothered to ask what they represent? Or how do they work? Well, lucky you! Today, this weblog is specifically for you as a webmaster.
As a matter of fact, when helping some of our web SEO clients, especially, optimize their websites, we’re often asked about why there are Hashtags symbols in URL Parameters too. As well as whether they have any effects on web search results performance. Of course, you too may ask similar questions.
Like; are these #Hashtag rules in URL Parameter ignored by a search engine like Google or not? And, if not, how should they be used? Well, the answer to this lies somewhere in between. For one thing, it all depends on a variety of web SEO Audit factors.
The Main URI Parameter Syntax Elements
Forthwith, it’s important to realize, that a complete URI consists of a naming scheme specifier followed by a string whose format is a function of the naming scheme. For locators of information on the Internet, a common syntax is used for the IP address part.
A BNF description of the URL syntax is given in a later section. The components are as follows. Fragment identifiers and relative URIs are not involved in the basic URL definition. Within the URI of an object, the first element is the name of the Scheme, separated from the rest of the object by a colon.
The rest of the URI follows the colon in a format depending on the scheme. The path is interpreted in a manner dependent on the protocol being used. However, when it contains slashes, these must imply a hierarchical structure.
What Are Reserved Characters?
This section describes the syntax for URIs as used in the World Wide Web Initiative. The generic syntax provides a framework for new schemes for names to be resolved using as-yet-undefined protocols.
The path in the URI has a significance defined by the particular scheme. Typically, it’s used to encode a name in a given namespace, or an algorithm for accessing an object. In either case, the encoding may use those characters allowed by the BNF syntax.
At times, it may also use the hexadecimal encoding of other characters. Some of the reserved characters have special uses as defined here.
1. The percent sign
The percent sign (“%”, ASCII 25 hex) is used as the escape character in the encoding scheme and is never allowed for anything else.
2. Hierarchical forms
The slash (“/”, ASCII 2F hex) character is reserved for the delimiting of substrings whose relationship is hierarchical. This enables partial forms of the URI. Substrings consisting of single or double dots (“.” or “..”) are similarly reserved.
The significance of the slash between the two segments is that the segment of the path to the left is more significant than the segment of the path to the right. (“Significance” in this case refers solely to closeness to the root of the hierarchical structure and makes no value judgment!)
Note: The similarity to UNIX and other disk operating system filename conventions should be taken as purely coincidental. And should not be taken to indicate that URIs should be interpreted as file names.
3. The Hash for Fragment Identifiers
The hash (“#”, ASCII 23 hex) character is reserved as a delimiter to separate the URI of an object from a fragment identifier.
4. Query strings
The question mark (“?”, ASCII 3F hex) is used to delimit the boundary between the URI of a queryable object, and a set of words used to express a query on that object. When this form is used, the combined URI stands for the object which results from the query being applied to the original object.
Within the query string, the plus sign is reserved as a shorthand notation for space. Therefore, real plus signs must be encoded. This method was used to make query URIs easier to pass in systems that did not allow spaces.
The query string represents some operation applied to the object, but this specification gives no common syntax or semantics for it. In practice, the syntax and semantics may depend on the scheme and may even be on the base URI.
5. Asterisk & Exclamation Marks
The asterisk (“*”, ASCII 2A hex) and exclamation mark (“!”, ASCII 21 hex) are reserved for use as having special significance within specific schemes. But, wait a moment, what are unsafe characters?
In canonical form, certain characters such as spaces, control characters, some characters whose ASCII code is used differently in different national character variant 7-bit sets, and all 8bit characters beyond DEL (7F hex) of the ISO Latin-1 set, shall not be used unencoded.
This is a recommendation for trouble-free interchange, and as indicated below, the encoded set may be extended or reduced.
How To Encode Reserved Characters
When a system uses a local addressing scheme, it is useful to provide a mapping from local addresses into URIs. So that references to objects within the addressing scheme may be referred to globally. And then possibly accessed through gateway servers.
For a new naming scheme, any mapping scheme may be defined. Provided it is unambiguous, reversible, and provides valid URIs. It is recommended that where hierarchical aspects to the local naming scheme exist, they be mapped onto the hierarchical URL path syntax.
In order to allow the partial form to be used. It’s also recommended that the conventional scheme below be used in all cases. Except for any scheme which encodes binary data. As opposed to text, in which case a more compact encoding such as pure hexadecimal or base 64 might be more appropriate.
For example, the conventional URI encoding method is used for mapping WAIS, FTP, Prospero, and Gopher addresses in the URI specification.
Conventional URI encoding scheme
Where the local naming scheme uses ASCII characters — that are not allowed in the URI, these may be represented in the URL by a percent sign “%.” And then immediately followed by two hexadecimal digits (0-9, A-F). While at the same time, giving the ISO Latin 1 code for that character.
Character codes other than those allowed by the syntax shall not be used unencoded in a URI.
Reduced or increased safe character sets
The same encoding method may be used for encoding characters whose use, although technically allowed in a URI, would be unwise. Due to problems of corruption by imperfect gateways or misrepresentation.
Or even due to the use of variant character sets, which would simply be awkward in a given environment. Because a % sign always indicates an encoded character, a URI may be made “safer” too. Simply by encoding any characters considered unsafe. While leaving already encoded characters still encoded.
Similarly, in cases where a larger set of characters is acceptable, % signs can be selectively and reversibly expanded. Before two URIs can be compared, it is, therefore, necessary to bring them to the same encoding level.
However, the reserved characters mentioned above have quite different significance when encoded. And so may NEVER be encoded and unencoded in this way. The percent sign intended as such must always be encoded. Why?
Since its presence otherwise always indicates an encoding. Sequences that start with a percent sign but are not followed by two hexadecimal characters are reserved for future extension.
What Does Hashtag In URL Parameter Really Mean?
A Hashtag in URL Parameter or hash sign (#) in a URL is referred to as a fragment. Similarly, in a URL, a hash mark, number sign, or pound sign ( # ) points a browser to a specific spot on a page or website. It is used to separate the URI of an object from a fragment identifier.
But, this does not mean that when you use a URL with a #, it will always go to the correct part of the page or website. Sometimes Internet Explorer has problems with the #
in URLs when tracking clicks on them.
So, if you use %c
to track clicks on URLs that include a #
sign, Internet Explorer might not display the #
and the fragment identifier in the URL. For example, if the following is clicked:
%chttp://www.click-through-url.com/#section2
On the other hand, IE or Safari shows the destination as:
Depending on the site, the content might not be displayed correctly because the #
and fragment identifiers are missing.
A good example is the following URL link address from Google. Here it is https://support.google.com/richmedia/answer/190941?hl=en#.
How A Hashtag In URL Parameter Works
Historically, URL fragments have been used to automatically set the browser’s scroll position to a predefined location on the web page. In that sense, if a URL refers to a document, then the fragment refers to a specific subsection of that document.
As we said, any information that appears after the first hash symbol (#) in a URL is referred to as the fragment identifier — sometimes also called an anchor tag. By default, the fragment identifier is interpreted only by the local web browser. And is typically not passed to the remote web server.
For example, the following two links would both be considered requests for the same document by the webserver:
- company.com/fruits.html#apple
- company.com/fruits.html#orange
As you can see, the fragment identifiers in the example URLs above signify two different locations on the same page. Therefore, search engines like Google will consider them both to refer to a single search result. Like this: www.company.com/fruits.html.
Related Topic: How To Earn Links Organically | SEOs Link-building Tactics
For this reason, it’s important not to use fragments as a way to represent what should instead be different pages. In short, if you want Google to crawl two different pages and index them separately, you’re better off simply using two distinct URLs without fragments.
However, in modern implementations, fragments are often used in a different way – to add dynamic functionality to websites and web applications. In this approach, a series of related requests are all processed by the same URL.
So, in order to return different variations of the content, parameters are passed via URL fragments. Javascript is then used to interpret the fragment and update only portions of the page that need to change. Without the need for a full page refresh. This is typical of AJAX-style applications.
AJAX has gotten more and more popular over the years. As a result, this has allowed web applications to act more and more like desktop applications. It can provide a lot of additional functionality that could not be accomplished any other way. Learn more about How AJAX Works in detail.
How To Use Hash Mark In A Click-through Strategy
There are several ways to use a hash mark or pound sign (#
) in a click-through URL. But, while the Google ad server doesn’t remove the # and fragment identifier, some browsers don’t pass that information. Especially, when you use a click tracker (or %c
) to track clicks.
And as a result, the #
and fragment identifiers are missing. However, this problem only occurs with Iframe tags, JavaScript tags, and static click tracker tags. And not with standard tags or dynamic click tracker tags.
The following are suggested workarounds for including a # in the click-through URL. Keep in mind, that you should receive a warning if the # character is used in the click-through URL field. But the suggestions below are for the successful use of the #
in a click-through URL.
Workaround 1:
To insert any Hashtag in URL Parameter, you can create a vanity URL that redirects to the click-through URL. For example, the URL that http://goo.gl accepts. And then it provides a short URL to be used as the click-through URL.
Workaround 2:
Fully escape the string explicitly, where # = %23. This may be different from what the JavaScriptencode()
call does. For example:
http%3A%2F%2Fwww%2Eclickthroughurl%2Ecom%2F%23section2
Unfortunately, depending on the site, the escaped URL might not work correctly.
All in all, if exit URLs are pulled using XML files or are embedded directly in the creative code, revise the exits in the XML file first. Or even code them to avoid using the # character. You can also adjust them using one of the workarounds listed above.
Takeaway Thoughts:
So, the question is, how does Google index distinct content within AJAX-style pages? After all, we just said that Google will not consider the fragments in the URLs. The answer is Google has provided a syntax for working around this problem.
It’s known as the “hashbang” syntax. By putting an exclamation point immediately after the hash sign, you’re telling Google that the fragments are not used for traditional scroll positioning but instead for loading separate content variations that should be crawled.
Learn More: How to Allow Google to Crawl your AJAX Content – Moz
With that approach, our example URLs with fragments could indeed be crawled and seen by Google. Our example URLs might then look like this:
- www.example.com/fruits.html#!apple
- www.example.com/fruits.html#!orange
Remember, if you’re not using this special syntax, analytics reporting systems like Google Analytics may not be configured to track clicks on fragment links on your site. To ensure tracking works, you can structure your content with distinct URLs. You can also try to configure your Google Analytics code to also track fragment clicks.
That’s all you need to know about what a Hashtag in URL Parameter means. We hope that this guide is of great resource to you. But, if you’ll need more support, you can Contact Us and let us know how we can help you. Finally, you also share your additional opinions, thoughts, and questions in our comments section below.
Get Free Updates
Notice: All content on this website including text, graphics, images, and other material is intended for general information only. Thus, this content does not apply to any specific context or condition. It is not a substitute for any licensed professional work. Be that as it may, please feel free to collaborate with us through blog posting or link placement partnership to showcase brand, business, or product.
I like the efforts you have put in this, regards for all the great posts.
Thanks for your thumbs up and support.