main, header, footer injected by JavaScript: a raw HTML with no structure
In brief
Your semantic tags (main, header, footer) only appear after JavaScript executes: the raw HTML, read by AI systems and on Google's first pass, has no structure. Impact is light but it signals a fully client-side layout. Render the layout structure server-side.
What is it?
The semantic tags (main, header, footer) only appear after JavaScript executes.
Why it hurts SEO and AI
The raw HTML — the version AI systems and Google's first pass read — has no structure at all. Light impact, but symptomatic of a fully client-side layout.
When it is NOT a problem
- The main semantic structure (at least a main around the content) is already in the raw HTML and only secondary blocks are added via JS.
- The page uses correct but non-semantic markup (well-organized divs): the real impact is very small.
- This is an internal app interface, not meant for crawling or indexing.
<!-- Raw HTML: no structure -->
<div id="app"></div>
<!-- main, header, footer added by JS --><!-- Raw HTML: structure present -->
<header>...</header>
<main>
<h1>Trail running shoes</h1>
</main>
<footer>...</footer>A structured raw HTML helps Google and screen readers separate the main content from the chrome from the first byte.
How to fix it
- View the raw page source (Ctrl+U): if you only see an empty container, the structure is mounted client-side.
- Render the layout skeleton (header, main, footer) server-side (SSR/SSG).
- Use the real semantic HTML5 tags rather than generic divs.
- Re-crawl to confirm the structure is present in the raw HTML.
This scan checks what is missing from the raw HTML but appears in the JavaScript render
Is this issue on your site?
Does your page have structure in the source code, or only after JavaScript? Enter a URL: Seogard compares the raw HTML and the render and shows you what machines see first. Free, no credit card.
- No credit card
- Result in ~30 s
What you get back
A page structured for every machine from the first byte.
Seogard catches this regression automatically — through its SSR checker.
Frequently asked questions
Do semantic tags change my ranking?
Directly, very little. They help engines and screen readers understand the page structure; it is structural hygiene, not a major ranking lever.
Why flag it if the impact is light?
Because structure missing from the raw HTML often reveals a fully client-side layout, which can hide heavier problems on content and links.
Related rules
Updated July 10, 2026