Everything below uses a site I generated. These are test results, not results from anyone's real website.
The idea
A crawl of your own site already holds most of what an SEO metadata audit needs: titles, descriptions, canonicals, language, Markdown (so headings), word counts. Crawling again to check them is a second bill and a second chance to get blocked. So I wrote an Apify Actor that audits the dataset you already have, such as Website Content Crawler output, and never fetches anything.
The hard part of building an auditor is not writing the rules. It is knowing the rules fire when they should, and stay quiet when they should not. I had no real site I could publish results about, so I built a fake one.
The benchmark
A seeded generator produces a synthetic 400-page site in Website Content Crawler's shape: url , metadata.title , a description, a canonical, Markdown text and a status.…