Summary: yes, Google indexes onclick links.
The conditions are that the information to resolve the onclick to a URL has to be available in the HTML page; not in a linked JavaScript file. The way it resolves should be simple-ish too.
What Is An OnClick Link?
To figure out what to do when there are certain events, certain moments, browsers watch for. When you hold your mouse over something (onmouseover), when a webpage has fully loaded (onload), or when you click on something (onclick), to name a few.
A browser knows pretty darn well what to do with those events but if we want, we can use those moments, those events, to start a piece of JavaScript code; that code can than do pretty much anything we like.
The OnClick event is triggered when you hold your mouse over an element on a webpage, and click (mouse button down, mouse button up).
The OnClick event can be attached to any HTML tag. Here's an example:
- <div onclick="alert('hey, this works!!')">content</div>
Using the OnClick moment to do something with JavaScript, we can use JavaScript functions to send the browser to another URL. Like so:
- <div OnClick="location.href='https://example.com'">content</div>
OnClick links are often used attached to a regular link where together with some other code they can open the link in a new window or send information to an analysis script to count downloads, for example.
- <a href="#" OnClick="location.href='https://example.com'">
Does Google Index And Count OnClick Links?
Yes.
Since 2009 Google looks for and finds OnClick links in any and all HTML tags. When found they will add the URL to their crawl.
If there is sensible "anchor" text then the text of the element will be used as anchor text.
The OnClick link also passes PageRank.
But Beware!
Google is the only one doing this so far.
Also, Google will only try to find the URL:
- If the information is in the same HTML document
- And if the functions to figure out what the OnClick leads to aren't too complex
Often finding yourself in a situation where you have to use an OnClick in an HTML document (as opposed to dynamically attached to it) may be the sign of programming gone wrong.
Conclusion
- Google treats OnClick links pretty much like regular links:
- They find them
- They index them
- And they pass PageRank and anchor text
- For that to happen the OnClick event and all information needed to find out what URL it would lead to have to be available in the page
- Having to use OnClick in an HTML document as opposed to attached to it may be a sign of a quick and dirty workaround
- Having to use OnClick in an HTML document can Lead to usability issues
If you liked this you might enjoy Can I Have Numerical ID's In My URL Or None At All?
Hello Ruud, please let me know what you mean with this “And if the functions to figure out what the OnClick leads to aren’t too complex”