Site health (SEO)
Quiet Metrics visits the pages of your site the way a search engine would, notes what may hurt their ranking, then ranks each issue by the real traffic of the page concerned.
What the crawler checks
On every analysis, the crawler starts from your home page, follows internal links and reads your sitemap. For each page, it records:
- the HTTP response: 4xx and 5xx errors, redirects, redirect chains;
- the title: missing, very short, long, or identical to another page's;
- the meta description: missing, long, or identical to another page's;
- the H1 heading: missing, or present more than once;
- the canonical tag: missing, invalid, pointing to another address, or to a page in error;
- the noindex directive, in the page or in the
X-Robots-Tagheader; - broken internal links, to pages that answer with an error;
- consistency between the sitemap, robots.txt and the pages actually found.
- structured data (JSON-LD): its types, and unreadable blocks;
- images without alternative text; an empty
alt, the right practice for a decorative image, is not flagged; - language versions (
hreflang): invalid codes, versions in error, versions that do not point back; - server response time, flagged beyond 1.5 s;
- identical or very similar content from one page to another;
- depth: important pages 4 clicks or more from the home page.
Each issue has a severity. Critical: an important page is broken or excluded from search engines. Warning: a defect worth fixing. Opportunity: a possible improvement, not an error. A slightly long description, for instance, is never presented as a mistake.
Priority comes from your traffic
A classic SEO tool puts a broken link on a forgotten page on the same level as the same link on your most-read page. Quiet Metrics crosses each issue with the views of the last 30 days and the conversions of your goals: an issue on a widely read page, or on one that converts, comes first.
The health score follows the same logic. Each page weighs according to its traffic, and loses part of that weight according to the severity of its open issues. An issue you choose to ignore no longer counts in the score, and stays ignored in later analyses.
Traffic from search engines is counted in landings: visits that entered your site on that page from Google, Bing, DuckDuckGo, Qwant, Ecosia or another search engine.
What only your traffic reveals
Because Quiet Metrics also measures your audience, it crosses what the crawler finds with what your visitors read:
- a page that is read but poorly linked from the rest of the site;
- a possibly orphan page: in the sitemap or visited, but reached by no internal link;
- content without a visit for 180 days, linked by nothing and not converting, on a plan that keeps at least those 180 days;
- a widely read page that converts clearly less than the rest of the site;
- traffic on addresses the crawler does not know, neither linked nor in the sitemap.
The overview compares three sets: the sitemap addresses, the pages found by the crawler and those that receive traffic. In a site's SEO settings, you can remove whole paths from the crawl, such as /cart or /tag/.
Allowing the crawl
The crawler only visits sites that have allowed it. Without this rule, anyone could have a competitor's site analysed by declaring it as their own.
Before each analysis, it requests the address /.well-known/quietmetrics.json on your site, and expects only one thing there: a token that only a server holding this site's secret key can compute. Without that token, it stops there, and the SEO tab explains how to allow it. A redirect to another domain does not count: the proof must come from your site.
With a Quiet Metrics SDK (PHP, Laravel, Symfony, WordPress), configure the site's secret key, then add this environment variable:
QUIET_METRICS_SEO_CRAWL=true
The SDK then serves the file on its own. Without the variable, or with false, it serves nothing: the crawl is forbidden, and later analyses stop at the verification.
Without an SDK, place the file shown in the SEO tab at that address. It holds a token specific to your site and does not reveal your secret key. Removing it forbids later analyses.
The crawler: QuietMetricsBot
The crawler identifies itself with this user agent:
Mozilla/5.0 (compatible; QuietMetricsBot/1.0; +https://quietmetrics.dev)
It visits one page per second, and at most 100 pages every 30 days on the free plan, 500 pages every 7 days on the Solo plan, 500 pages every day on the Pro and Agency plans. You can relaunch an analysis by hand once an hour.
It respects your robots.txt: a disallowed address is never visited, only recorded. To keep it away from part of the site, or from the whole site:
User-agent: QuietMetricsBot Disallow: /members/
If your robots.txt answers with a server error, the crawler stops and visits nothing, as the robots standard requires.
Its visits do not count in your statistics: Quiet Metrics recognises it as a robot, including when your site is measured server side.
What the crawler keeps
The crawler does not store the HTML of your pages. For each address it keeps: the HTTP response and its response time, the title, the meta description, the first H1 heading, the canonical tag, the robots directives, the declared language versions, the structured data types, the number of images (without alternative text, served by another domain), the depth, the word count, a fingerprint of the content, used only to know whether the page changed, and a similarity fingerprint, used only to bring similar pages together. Neither can rebuild the text. It reads public pages only and never submits a form.
Changes
From one analysis to the next, the Changes tab records what moved: a modified title or canonical, a page switched to noindex, an HTTP response that changes, rewritten content, modified structured data, a new or removed page, and lasting traffic drops, to be read alongside. Next to each change, landings from search engines before and after, over equal durations. The log records without concluding: a traffic drop that follows a change does not necessarily result from it.
The first analysis of a site is the starting point, so it records no change.
Declining pages
On the overview, Declining traffic lists the pages whose views drop three months in a row, by at least 30%, from a volume large enough for the drop to matter. This needs 90 days of data: on a plan that keeps less, it is shown as unavailable.
The email report
Every week or every month, as you choose, one SEO report per site: health and its trend, issues that appeared and were fixed, the latest changes and declining pages. If the analysis was refused for lack of permission, the report says so. Nothing is sent for a period without an analysis.
It is set in your account menu, Email reports, site by site, next to the audience summary; it stays off until you turn it on. Every message carries a link to stop receiving it. Email reports are not sent on the free plan.
With your AI assistant
If you have connected an AI assistant to the Quiet Metrics MCP server, it can read the SEO health of your sites with three read-only tools:
| Tool | What it gives |
|---|---|
get-seo-summary |
The health score, open issues by severity, landings from search engines and declining pages. |
list-seo-issues |
The issues, most urgent first, with what to do. |
list-seo-changes |
The log of what changed from one analysis to the next. |
Limits
- The crawler does not run JavaScript: on a site whose content is built in the browser, it only sees the HTML served by the server.
- An analysis stopped at the page cap does not see the following pages. It never declares them removed for all that.
- A sitemap that is too large or malformed is read in part. Quiet Metrics says so, and then blames no page for missing from it.
Can't find your answer?
Support replies on business days.