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

Meta and link tags carrying metadata for search engines must mandatorily appear in the <head> section of HTML. If they appear in the <body>, they are ignored by Google's infrastructure. The HTML standard specifies that metadata can only appear within the <head> context.
🎥 Source video

Extracted from a Google Search Central video

💬 EN 📅 26/02/2026 ✂ 10 statements
Watch on YouTube →
Other statements from this video 9
  1. Pourquoi Google refuse-t-il les balises canonical placées dans le <body> ?
  2. Les balises hreflang dans le <body> sont-elles vraiment ignorées par Google ?
  3. Le code HTML valide W3C améliore-t-il vraiment le référencement ?
  4. Pourquoi modifier les canonicals en JavaScript crée-t-il des signaux contradictoires pour Google ?
  5. Faut-il optimiser les hints de préchargement pour Googlebot ?
  6. Le markup sémantique HTML5 est-il vraiment inutile pour le SEO ?
  7. La performance web améliore-t-elle vraiment votre référencement naturel ?
  8. Google parse-t-il vraiment le HTML comme un navigateur ?
  9. Pourquoi Googlebot ignore-t-il vos hints de préchargement des ressources ?
📅
Official statement from (2 months ago)
TL;DR

Google completely ignores meta and link tags carrying metadata if they are located in the <body> instead of the <head>. Only compliant placement according to HTML standard — within the <head> section — guarantees their consideration by Google's crawling and indexing infrastructure. This strict rule applies to all metadata tags intended for search engines: canonical, hreflang, robots, Open Graph, and more.

What you need to understand

Why does this specification about meta tag placement matter?

Gary Illyes reminds us of a basic rule of the HTML standard: metadata belongs in the <head>. Yet many sites — often through misconfigured CMS systems, late JavaScript injections, or third-party scripts — mistakenly place meta or link tags in the <body>.

Google's infrastructure tolerates no exceptions. A <link rel="canonical"> or <meta name="robots"> tag present in the page body will be completely ignored, even if it is technically valid in terms of syntax.

Which tags are affected by this rule?

All tags carrying metadata for search engines: canonical, hreflang, robots, description, Open Graph, Twitter Cards, and schema.org via JSON-LD (although the latter is tolerated in the body under certain conditions).

The statement does not detail the nuances — one can legitimately wonder if JSON-LD is an exception, since Google treats it differently. [To verify] the exact tolerance for structured scripts.

How does this error occur in practice?

Several classic scenarios: a CMS that injects tags after the <head> closes, poorly coded WordPress plugins, JavaScript scripts that manipulate the DOM and add tags after initial loading.

In all these cases, the final rendered HTML contains the tags in the wrong location, and Googlebot — which relies on rendered source code — ignores them without warning in Search Console.

  • Meta and link tags must imperatively appear in the <head>
  • Placement in the <body> = ignored by Google, regardless of their function
  • Frequent error with CMS, plugins, and JavaScript injections
  • No exceptions tolerated on Google's infrastructure side
  • The HTML standard is the sole reference

SEO Expert opinion

Is this statement consistent with observed field practices?

Absolutely. Technical audits regularly reveal canonical or hreflang tags present in the <body> due to templating errors or JavaScript injections. In these cases, Google treats the page as if these tags don't exist — with the expected consequences: duplicate content, language version conflicts, chaotic indexation.

Gary Illyes's statement merely officially confirms what empirical testing has shown all along. Nothing new under the sun, but a helpful reminder.

What nuances should be applied to this strict rule?

The case of JSON-LD deserves attention. Technically, Google tolerates and processes JSON-LD placed in the <body> — it's even documented in the Schema.org documentation. Illyes's statement targets <meta> and <link> tags, not structured scripts.

But let's be honest: the phrasing "metadata for search engines" remains vague. If you place JSON-LD in the body, you're taking an interpretation risk. [To verify] with specific tests to validate Google's exact tolerance on this point.

Should I worry if my CMS generates invalid HTML?

Yes, especially if you notice indexation inconsistencies. A CMS that prematurely closes the <head> or injects tags afterward creates non-compliant HTML — and Google applies the rule mercilessly.

The absence of alerts in Search Console complicates diagnosis: no error message, just silence. You think you've declared a canonical, but Google doesn't see it. Result: duplicate pages indexed, SEO signal dilution.

Warning: No Search Console alert signals meta/link tags placed in the body. You must manually audit the rendered source code or use a crawler to detect these structural errors.

Practical impact and recommendations

How can you verify that your tags are correctly placed?

Use a technical crawler (Screaming Frog, OnCrawl, Botify) configured to analyze the final HTML render — this is what Googlebot sees after JavaScript execution. Compare the position of critical tags: canonical, hreflang, robots, description.

Also inspect the rendered source code in Chrome DevTools (Elements tab) to spot tags injected late. If they appear after </head>, that's problematic.

What errors should you absolutely avoid?

Never trust a plugin or theme without verifying the HTML it produces. Some visual builders (Elementor, Divi, etc.) generate approximate code, with meta tags added dynamically in the body.

Also avoid JavaScript scripts that manipulate the DOM to inject tags after initial loading. Even if the final render looks visually correct, Google may have crawled the page before the injection was complete.

What concretely should you do to fix this error?

Audit your HTML template (header.php, base.html, main layout files) to verify that all meta and link tags are generated before the </head> closing tag. Clean up unnecessary JavaScript injections.

If you use a CMS, check the hooks and filters that could inject tags in the wrong location. WordPress in particular has wp_head and wp_footer hooks — ensure that critical SEO tags use only wp_head.

  • Crawl the site with a technical tool to identify misplaced tags
  • Inspect the rendered source code in Chrome DevTools (Elements tab)
  • Verify CMS templates and tag injection hooks
  • Eliminate JavaScript scripts that add tags after loading
  • Test critical pages with the Search Console URL inspection tool
  • Document corrections in an internal guide to prevent regressions
This type of structural issue may seem trivial, but its consequences for indexation and duplicate content are real. If your technical stack is complex — headless CMS, dynamic generation, multilingual architectures — auditing and correction require specialized expertise. In these cases, support from an SEO agency specialized in technical aspects can prevent costly errors and guarantee lasting compliance with Google's standards.

❓ Frequently Asked Questions

Le JSON-LD est-il concerné par cette règle de placement dans le <head> ?
Non, Google tolère le JSON-LD dans le <body> et le traite correctement. La déclaration de Gary Illyes vise spécifiquement les balises meta et link, pas les scripts structurés.
Comment savoir si mes balises canonical sont ignorées par Google ?
Inspectez le code source rendu dans Chrome DevTools et vérifiez qu'elles figurent bien dans le <head>. Si Google indexe des duplicatas malgré leur présence, c'est probablement un problème de placement.
Un plugin WordPress peut-il causer ce problème ?
Oui, certains plugins SEO ou builders visuels injectent des balises via JavaScript ou des hooks tardifs, ce qui les place dans le <body>. Auditez le HTML rendu pour vérifier.
Google affiche-t-il une alerte dans la Search Console pour ce type d'erreur ?
Non, aucune alerte spécifique n'est générée. Vous devez auditer manuellement le code source ou utiliser un crawler pour détecter ces anomalies.
Peut-on corriger ce problème sans toucher au code du CMS ?
Difficilement. Si le CMS génère structurellement du HTML invalide, il faut intervenir sur les templates ou désactiver les plugins responsables. Une solution pure configuration est rarement possible.
🏷 Related Topics
Content AI & SEO Links & Backlinks Pagination & Structure

🎥 From the same video 9

Other SEO insights extracted from this same Google Search Central video · published on 26/02/2026

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