What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 3 questions

Less than 30 seconds. Find out how much you really know about Google search.

🕒 ~30s 🎯 3 questions 📚 SEO Google

Official statement

Some developers try to do clever things with other elements like spans, divs, or buttons. But fundamentally, if something behaves like a link, it should be a proper HTML link.
🎥 Source video

Extracted from a Google Search Central video

💬 EN 📅 23/07/2024 ✂ 8 statements
Watch on YouTube →
Other statements from this video 7
  1. Les liens internes sont-ils vraiment traités comme des signaux UX par Googlebot ?
  2. Googlebot découvre-t-il vraiment vos pages grâce aux liens internes ?
  3. Pourquoi l'élément HTML <a> avec attribut href est-il indispensable au crawl Google ?
  4. Le texte d'ancrage significatif est-il encore un levier SEO décisif ?
  5. Pourquoi trop de liens internes peuvent-ils nuire à votre SEO ?
  6. Comment trouver le bon équilibre dans la quantité de liens internes ?
  7. Pourquoi Google insiste-t-il encore sur l'importance des liens internes pour la navigation et la découverte de contenu ?
📅
Official statement from (1 year ago)
TL;DR

Google is asking developers to stop hacking fake links with spans, divs, or buttons. If something behaves like a link, use an <a> tag. Otherwise, Googlebot simply won't follow these elements, and you'll lose internal PageRank.

What you need to understand

Why do some developers avoid standard tags?

The reason is often purely aesthetic or technical. Modern JavaScript frameworks sometimes push developers to handle interactions via onClick events on non-standard elements. Designers sometimes want complete control over styling without fighting inherited CSS properties from links.

Other developers think they're gaining "modernity" by using styled buttons with JavaScript to trigger navigation. The problem? Googlebot won't execute your complex JS to understand that a clickable div leads somewhere.

What does Google consider an "appropriate link"?

An appropriate link is a <a href="..."> tag with a valid href attribute. Period. No onclick on a span, no disguised div link, no button with a sophisticated eventListener.

Googlebot crawls raw HTML. If your "link" requires JavaScript to work, you're risking that the bot won't follow it — or worse, it follows it poorly and wastes your crawl budget.

What are the real consequences of ignoring this advice?

First consequence: loss of discoverability. If Googlebot doesn't follow your fake links, target pages won't be crawled or will be crawled less frequently.

Second consequence: dilution of internal PageRank. Google doesn't transmit SEO juice through a span or div, even if it's clickable for the user. Your internal linking becomes invisible.

SEO Expert opinion

Is this statement really new or just a reminder?

Let's be honest: it's a basic reminder. Martin Splitt isn't discovering anything here — this is a rule known since the early days of the web. But the fact that Google still needs to repeat it in 2024 shows the problem persists, particularly with JS frameworks that encourage non-standard practices.

What's interesting is the tone used: "if something behaves like a link, it should be a link". Google is trying to simplify the message to reach developers who don't think SEO. And that's where the disconnect lies.

In what cases does this rule create practical problems?

There are legitimate edge cases. For example, a dropdown menu that loads dynamic content without changing the URL. Or a single-page application (SPA) where navigation is managed by the JavaScript router.

In these cases, using a classic <a href> can break the user experience. The solution? Implement hybrid navigation: a valid href for Googlebot, an eventListener to enhance UX. It's doable, but it requires work — and many developers take shortcuts.

[To verify]: Google claims Googlebot can follow certain advanced JavaScript links, but real-world testing shows this is inconsistent depending on code complexity and execution timing. Relying on this is a risky bet.

What nuances should be considered for e-commerce or SaaS sites?

On an e-commerce site, "Add to cart" buttons don't need to be links — they're actions, not navigation. No confusion there.

However, category filters or navigation menus must absolutely use <a href>. I've seen too many sites lose thousands of pages from the index because their faceted filters were managed only in JavaScript without HTML fallback.

Alert: If you're using React Router, Vue Router, or Next.js, verify that your Link components generate proper <a href> tags in the rendered HTML. Some setups produce styled divs or spans that break crawling.

Practical impact and recommendations

What should you audit first on an existing site?

First step: crawl your site with Screaming Frog or Oncrawl in "Googlebot" mode. Check if all your internal links appear properly in the crawl graph. If entire sections are missing, you probably have fake links.

Second step: inspect the HTML source (not the DOM after JS execution) on key pages. Look for onclick, data-href, divs with "link" or "btn-link" classes. If you find any, replace them with <a href>.

How do you migrate fake links to real ones without breaking UX?

Use the progressive enhancement technique. First create a classic HTML link. Then add JavaScript to enrich the behavior (animations, AJAX loading, etc.).

Concrete example: replace <div onclick="goTo('/page')"> with <a href="/page" class="enhanced-link">. Then add an eventListener that intercepts the click to handle advanced UX, but keeps the href intact for Googlebot.

What errors should you absolutely avoid during implementation?

Error #1: using href="#" or href="javascript:void(0)". These syntaxes render the link invalid for Googlebot. If you need to intercept behavior with JS, use preventDefault(), but keep a valid href.

Error #2: forgetting to test in no-JS mode. Disable JavaScript in Chrome DevTools and navigate your site. If certain links stop working, you have a problem.

  • Audit all navigation elements with a crawler configured as Googlebot
  • Replace all clickable spans, divs, and buttons with valid <a href> tags
  • Verify that JS frameworks (React, Vue, Next.js) generate proper <a> tags in the HTML
  • Test navigation in no-JavaScript mode to guarantee Googlebot accessibility
  • Implement progressive enhancement: valid href + optional JS for UX
  • Avoid href="#" or href="javascript:void(0)" which invalidates links for crawlers
  • Regularly monitor page discovery rate in Search Console
This Google directive is crystal clear: a link must be an <a href> tag, period. Yet compliance can be complex on modern architectures with JavaScript frameworks. If your site relies on React, Vue, or Next.js, technical auditing and routing refactoring require specialized expertise to avoid breaking user experience while optimizing crawlability. In such situations, engaging a JavaScript SEO-specialized agency secures the migration and quickly identifies friction points between development and organic search optimization.

❓ Frequently Asked Questions

Est-ce que Google suit les liens générés dynamiquement en JavaScript ?
Oui, mais de manière incohérente. Googlebot peut exécuter du JS, mais selon la complexité du code et le timing, certains liens peuvent être manqués. Mieux vaut toujours avoir un href HTML valide en fallback.
Un bouton peut-il remplacer un lien pour la navigation interne ?
Non. Un bouton sert à déclencher une action (submit, toggle, etc.), pas à naviguer. Si l'élément mène à une autre page, utilisez une balise <a>, même si vous la stylisez comme un bouton.
Comment vérifier que mes liens React ou Vue sont bien crawlables ?
Inspectez le HTML source (Ctrl+U) de vos pages, pas le DOM dans DevTools. Si vous voyez des <a href> valides, c'est bon. Sinon, configurez votre router pour qu'il génère de vrais liens HTML.
Les liens avec rel='nofollow' sont-ils concernés par cette règle ?
Oui, un lien nofollow doit quand même être une balise <a href>. Le nofollow indique juste à Google de ne pas transmettre de PageRank, mais le lien reste crawlable et découvrable.
Peut-on utiliser des divs cliquables pour des raisons d'accessibilité ?
Non, c'est même l'inverse. Les lecteurs d'écran et les outils d'accessibilité attendent des <a href> pour la navigation. Utiliser des divs cliquables dégrade l'accessibilité et le SEO en même temps.
🏷 Related Topics
AI & SEO JavaScript & Technical SEO Links & Backlinks

🎥 From the same video 7

Other SEO insights extracted from this same Google Search Central video · published on 23/07/2024

🎥 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.