301→302301→302
A temporary redirect where a permanent one belongs.
Found by Redirect checker →
A temporary redirect where a permanent one belongs.
Found by Redirect checker →
redirect loopredirect loop
The URL redirects back to itself and never settles.
Found by Redirect checker →
The URL redirects back to itself and never settles.
Found by Redirect checker →
Data sources
GA4 and Yandex Metrika data
Pull page views and traffic from GA4 and Yandex Metrika and join them with crawl findings to prioritise what matters.
How it works
Three steps, one saved scan
Check the counter setup first
Run metrika-counters to find the counter ID, then metrika-setup to see its goals, filters and data operations.
Pull visits and page views
metrika-report reads Yandex Metrika with any metrics and dimensions. GA4 page views come from provider-collect with the ga4 page_views operation.
Join the numbers to the crawl
crawl-enrich matches the traffic CSV to crawled URLs by URL and adds analytics findings, including the visits and bounce-rate columns.
What it checks
Checks in this feature
| Check | What it means | Severity | Evidence |
|---|---|---|---|
GA_ORPHAN_URL | The analytics data names a same-origin URL that the crawl did not find | Important | URL list from the join. Withheld on a partial crawl |
NON_INDEXABLE_WITH_GA_DATA | A non-indexable page still gets visits above zero | Important | URL and visit count from --visits-column |
NO_GA_DATA | An indexable crawled page has no analytics row | Tip | URL list. Check metrika-setup before you act on it |
BOUNCE_RATE_ABOVE_70 | The page bounce rate is above 70% | Tip | URL and bounce rate from --bounce-column |
How to run it
One command
bash
seohead metrika-report --counter 12345678 --date1 2026-09-01 --date2 2026-09-30Install first: installation guide. Every command also runs as an MCP tool for AI agents.
Learn more
From the blog and glossary
FAQ

