The one test that separates programmatic SEO from doorway pages
Strip the entity name from the page. If nothing unique remains, do not publish the tier. Worked through three real page types, including one that fails.
By Nabeel Sharafat · 2026-07-27 · 4 min read · 710 words
The test
Take a page from your generated tier. Delete every occurrence of the entity name. Read what is left.
If what remains is identical to what remains on any other page in the tier, you have doorway pages.
If what remains is still a substantially different page, because the numbers differ, the questions answered differ, and the related links point somewhere else, you have programmatic SEO.
That is the whole test. It takes two minutes and it is the only thing standing between a legitimate scaled content strategy and a site-level classification you cannot argue your way out of.
Why it works
Doorway page classification is applied at the site level. It is not appealable by explanation, only by deletion and time. That asymmetry is why a two-minute test before publishing is worth more than any amount of analysis afterwards.
The test works because it isolates the thing a quality classifier is actually looking for: whether the page would exist if the entity did not. A page that is a template with a name substituted would not.
Worked through three page types
Passes clearly: an entity page with computed figures
A page for one entity in a set of 1,689, stating the total count of tracked records, the median value, its rank in the set, its percentile within its parent, the change against the previous period, and the snapshot date.
Strip the name and you still have a page about something with 14,209 records, a median of $312,000, ranked 1st of 1,689, in the 100th percentile of its parent, up 4.1 percent. Compare it to a sibling with 38 records ranked 1,204th, and the two pages have almost nothing in common but the layout.
The name is the least informative thing on that page. That is what passing looks like.
Passes, but only after work: a schema type reference page
First version: type name, one-line definition, a link to schema.org. Strip the name and every page in the tier is identical. That version was a doorway page with good typography.
Second version: a complete JSON-LD example generated from that type's own property list, a required-versus-recommended table, an explicit rich-result verdict, and the three mistakes that specific type attracts. Strip the name and the pages still differ in the example, the table, the verdict and the mistakes.
Same tier, same URL structure, different outcome, because the second version has per-entity data and the first had a name.
Fails: a "best X in Y" page with no data
Location plus category, a paragraph of generated prose, a list of three links. Strip the location and the category and nothing remains but connective tissue.
There is no version of this that passes without adding real data per location, and if you had real data per location you would not have written it this way. Do not publish the tier.
Two details that decide the outcome
Numbers are the cheapest genuine uniqueness. Prose can be spun; a figure computed from an entity's own data cannot. Relational figures are strongest of all, because a rank or a percentile cannot exist on a page that does not know about its siblings, which is exactly what a template-detector is looking for.
Missing data needs an honest label, not a zero. A template that prints 0 when data is absent asserts something false. A page that says "no median is published here because fewer than five records are available" is accurate, and it reads as a real dataset rather than a broken one.
When to run it
Three pages, from different parts of the distribution, including one sparse entity. Not one page, and not the page you built the template around.
Then run it again quarterly. Content decays. A tier that passed at launch fails eighteen months later when the source pipeline stopped updating and every page now falls back to the same generic text. That decline usually shows up first as a widening gap between indexed pages and pages with any impressions, then as a step change on one day.
The programmatic SEO chapter covers the fact computation and the sibling linking; the entity gating chapter covers the gate that stops the tier generating pages you never intended.
Questions
What is the strip-the-entity-name test?
The strip-the-entity-name test removes every occurrence of the entity name from a generated page and asks whether anything unique remains. If the remainder is identical across pages in the tier, the pages are doorway pages rather than programmatic SEO.
How many pages should I test?
Test three pages from different parts of the entity distribution, including one with sparse source data. A single page can look unique because it is the one the template was built around.