What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 5 questions

Less than a minute. Find out how much you really know about Google search.

🕒 ~1 min 🎯 5 questions

Official statement

A link is defined as an HTML <a> tag with an href attribute. Images themselves are not considered links unless they are embedded within an <a> element. Nofollow tags only apply to real links.
13:39
🎥 Source video

Extracted from a Google Search Central video

⏱ 1h00 💬 EN 📅 27/07/2018 ✂ 33 statements
Watch on YouTube (13:39) →
Other statements from this video 32
  1. 0:36 How can you uncover hidden SEO problems in a domain using Google Search Console?
  2. 1:48 Can you really detect the hidden algorithmic penalties of an expired domain?
  3. 3:50 How should you handle duplicate content when managing multiple distinct entities?
  4. 4:25 Should you duplicate your content for every local establishment or consolidate it on a single page?
  5. 6:18 How can massive DMCA removals destroy the ranking of an entire website?
  6. 6:18 Can mass DMCA takedowns really harm a site's ranking?
  7. 7:18 Should you favor a subdomain or a subdirectory for hosting your AMP pages?
  8. 7:22 Where is the best place to host your AMP pages: subdomain, subdirectory, or parameter?
  9. 8:25 Does the canonical tag really work if the pages are different?
  10. 8:35 Should you really remove rel=canonical from your paginated pages?
  11. 10:04 Can scraping really devastate the SEO of a low-authority site?
  12. 11:23 Does the server's IP address still influence local search rankings?
  13. 11:45 Does your server's IP address still impact your local SEO?
  14. 13:39 Can a link without an <a> tag pass on PageRank?
  15. 15:11 How does Google really index your AMP pages when there's a noindex?
  16. 15:13 Does a noindex tag on an HTML page really prevent the indexing of its associated AMP version?
  17. 18:21 How long does it take to recover after a complete manual action?
  18. 18:25 How long does it take to recover from a Google manual action?
  19. 21:59 Should you include keywords in your domain name to rank better?
  20. 22:43 Should you really index your robots.txt file in Google?
  21. 24:08 Why does Google Cache display your page differently from the actual rendering?
  22. 25:29 DMCA or disavow: Why does Google prefer one over the other to handle duplicate content and toxic backlinks?
  23. 28:19 Does crawl rate really impact rankings on Google?
  24. 28:19 Is your server holding back Google’s crawl more than you realize?
  25. 31:00 Are social signals really useless for Google ranking?
  26. 31:25 Do social profiles really improve Google rankings?
  27. 32:03 Do multiple social profiles really boost your SEO?
  28. 33:00 Are link directories truly overlooked by Google?
  29. 33:25 Are directory links really ignored by Google?
  30. 36:14 Should you enable HSTS immediately when migrating a domain to HTTPS?
  31. 42:35 Why do review stars take so long to show up on Google?
  32. 52:00 Does stock level really influence the ranking of your product listings?
📅
Official statement from (7 years ago)
TL;DR

Google strictly defines a link as an HTML <a> tag with an href attribute. An image alone, even if clickable via JavaScript or CSS, does not count as a link for the search engine. The nofollow or sponsored attributes only apply to real links, meaning any alternative navigation structure risks being ignored for crawling and PageRank transfer.

What you need to understand

Why does Google limit its definition of a link to the tag?

The answer lies in the historical architecture of the web and crawling technical constraints. Google built its engine on the analysis of traditional HTML link graphs, those that have existed since the 1990s. The tag with its href attribute forms the universal standard for declaring a relationship between two pages.

Modern alternatives like clickable buttons in JavaScript, interactive CSS areas, or event listeners do not generate a signal that can be utilized by Googlebot during the initial crawl. The bot follows links declared in the DOM at the time of HTML parsing, even before the full execution of JavaScript. Therefore, an image or a div made clickable by a script remains invisible.

What does this definition imply for clickable images?

An image can serve as a clickable area for a user without ever communicating that information to Google. If you use an onclick event on an tag to trigger navigation, Googlebot will detect no link. The engine will see only a static image without a declared destination.

For an image to become a link in Google's eyes, it must be nested within an tag. The correct structure looks like this: . Without this encapsulation, you lose the navigation signal, the PageRank transfer, and the bot's ability to discover the target page.

Do nofollow attributes work differently depending on the context?

No, and that's precisely what Mueller clarifies here. The rel="nofollow", rel="sponsored" or rel="ugc" attributes only apply to valid tags. You cannot apply nofollow to an image, a button, or a

element and expect Google to take it into account.

This restriction avoids ambiguities. If an image without an tag is not a link, then it cannot be followed or nofollowed. The very concept of nofollow presupposes the existence of a link in the technical sense. Any attempt to bypass this rule with JavaScript or custom attributes fails from a crawling perspective.

  • A valid link for Google requires an tag with an href attribute.
  • Images alone, even interactive via JavaScript, do not transmit any link signal to the engine.
  • Nofollow, sponsored, and ugc attributes only apply to tags, not to elements made clickable by script.
  • Crawling relies on the initial DOM before complete JavaScript execution, which excludes dynamically declared navigations in HTML.
  • For an image to be a link, it must be encapsulated in an tag with a valid href.

SEO Expert opinion

Does this rule match the field observations of SEO practitioners?

Absolutely. Technical audits regularly show that pure JavaScript navigations create blind spots for Googlebot. Single-page application sites that generate their links via frameworks without tags encounter recurring indexing issues. Google has improved its JavaScript rendering, but initial discovery remains conditioned by HTML links.

I have seen sites lose dozens of orphaned pages because their menus used clickable divs with event listeners instead of traditional links. Googlebot would visit the homepage, detect no links to internal sections, and leave. Search Console would report a successful crawl, but no child pages were discovered. The issue disappeared immediately after migrating to tags.

Are there cases where this strict definition poses a problem?

Yes, particularly with modern interfaces that prioritize user experience over SEO compatibility. Progressive web applications, animated hamburger menus, or interactive image galleries often rely on heavy JavaScript. If the developer does not account for a fallback HTML layer, the site becomes partially invisible.

React, Vue, or Angular frameworks sometimes generate structures where links are created dynamically on click, without a prior href. Google can index these pages if they are discovered through another path (sitemap, external link), but internal linking does not function. Internal PageRank does not flow correctly, and some sections remain under-explored.

Can this rule be bypassed with prerendering or SSR?

Server-side rendering or HTML prerendering does effectively solve the problem, but only if the final HTML contains tags. If your SSR generates clickable divs with event handlers, you have not resolved anything. The goal is to serve Googlebot a DOM containing valid links on the first parsing.

Solutions like Next.js or Nuxt.js facilitate this approach by automatically generating tags for navigation components. But I have audited poorly configured SSR sites where server rendering did not generate href, only data-route attributes utilized client-side. Google was not following anything. [To be verified] consistently after migration to a modern framework: the source HTML must contain exploitable links without JavaScript.

Practical impact and recommendations

How can you check if your images and buttons generate valid links?

The first step is to inspect the raw source HTML, the one that Googlebot sees before JavaScript execution. Right-click > View Page Source, then search for tags. If your navigation elements do not appear as in this code, they are invisible for the initial crawl.

Next, use the URL inspection tool in Google Search Console to test the rendering. The “HTML” section shows you exactly what Googlebot has parsed. Compare it with the “live” version to identify discrepancies. If links appear only after JavaScript rendering, you have a discoverability problem.

What technical errors must absolutely be corrected?

Navigation menus built with div onclick or without an tag represent the most frequent error. They work for the user but break the internal linking structure. Systematically replace these structures with traditional links, even if it means styling them to look like buttons.

Image galleries that use JavaScript lightboxes or modals pose the same problem. If the image is not wrapped in an , Google does not follow the destination. Add a layer of HTML with links to product pages or high-resolution versions, even if the user interface hides these links for an enhanced experience.

In what contexts does the nofollow attribute remain relevant?

The nofollow attribute retains its usefulness for managing internal PageRank sculpting and signaling unreliable external links. On an e-commerce site, you might choose to nofollow links to sorting filters or login pages to concentrate the crawl budget on categories and product sheets. But this directive only works if the targeted elements are real links .

For user-generated links (comments, forums), rel="ugc" offers a more precise alternative. For commercial partnerships, rel="sponsored" clearly indicates the nature of the relationship. These attributes protect your site from penalties related to link schemes, but let’s remember: they only apply to tags with href.

  • Audit the raw source HTML to identify undeclared navigations in
  • Migrate JavaScript menus and buttons to traditional links with CSS styling
  • Encapsulate all clickable images in tags to transmit PageRank
  • Check Googlebot's rendering via Search Console after each technical overhaul
  • Apply nofollow, sponsored, or ugc only on valid tags
  • Test discoverability of orphaned pages with a Screaming Frog or Sitebulb crawl
The rule stated by Mueller seems simple, but its application reveals deep architectural flaws in many modern sites. Migrating to JavaScript frameworks or optimizing user experience should never compromise the underlying HTML structure. If you find your site suffers from indexing or discoverability issues despite rich content, a thorough technical audit is necessary. These optimizations touch the very architecture of the site and may require cross-disciplinary skills in development and SEO. For personalized support that reconciles user experience and organic performance, working with a specialized SEO agency helps avoid costly mistakes and achieve measurable results quickly.

❓ Frequently Asked Questions

Une image avec un attribut onclick peut-elle être considérée comme un lien par Google ?
Non. Google définit un lien strictement comme une balise <a> avec un attribut href. Une image rendue cliquable via JavaScript ne transmet aucun signal de lien au moteur et ne permet pas la découverte de la page cible.
Faut-il ajouter rel="nofollow" sur une image cliquable sans balise <a> ?
Non, cela n'a aucun effet. Les attributs nofollow, sponsored et ugc ne s'appliquent qu'aux balises <a>. Si l'élément n'est pas un lien au sens HTML, l'attribut est ignoré.
Le server-side rendering garantit-il que mes liens soient crawlables ?
Pas automatiquement. Le SSR doit générer des balises <a> avec href dans le HTML initial. Si le rendu serveur produit uniquement des divs ou des boutons avec événements JavaScript, Googlebot ne détectera aucun lien.
Comment savoir si mes images transmettent du PageRank ?
Inspectez le HTML source brut de la page. Si l'image n'est pas encapsulée dans une balise <a href="...">, elle ne transmet aucun PageRank. Utilisez également l'outil d'inspection d'URL de Search Console pour vérifier le DOM parsé par Googlebot.
Les frameworks modernes comme React posent-ils un problème pour le maillage interne ?
Ils peuvent poser problème si les liens sont générés uniquement côté client sans balises <a> dans le HTML initial. Utilisez des solutions comme Next.js ou Gatsby qui génèrent des liens HTML valides lors du rendu serveur ou du build statique.
🏷 Related Topics
Domain Age & History AI & SEO Images & Videos Links & Backlinks

🎥 From the same video 32

Other SEO insights extracted from this same Google Search Central video · duration 1h00 · published on 27/07/2018

🎥 Watch the full video on YouTube →

Related statements

💬 Comments (0)

Be the first to comment.

2000 characters remaining
🔔

Get real-time analysis of the latest Google SEO declarations

Be the first to know every time a new official Google statement drops — with full expert analysis.

No spam. Unsubscribe in one click.