Search visibility
What actually stops a page being found
This part of the audit asks two questions. Can the page be found at all, and once it is found, is the result worth clicking. Everything else in the category is one of those two in more detail.
Type a title and description to see where they get cut. The limits below are the pixel-width conventions this guide quotes; Google publishes no character count, and the real cut depends on the glyphs.
Found at all, or found and ignored
The two questions cost different amounts, so the report ranks them differently. A page carrying a noindex instruction is not in search at any price, and rewriting the copy will not change that. A page with a weak title is in search and losing clicks. Both can be labelled critical by the check that raised them; only the first has closed a door.
In the ranking the report uses, anything that stops a page being found or reached weighs 3.0 — noindex, a robots.txt block, a long redirect chain, a broken link. Anything that only weakens how a page ranks or reads in results weighs 1.4 — a missing title, a missing meta description, no H1, no sitemap, thin content. Severity says how broken something is. That weight says what it is costing you.
The page we judge is the one the browser builds
Your server sends the browser some HTML. On a site built with React, Vue or a similar framework, that first response can be almost empty: one div and a script that fills it in. Google renders JavaScript before indexing, so the page that ranks is the assembled one, not the first response. The audit loads the page in a real headless browser and reads the rendered DOM.
This engine used to read the raw response. On a client-rendered page that produced fourteen findings that were all false — no H1 and no meta description reported as criticals on a page that had both, content called thin at two words when there were around sixty, SEO scored 37. Performance and security still read the raw response deliberately: they judge what the server actually sent. If the headless browser cannot load the page, the audit falls back to the raw HTML and says so.
The instructions that take a page out of search
There are three, and none of them is visible on the page. A robots meta tag carrying noindex tells search engines to leave the page out. An X-Robots-Tag in the HTTP response header does the same thing and cannot be seen by viewing source, because it arrives with the page rather than in it. A Disallow line in /robots.txt keeps crawlers off a path entirely.
The audit reads all three. On the page itself a restrictive robots tag is a warning, because on a staging page or a thank-you page it is correct and deliberate. The crawl check combines the meta tag with the response header, and where either says noindex it raises a critical. The extra pages the audit fetches — usually pricing and contact — get the same meta test, with each finding attributed to the page it came from.
Titles, descriptions and headings
The title is the line a person reads in the results and the words in the tab. Missing, it is critical. Under 30 characters or over 60 is a warning, against a target of 50 to 60. Meta descriptions are judged the same way: missing is critical, under 120 or over 160 characters is a warning. With no description, Google writes its own snippet out of scraps of the page, usually less convincing than what you would write for a page that sells.
Headings are checked as structure, not decoration. No H1 is critical, because it is the clearest single statement of what the page is about. More than one H1, a first heading that is not an H1, and a jump from H2 to H4 are warnings. One more critical sits in this category and is easy to miss: no viewport meta tag, which leaves the page rendering desktop-sized on a phone under Google's mobile-first indexing.
A check that could not run is not a failure
If robots.txt cannot be fetched, the finding says it could not be fetched and carries the reason, rather than telling you that you have none. If the structured-data validator is unavailable, the report records that nothing was validated, not that nothing was found. Whole categories that could not be measured are dropped out of the overall score instead of being counted as zero.
The published sample report shows what that looks like. Technical SEO raised "No valid XML sitemap found" — a real rule, correctly triggered, and wrong here: that run audited a local copy of the site while the sitemap lists getlightening.com addresses, so nothing matched. It is written up as overruled, with that reason beside it. Every finding is read by a person before a report is sent, and the reasoning is written down so you can argue with it.
What the engine checks here
Each of these is a rule in the code, not a category heading.
- The title tagMissing is critical. Under 30 characters or over 60 raises a warning, against the engine's stated target of 50 to 60. A title with no run of three or more letters — an SKU, a bare number — is flagged separately as carrying nothing meaningful to read.
- The meta descriptionMissing is critical. Under 120 characters or over 160 is a warning, against a target of 150 to 160. The recorded reason is that without one Google writes its own snippet from page scraps, which is rarely the sentence you would have chosen.
- Heading structure, H1 to H6No H1 is critical. Multiple H1s, a first heading that is not an H1, and a skipped level such as H1 straight to H3 are each warnings. The count at every level and the first 100 characters of every heading are recorded, so you can see the structure the engine saw.
- Indexability, read in two placesA restrictive robots meta tag on the page is a warning, because it is frequently deliberate. The crawl check reads that meta tag and the X-Robots-Tag response header together, and if either carries noindex it raises a critical: the page is set to noindex. The header version cannot be seen in the page source.
- Canonical link and redirect chainsA missing canonical link is a warning. Where one exists it is recorded, including whether it is a full address or a relative path. The URL is then followed with redirects enabled, and a chain of more than two hops raises a warning — every hop costs load time and crawl efficiency.
- robots.txt and the XML sitemaprobots.txt counts as found only on an HTTP 200 that actually contains a User-agent line; its Sitemap: references and Disallow rules are counted. The sitemap is taken from robots.txt where it is named there, otherwise /sitemap.xml, and counts as valid only if the body contains a urlset or sitemapindex element. Every loc entry is counted.
- Structured data, present and then validatedFirst whether any JSON-LD, microdata or RDFa exists at all; none is a warning. Then the JSON-LD is parsed and checked for @context and the fields each type needs — name on Product, Organization and LocalBusiness, headline on Article, itemListElement on BreadcrumbList. If the validation library is unavailable, the report states the data was not validated rather than implying it passed.
- How much text the page actually carriesWord count is taken after script, style, nav, header and footer are stripped from a scratch copy, so a sixty-link menu is not counted as content. Under 300 words is a warning, under 500 informational. The content-to-code ratio threshold is 0.002: the inherited 0.01 fired on 14 of 14 real sites, which measured between 0.0008 and 0.0063, and a finding that fires on every site tells you nothing about yours.
Questions
Our site is built in React. Will the audit see our content?
Yes. The page is loaded in a headless browser and the search-visibility checks read the assembled DOM, which is also what Google indexes. It matters: judged on the raw response, an ordinary client-rendered page produced fourteen findings from this engine that were all false, including "No H1 heading found" as a critical on a page that had one. If the headless browser cannot load the page at all, the audit falls back to the raw HTML and the report says so.
We have no XML sitemap. Is that serious?
Rarely the most serious thing in the report. A missing sitemap is weighted 1.4 in the impact ranking, against 3.0 for anything that stops a page being reached — a noindex directive, a robots.txt block, a long redirect chain. A sitemap helps crawlers find pages that are poorly linked. It will not rescue a page that is telling search engines to ignore it, so the blocks are worth fixing first.
If we fix everything here, will we rank first?
No, and nothing in the report will claim it. These checks measure whether a page can be found and whether the result reads well — the mechanical part. Where you land against competitors depends on your content, your market and what everyone else is doing, none of which this engine measures. What it can tell you is whether anything is standing between your page and being indexed at all, which is worth fixing either way.
Sources
Public and checkable. Nothing here rests on a number we cannot point at.
- Google Search Central — JavaScript SEO basics (Google renders pages before indexing)
- Google Search Central — robots meta tag and X-Robots-Tag specifications
- Google Search Central — rel=canonical and consolidating duplicate URLs
- Google Search Central — mobile-first indexing
- RFC 9309 — the Robots Exclusion Protocol
- sitemaps.org — the XML sitemap protocol
- schema.org — the vocabulary the structured-data check validates against
- This engine's audit of this website, published in full
This is one of fifteen categories. You can read a real report this engine produced on this very site — including the findings it raised against us — or ask for an audit of yours.