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

HTML has a dedicated element for links: the A element. For an A element to be a proper link, it must have a URL in its href attribute. This can be either a relative or absolute URL — both are acceptable.
🎥 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. Does Google really treat internal links as a UX signal for Googlebot?
  2. Does Googlebot really discover your pages through internal links?
  3. Why does Google insist that links should remain real HTML links?
  4. Is meaningful anchor text still a decisive SEO lever in 2024?
  5. Is your internal linking strategy hurting your SEO more than it helps?
  6. How do you strike the right balance with internal linking without overdoing it?
  7. Why does Google keep emphasizing internal links as the backbone of site crawlability and content discovery?
📅
Official statement from (2 years ago)
TL;DR

Google requires the use of the HTML <a> element with a valid href attribute for a link to be recognized and followed by its robots. Relative or absolute URL, it doesn't matter — but without <a> and href, your link simply doesn't exist for Googlebot. A technical basics often overlooked in modern JavaScript-heavy sites.

What you need to understand

Why does Google insist on the element when other solutions exist?

Googlebot relies on HTML standards to identify links. The element with href is the only native and universal way to signal a link in the DOM. Modern JavaScript frameworks (React, Vue, Angular) sometimes create pseudo-links via onclick, clickable divs, or client-side routing — invisible to the crawler.

Martin Splitt's statement reinforces a fundamental truth: if you want Google to discover and index your pages, use real tags. No workarounds, no hacks. The search engine can interpret JavaScript, certainly, but it guarantees no reliable discovery if you break the basic HTML structure.

What's the difference between relative and absolute URLs in the href attribute?

Google accepts both syntaxes without preference. A relative URL (e.g., /example-page) is resolved by the browser and Googlebot based on the current domain. An absolute URL (e.g., https://example.com/example-page) is explicit.

In practice? Relative URLs simplify migration between environments (dev, staging, prod) and reduce HTML weight. Absolute URLs eliminate any risk of ambiguity — particularly in syndicated content or RSS feeds. As long as the href attribute contains an exploitable value, Google will follow the link.

What happens if a link doesn't have an href attribute?

Simple: Google ignores it. An without href is not a link in the HTML sense — it's an empty anchor, technically invalid. Browsers display no link behavior (no hover state, no right-click "Open in new tab"). Googlebot sees nothing to crawl.

Some developers use <a onclick="..."> without href to trigger JavaScript. Classic mistake: the link only exists on the client side, after execution. If the JS fails or delays, the link vanishes. Google may attempt to interpret it, but there's no guarantee — and more importantly, no PageRank transfer.

  • The element with href is the only valid link natively recognized by Googlebot
  • Relative or absolute URL: both work, choose based on your technical context
  • No href = no link for the crawler, even if the click works via JavaScript
  • Pseudo-links (div onclick, buttons without href) transmit neither discovery nor PageRank
  • Modern frameworks: verify that routing generates proper tags in the final HTML

SEO Expert opinion

Is this statement consistent with practices observed in the field?

Yes — and it's one of the rare points where Google hasn't budged in 20 years. No

Practical impact and recommendations

What specifically should you check on your site?

Inspect the raw HTML source (Ctrl+U in Chrome, not the inspector). Look for all your navigation links, categories, products. If you don't see <a href="..."> directly in the source, the link is generated by JavaScript — risk of non-discovery.

Test with the URL Inspection tool in Google Search Console. Look at the "Rendered HTML" section: are the links present? Compare with the HTML source. If significant discrepancy exists, your JavaScript is delaying or blocking discovery.

Which errors must you avoid absolutely?

Never use <div onclick="..."> or <button onclick="..."> to simulate a link. Even if you add CSS for hover effects, Google doesn't see this as a link. No PageRank transfer, no crawling, no indexing of target pages.

Avoid frameworks that only generate links after client-side hydration. If you use React, Next.js, Nuxt, or Gatsby, verify that SSR (Server-Side Rendering) or SSG (Static Site Generation) produces proper tags in the initial HTML. Pure CSR (Client-Side Rendering) is a nightmare for SEO.

Never rely on XML sitemaps as your sole discovery mechanism. A sitemap guides Googlebot, but doesn't replace internal linking. A page with no incoming HTML links remains fragile, even if listed in the sitemap.

How do you quickly audit your entire site?

Run a crawl with Screaming Frog or Oncrawl with "JavaScript Rendering" disabled. Compare the number of pages discovered with JavaScript rendering enabled. If the gap is massive (>20%), your architecture depends too heavily on JS for discovery.

Also check crawl depth: if your important pages are 5+ clicks away from the homepage via HTML links, that's a signal of failing internal linking. Googlebot prioritizes pages close to the root — and so does PageRank.

  • Inspect the HTML source (Ctrl+U) to verify the presence of native <a href> tags
  • Test the URL in Google Search Console, compare HTML source and rendered HTML
  • Eliminate all pseudo-links (divs, buttons) without href attribute
  • Verify that your framework generates valid tags from SSR/SSG, not after hydration
  • Crawl your site with and without JavaScript to measure the discovery gap
  • Control crawl depth: strategic pages should be ≤3 clicks from the homepage
  • Never rely solely on XML sitemaps for discovery
Google's directive is crystal clear: one link = one element with href. Everything else (JavaScript, onclick, client-side routing) is optional for users but invisible or random for the crawler. If your architecture heavily relies on JavaScript to generate links, a thorough technical audit is necessary. These optimizations — rendering refactoring, framework adjustments, internal linking restructuring — require specialized expertise and a deep understanding of crawl constraints. For accurate diagnosis and an action plan tailored to your technical stack, partnering with a specialized SEO agency can make the difference between a partially crawled site and an architecture fully exploited by Google.

❓ Frequently Asked Questions

Google suit-il les liens générés dynamiquement en JavaScript ?
Google peut interpréter certains liens JavaScript, mais sans garantie de timing ni de budget crawl. Un lien HTML natif (<a href>) est toujours prioritaire et fiable. Ne misez pas uniquement sur le JS pour la découverte.
Peut-on utiliser des URLs relatives dans l'attribut href sans risque SEO ?
Oui, Google résout les URLs relatives sans problème. Elles sont même recommandées pour simplifier la gestion entre environnements (dev/prod). Tant que l'URL est valide, relative ou absolue ne change rien au crawl.
Un lien <a> sans href transmet-il du PageRank ?
Non. Sans href, l'élément <a> n'est pas considéré comme un lien par Google. Aucune transmission de PageRank, aucune découverte. C'est une ancre vide, techniquement invalide en HTML.
Les frameworks modernes (React, Vue) génèrent-ils automatiquement des liens valides ?
Pas toujours. En mode CSR pur (Client-Side Rendering), les liens apparaissent après hydratation JavaScript — trop tard pour un crawl optimal. Privilégiez SSR ou SSG pour servir des <a href> dès le HTML initial.
Le sitemap XML compense-t-il l'absence de liens HTML internes ?
Non. Le sitemap guide la découverte, mais ne remplace pas le maillage interne. Une page sans liens HTML entrants reçoit peu ou pas de PageRank interne, même si elle figure dans le sitemap.
🏷 Related Topics
Links & Backlinks Domain Name Pagination & Structure

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