SEO
A crawl that reads the site the way a crawler does.
Tenvey follows every internal link, parses every tag and checks the structure around them. Changed pages are re-crawled daily, the whole site once a week, and anything a deployment touched straight away.
What a crawl covers.
Seven checks per page, all of them structural. None of them is a keyword suggestion.
- Title and description
- Present, unique across the site, and short enough that the result page does not cut them off mid-word.
- Heading order
- One h1 per page, no jump from h2 straight to h4. Structure is what a crawler reads before it reads prose.
- Canonical and robots
- Which URL you claim is the original, and whether robots.txt quietly contradicts the canonical tag.
- Sitemap
- Every URL in it resolves, and every page you want indexed is in it. Both halves fail silently otherwise.
- Structured data
- Parsed and validated against the schema, not merely detected. A malformed product block is worse than none.
- Internal links
- Every href followed once per crawl, including the ones in the footer that nobody has clicked in a year.
- Redirect chains
- A link that goes 301 → 301 → 200 costs a round trip on every visit and dilutes what it points at.
Broken links, by where they are.
Twelve links point at pages that no longer exist. Nine sit in blog posts published this year and three in the main navigation footer — so it is nine redirects and one edit to the footer, not twelve separate tasks.
SEO currently scores 94 and carries 20% of the health score.
Link check · 12 failing
Warning12 links point to pages that no longer exist
- Blog posts
- 9 · 404
- Footer navigation
- 3 · 404
/blog/scaling-checkout → 404 · /blog/2025-review → 404 · /pricing-old → 404 · 9 more
Next step
Redirect the nine blog URLs to their new locations and remove the three dead footer links.
Every crawl is compared to the last one.
A total is a number you stop reading after the second week. Tenvey reports the difference instead: the three links that broke this morning, not the twelve you already knew about.
The entry below appeared at 07:41 today, roughly an hour after the two posts that caused it went live.
3 new broken links appeared on /blog.
Two posts published yesterday link to /pricing-old, which was removed on 2 August.
/blog/scaling-checkout → /pricing-old (404) · /blog/why-we-moved → /pricing-old (404)
Also watched