airport-hotels.example
Doorway garden
240k pages across /hotel-[city] templates. 94% of pages scored below 30 on uniqueness. SpamBrain treats these as a single thin cluster — one structural fix, not 240,000.
Paste a URL. In 60 seconds, see which template clusters trip SpamBrain and which pages get cited by ChatGPT, Perplexity, and Google AI Overviews.
No signup · 3 audits/day50 pages per audit24h retention (anon)See all limits
Analytics-safe — audit runs won't touch your GA, PostHog, Mixpanel, or session-replay dashboards.
↑ Each tile = one page. Color = worst rule that fires on that page. Watch the identity mark in the nav.
Pinpoint which template is broken. Fix one template, fix N pages.
This is the site verdict. siteVerdictFromTemplates picks the worst template with ≥5% URL coverage. /listing/:slug covers 97.3% of the site — so its concerning verdict drives the headline, even though /article/:slug is clean. One template-level fix, not 8,201 page-by-page investigations.
Sampling model — before & after
v0.5 — flat random sample
200 URLs drawn across the whole site. On an 8,200-URL directory, 0.2% coverage. The /listing/*template's thin-content crisis averages out with the clean article pages. Site scores caution — the problem is invisible.
v0.6 — K=10 per template
3 templates × 10 samples = 30 fetches (vs 200). Each template gets its own verdict. The /listing/* cluster surfaces an 8/10 thin-content fire rate — unmistakable. /article/* gets credit for being clean.
Scope
Self-select before you run it. The audit is narrow on purpose; if you want a 360° SEO crawl, the right tool is somewhere else on this page.
What pseolint is
An audit specifically for programmatic-SEO sites (template-driven content at scale) and AI Overview readiness. v0.6 audits by template — K=10 URLs sampled per template, one verdict per template, site verdict = worst template above 5% coverage. Catches SpamBrain-classifier triggers from the March 27, 2026 core update, the May 7, 2024 site-reputation-abuse policy, the March 5, 2024 scaled-content-abuse update, and the AEO patterns that determine whether ChatGPT, Perplexity, and Google AI Overviews cite your pages.
Use it when
What pseolint isn't
A general SEO audit. We don't measure Core Web Vitals, broken links, competitor research, keyword research, or backlink audits. If that's what you need, run one of these instead:
Field report
Names redacted. Each grid shows the dominant template's sample. Lower score = safer.
airport-hotels.example
240k pages across /hotel-[city] templates. 94% of pages scored below 30 on uniqueness. SpamBrain treats these as a single thin cluster — one structural fix, not 240,000.
legal-directory.example
Structural hygiene is fine. Every article is credible prose. Zero citations, zero bylines — signals SpamBrain increasingly uses to distinguish generation from reporting.
recipe-programmatic.example
180 category pages with genuine variation in ingredient lists, prep time, first-person intros. Templates exist, but each page has a human-sized reason to exist. Rare.
By the numbers
Specific values you can cite — what we run, what we cap, and which Google policies the ruleset maps to.
links/host-section-divergence; v0.5.2 added 4 content-quality rules; v0.6 added per-template breakdown across all 32 rules.--sample-seed makes verdicts reproducible across runs. Info-severity findings can't accumulate past a per-bucket cap. The open-source calibration corpus + runner + regression tests guard against engine drift on each release. Full engineering log at /methodology.links/host-section-divergence), the March 5, 2024 scaled-content-abuse update, and the 2022 SpamBrain rebuild that moved enforcement from manual review to silent classifier-time suppression.robots.txt respect including Crawl-delay capped at 2 minutes.