iframe seo, measured: 6 iframes on 27 homepages, and five are a 0x0 tracking beacon
iframe seo advice assumes there is an iframe to worry about. Across 27 homepages there were six elements in the delivered HTML, five of them a hidden 0x0 tag-manager beacon, and none carrying readable content.

FIELD TEST · 2026-08-29 · 27 homepages · single crawl · 6 iframe elements found
Sample and method: the same 30-site panel in use since 2026-08-15, each homepage fetched once on 2026-08-29 at 13:27 (+0800) with a browser user agent and no JavaScript execution. Every <iframe> in the delivered HTML was recorded with its src, loading, title, sandbox and dimensions, and whether it sat inside a <noscript> block.
Most iframe seo advice assumes there is an iframe to worry about. On these 27 homepages there were six, and five of them are a 0×0 tracking beacon that only runs when JavaScript is off. Not one iframe on the panel carries content a reader would look at. Twenty-two of the 27 sites ship none at all.
How we measured it
One HTTP request per site, no rendering, no retries. The inclusion rule was fixed before the run: final status 200, decoded body of at least 10,000 bytes, body containing <body. stackoverflow.com and medium.com returned 403 and www.reddit.com returned an 8,393-byte shell, leaving 27 sites.
The parser counted elements; a second pass then ran a plain regular expression over the 27 saved response bodies to count <iframe again. Both passes returned 6. When the headline number is this small, one counting method is not enough.
The six iframes: what an iframe seo audit actually finds
Five are the same thing on five different sites.
| Site | Count | What it is |
|---|---|---|
| webflow.com | 2 | One tag beacon, one with an empty src |
| www.netlify.com | 1 | Tag manager beacon |
| www.wired.com | 1 | Tag manager beacon |
| arstechnica.com | 1 | Tag manager beacon |
| www.nytimes.com | 1 | Tag manager beacon |
The five beacons are identical in shape: inside a <noscript> block, pointing at googletagmanager.com/ns.html, declared width="0" height="0" and styled display:none. They exist so analytics still fires for a visitor with JavaScript disabled. The sixth, on webflow.com, has a src attribute whose value is empty — an iframe pointing at nothing.
So the count of iframes embedding readable content across 27 homepages is zero. That is the finding, and it is the opposite of what the genre of iframe advice implies.
The attributes, in one line each
With six elements the attribute table is short enough to read as a list of absences.
| Attribute | Present | Absent |
|---|---|---|
title | 1 | 5 |
loading | 0 | 6 |
sandbox | 0 | 6 |
allow | 0 | 6 |
Inside <head> | 0 | 6 |
The one title is on www.wired.com and reads "Google Tag Manager". MDN's guidance is that "people navigating with assistive technology such as a screen reader can use the title attribute on an <iframe> to label its content" — on a hidden beacon it costs nothing to add and nothing to omit, so this row is thin evidence about anybody's habits.
The last row is the one that matters for search. Google's page on valid metadata lists the elements allowed in the head — "title, meta, link, script, style, base, noscript, template" — and names iframe among the invalid ones, warning that "once Google detects one of these invalid elements, it assumes the end of the <head> element and stops reading any further elements". A single misplaced iframe truncates everything after it. Zero of six.
Where the iframes actually are: inside the scripts
They are built at runtime. Across the 27 saved bodies the string iframe appears 66 times on 13 sites, against only 6 real elements, and 14 sites never mention it at all.
The clearest case is www.theverge.com: zero <iframe tags, and five occurrences of the escaped form \u003ciframe sitting inside a JSON payload waiting to be written into the page. www.netlify.com has 13 mentions behind its single element. The embeds a reader sees — the video, the map, the demo — are assembled after the HTML arrives, which means a crawler that does not execute scripts sees neither the frame nor its contents.
An embed that a script builds is invisible twice over: the frame is not in the HTML, and the content was never yours to begin with.
What this means for you
Two things, in this order.
- Stop asking whether iframes hurt and check whether yours exist in the delivered HTML at all. Fetch your own page without running scripts and count; if the frame is not there, the discussion is about rendering, and the method for that is in can AI crawl JavaScript.
- Never put an iframe in the
<head>. Google's documentation says it stops reading the head at that point, and the elements it stops reading are the ones you care most about.
There is one documented case where an iframe changes indexing directly. Google's robots rules include indexifembedded, which lets "Google index the content of a page if it's embedded in another page through iframes or similar HTML tags, in spite of a noindex rule", and it "only has an effect if it's accompanied by noindex". If you publish a widget that other sites embed, that pair is the mechanism. Whether crawlers reach any of it is the layer underneath, which you can test with the AI crawler check. The hidden-content cousin of this measurement is the noscript tag on 27 homepages.
What this run cannot tell you
We do not know whether these sites show embeds to a real browser. We ran no JavaScript, so any iframe inserted after load is invisible to this measurement, and the 66 string occurrences are a hint about that, not a count of it. We also did not request a single iframe URL, so nothing here says what those frames return, and we did not look at any page other than the homepage — a documentation page or an article page may be a completely different picture. Six elements is a small number to reason from, and we are not going to turn it into a trend.
Common questions
How did you measure this?
One fetch per homepage on 2026-08-29 with a desktop browser user agent, parsing the delivered HTML for <iframe> elements and their attributes, then re-counting with a regular expression over the same saved bytes. Both passes returned 6.
Are iframes bad for SEO?
Nothing in this run answers that. What it shows is that the elements are nearly absent from delivered homepage HTML, so for most sites the question is about content a script inserts, not about the tag.
Does Google index content inside an iframe?
Google documents one rule that speaks to it directly, indexifembedded, which applies to the embedded page and only alongside noindex. We did not find current documentation stating how the embedded content is attributed, so we are not going to state one.
Should I add loading="lazy" to my iframes?
MDN defines lazy as deferring load "until it reaches a calculated distance from the visual viewport", with eager as the default. None of the six here sets it, though five are hidden beacons for which it would mean nothing.
Why did five sites use an iframe for analytics?
It is the no-JavaScript fallback the tag manager ships with. The frame is 0×0 and hidden, and it fires only when scripts are unavailable.


