When to use
- You have a high-cardinality use case (one page per city, integration, role, comparison) where a single hand-written page per combination is not feasible.
- A new template is proposed and you need a gate before it unlocks for volume generation.
- An existing programmatic section lost rankings or citations after a core update and you need to diagnose before you rebuild.
- You are moving from blue-link SEO into AI answer surfaces and need the long-tail to survive chunking, not just rank.
- Before any batch generation run that would publish more than a handful of pages from one template.
How to use
pSEO Without Getting Nuked
Set the non-negotiables
Mandatory human edit per page. 500+ unique words. 30%+ embedding differentiation between pages from the same template. Monthly pruning below impression threshold.
Design the template structure
Per directory: template.md with {variable} placeholders, variables.csv, differentiation-rubric.md, review-checklist.md. The template is the unit of quality, not the page.
Human-approve the template, not each page
One approval unlocks batch generation. Hybrid sites with review-gated templates recovered from the March 2024 HCU within hours. Pure auto-publish sites lost 95–98% of traffic.
Run the build loop
Generate → differentiation audit (embedding distance) → human-value audit → sample review (1 in 10) → final brand-voice check at template level.
Monitor and prune weekly
Search Console impressions + positions per template. Any pSEO page below threshold after 90 days: noindex or delete. Pruning is not optional maintenance. It is how you keep the healthy pages ranking.
AEO integration: stand-alone passages + schema on every pSEO page →
01 Anchor on the use case the page must answer, not the keyword combination.
Before you write a template, define the one decision a visitor lands on this page to make. A programmatic page exists to answer a specific buyer question for a specific situation. If you cannot name the question a given variable combination answers, that combination produces filler. Diagnose before executing, refuse the playbook ask
State the test at the top of the template spec and check every sample against it: does this page answer a real question better than the alternatives a searcher already has? The March 2026 Google core update penalized aggregator and quick-answer utility sites and rewarded destination brands and specialist sites. The operator rule that came out of it: one strong canonical page per use case beats ten shallow ones, and thin programmatic pages are now actively penalized. In the AI-search era, crawlability shapes everything
"Crawlability shapes everything."
· Aleyda Solis, Google March 2026 Core Update Analysis, 2026-04-11 · “In the AI-search era,…”
If consolidating into one rich canonical page is possible for a use case, do that instead of generating ten thin ones. Reserve programmatic generation for genuine high-cardinality long-tail where consolidation is impossible: local listings, integration pairs, role-by-industry combinations. The variable set is the test. If a variable produces a page with no real data behind it, that variable does not belong in the set.
02 Audit crawler access and page speed before you write a word of content.
Content investment is downstream of passing the infrastructure gate. AI crawlers operate under stricter time budgets than traditional search bots, and they return a 499 on pages that exceed their patience threshold. A 499 is a client-initiated close. The crawler decided your page was not worth waiting for, so the page never enters the candidate pool a model considers when generating a citation. AI crawlers return 499 errors on slow pages. Speed is a gate, not a ranking modifier. AEO experience and structure gate
"A 499 doesn't mean your server failed. It means the system requesting your content decided it wasn't worth waiting for."
· Mike King, Page Speed Impacts, 2026-05-08 · “AI crawlers return 499…”
Programmatic templates are where this bites hardest, because one slow template multiplies across thousands of URLs. Monitor server logs for 499 responses by template, filtered to AI-bot user-agents (GPTBot, PerplexityBot, ClaudeBot). Set a TTFB and payload budget per template, not site-wide. A template that renders in 200ms on the staging sample can balloon when the variable set hits a slow data join in production. Confirm the fast path before batch generation, then re-check after.
03 Build the template directory with the human-value test wired in.
Each template lives in its own directory so the gate has something to inspect:
| File | What it holds |
|---|---|
template.md | The skeleton with {variable} placeholders. |
variables.csv | The combinatorial variable set, with the real data each row resolves to. |
differentiation-rubric.md | What makes any two generated pages genuinely non-duplicate. |
review-checklist.md | The manual pass criteria a human ticks per template and per sampled page. |
The build loop runs as: assemble variables plus template plus examples, generate a candidate page, run a differentiation audit (paragraph-level embedding distance), run a human-value audit (does this answer a real question), then stop at the template-publish gate. A reviewer approves the template, not each page, after auditing the samples. Only then does the template open for batch generation.
This is the non-negotiable rule set:
- Mandatory human edit pass on the sample set per template. No template auto-publishes to volume.
- At least 500 unique words per page that are not template boilerplate.
- At least 30% differentiation between any two pages from the same template, measured on paragraph-level embedding distance.
- Monthly pruning: any programmatic page below a set impression floor after 90 days is noindexed or deleted.
- Weekly signal monitoring: Search Console impressions and positions, trended per template.
04 Write passages that survive the chunker, not paragraphs that fill a word count.
The unit of optimization in AI-mediated search is the passage, not the page. AI systems chunk a document into passages, embed each, score the embeddings against a fanned-out set of sub-queries, then assemble the passages that match into the answer. A page that ranks for a head term can still be invisible if its passages are too short, too long, or too thin on entities to embed cleanly. The unit of optimization is the passage, not the page
"Answers are generated, not linked."
· Mike King, How AI Mode Works, 2026-04-22 · “The unit of optimization…”
For a programmatic template this means each variable-driven section should be a self-contained, H2-bounded answer block: a clear question, a direct answer, the entity named early, kept inside a chunker-friendly range rather than padded to hit a word count. The 500-unique-word floor is a floor for substance, not a target you reach with filler. Pad to hit it and you defeat the point.
Optimize the passage for a human reader and for chunker survival at the same time. Writing for the chunker alone is fragile: every model generation shifts embedding spaces and chunk sizes, so a passage tuned only for today's chunker depreciates fast. Readability is the hedge that holds across model changes. Verification, not execution, is the irreplaceable human job
05 Grade for semantic coverage, not keyword density.
Modern engines evaluate relevance through topical comprehensiveness, the entity and concept set that appears across authoritative answers, not through keyword count. For programmatic pages, that means the template should target a coverage list per page type, not a keyword target. Optimize content for semantic comprehensiveness, not keyword density
"Rather than keyword density (a TF-IDF era concept), Huang's approach focuses on topical comprehensiveness: does the content cover the semantic territory that search engines associate with authoritative answers to a query?"
· Bernard Huang / Clearscope, synthesized from operator's published work · “Optimize content for semantic…”
Build the coverage list into the differentiation rubric: which entities, concepts, and questions a page of this type must address. A page that hits the coverage list with real data passes. A page that hits a keyword density target but skips half the semantic territory is thin, regardless of word count. As the unit of retrieval shifts toward passages cited by a model, page-level comprehensiveness matters less and passage-level extractability matters more, which is why steps 4 and 5 run together.
06 Add first-hand experience and clear authorship the rater is trained to reward.
E-E-A-T is not a direct ranking input. It is the rubric human quality raters use, and Google's algorithms approximate it through detectable proxies. So the work goes into the proxies, not a phantom score: explicit author bylines with credentials, sources cited inline, and content that demonstrates first-hand experience, which raters are explicitly trained to identify and reward. E-E-A-T isn't a ranking factor; it's the rubric raters use, and Google approximates it via indirect signals
"E-E-A-T is not a direct ranking factor but rather a framework that helps raters distinguish reliable content from misleading content. Google uses indirect signals like domain reputation, author clarity, and source quality to approximate what raters would assess manually."
· Cyrus Shepard, synthesized from operator's published work · “E-E-A-T isn't a ranking…”
This is the hardest signal to fake at scale, which is exactly why it separates a defensible programmatic section from a spam farm. On a programmatic template, manufactured author attribution reads as manufactured and the proxy backfires. Inject real first-hand markers instead: original data per page, a screenshot, a tested result, a named practitioner perspective where one genuinely applies. The structural placement of topics also reads as a relevance signal. What sits in nav and footer is read site-wide as a declaration of what the publisher considers important, independent of any single page's body. Nav and footer placement is a first-class LLM relevance signal, independent of page content.
"structural prominence or what you put in your headers, subheaders, top nav, and footer, matters for LLM citations"
· Casey Hill, What's Working Right Now in AI Search, 2026-05-03 · “Nav and footer placement…”
Anchor the use-case taxonomy your programmatic section covers into the global nav and footer, not just the body of individual pages.
07 Map the off-domain corroboration surface before you assume on-page is the work.
A volume of on-domain pages is necessary but not sufficient. AI search visibility is structurally an off-site corroboration problem with an on-site quality floor, not the inverse. The page a model cites is often not the page with the strongest on-site signals. It is the page that best resolves the buyer's uncertainty, and many of those live off your domain: third-party reviews, forums, editorial comparisons, analyst writeups. AI search visibility is an off-site corroboration problem with an on-site quality floor, not the inverse
AI search visibility for ecommerce is structurally an off-site corroboration problem with an on-site quality floor, not the inverse.
· Aleyda Solis, Ecommerce AI Search Citations Optimization, 2026-05-12
For programmatic work this is the reality check on ambition. Generating ten thousand on-domain pages will not move citation share in a category where the cited sources are third-party. Map which surfaces earn citations for your clusters first. If the answer is off-domain, the volume play is the wrong investment and a third-party mention loop matters more. The exception is thin or new markets where corroboration infrastructure does not yet exist, where on-site content is the default citation source.
08 Choose POV and comparative shapes over exhaustive coverage where the model summarizes.
When an LLM mediates discovery, exhaustive coverage becomes feedstock the model summarizes brand-free. The "ultimate guide" loses its mechanic. Sharper POV content gets retrieved and named because the perspective is what the model cannot synthesize from coverage alone. Sharper POV beats exhaustive coverage when an LLM is the summarizer
"The ultimate-guide play loses its mechanic when an LLM summarizes for the user, so sharper POV beats exhaustive coverage."
· Amanda Natividad, The Death of the Ultimate Guide, 2026-04-25 · “Sharper POV beats exhaustive…”
This shapes which templates are worth building. Citation rate and mention rate are different metrics: across a large sample, 62% of citations never name the brand, and comparative content produced far more brand mentions than informational content. Comparative formats force the model to keep brand tokens together with claims, so the brand survives summarization. Citation rate and mention rate are different metrics; comparative content closes the gap
"Being cited means an AI is drawing on your content. Being mentioned means it is naming you."
· Kevin Indig, The Ghost Citation Problem, 2026-04-26 · “Citation rate and mention…”
Favor programmatic templates with a comparative or opinionated spine (X vs Y, best tool for a named situation, alternatives teardowns) over purely informational ones, because the informational page gets summarized without your name. The full AEO model behind this, measurement plus content shape plus integrity, holds across all three. The AEO triangle, presence, relevance, manual-action propagation
09 Run one original-research asset to feed the long-tail with facts only you have.
Programmatic templates are strongest when the variable data is something the model cannot get elsewhere. Original research creates that. It generates statistics that journalists and other publishers must cite, and citation behavior is asymmetric: anyone writing about the topic for years may link to the source of the stat. One annual study can out-link a full year of weekly posts. Run one original-research study a year; it will out-link a year of weekly posts
"Publish fewer pieces, but invest disproportionately in two formats that resist AI commoditization. The first is original research..."
· Andy Crestodina, synthesized from operator's published work · “Run one original-research study…”
Feed that proprietary dataset into the programmatic layer: a benchmark per industry, a survey result per segment, a price index per region. Now each generated page carries a fact that exists nowhere else, which is the opposite of filler and the strongest defense against an embedding-distance duplication flag.
10 Gate at the template, then sample at the page level. Randomize the sample.
Two gates, not one. A reviewer approves the template after auditing five generated sample pages against the differentiation rubric and the human-value test. Only after approval does the template open for volume. Then, per page, 1 in 10 generated pages requires a human read before publish. Randomize that sample rather than making it deterministic, so the loop cannot be gamed.
Make the verification path the easy path so it actually gets done, and keep a human checking generated claims before they ship. AI surfaces have a thin verification layer for sparsely-covered claims, and a single seeded fake claim can self-confirm by citing the source that introduced it. A programmatic page that fabricates a stat about a thin niche is the exact input that loop feeds on. A single seeded fake claim can self-confirm in AI Overviews Verification, not execution, is the irreplaceable human job
The failure that ends a domain is auto-publish. One bad batch under a helpful-content update can tank domain trust, and a human gate at the template level is what stops that batch from ever running.
11 Measure per template, weekly, and never trust a single snapshot.
AI search measurement needs three layers, not a rank: Presence (where the brand appears), Readiness (why it looks that way), and Business Impact (what it produces), each kept in separate confidence buckets. Measure AI search on three layers: Presence, Readiness, Business Impact
"Presence tells you where the brand appears, Readiness tells you why it looks that way, and Business Impact tells you whether that visibility creates measurable value."
· Aleyda Solis, A 3-Layer Framework to Measure AI Presence, Readiness, and Business Impact, 2026-04-23 · “Measure AI search on…”
Point-in-time citation counts are noise. Around 74% of cited sources rotate week to week, so a monthly cycle samples a different distribution each time. The actionable layer is weekly and segmented by platform, prompt type, citation count, recommendation rate, readiness, and impact. Point-in-time AEO citation counts are noise: 74 percent of cited sources rotate weekly
Track platforms, prompt types, citations, recommendations, readiness and business impact separately. The goal is not another vanity score.
· Aleyda Solis, SEOFOMO Issue, May 3 2026
Point-in-time AEO citation counts are noise: 74 percent of cited sources rotate weekly
For a programmatic section, trend the Readiness and Presence layers per template, weekly, in Search Console and in prompt sweeps. A template whose CTR, position, or citation share regresses past a threshold gets flagged for investigation or kill. The calendar prune is a floor. The real signal is per-template trend.
12 Prune on schedule and watch for penalty cascade across every surface.
A programmatic section is never finished. Run the monthly prune: any page below the impression floor after 90 days is noindexed or deleted, so the section's authority concentrates rather than spreading thin. Concentrated internal link equity is one of the signals the March 2026 update rewarded. In the AI-search era, crawlability shapes everything
The reason pruning is not optional: a Google enforcement action does not stop at Google. AI systems retrieve from Google's index via RAG, so a penalty removes the page from the source pool that ChatGPT, Perplexity, and Copilot all draw from. One enforcement decision becomes a multi-surface loss at once. Self-referential and manipulative tactics that Google flags are flagged implicitly for every AI surface drawing from the same pool. A Google penalty removes a page from every AI surface at once, not just Google search
That raises the cost of a bad programmatic batch far above lost Google traffic. Keep the section clean, prune the dead weight, and never let a self-promotional or fabricated page sit in the index, because the blast radius is every surface you depend on.
Check your work
- Every variable combination answers a nameable use-case question. Combinations with no real data behind them were cut.
- Crawler access and per-template TTFB confirmed before content was written. Server logs checked for 499s from AI-bot UAs.
- A human approved each template against at least five generated sample pages before it unlocked for volume.
- Every page clears 500 unique non-boilerplate words of substance, not padding.
- Differentiation is at least 30% on paragraph-level embedding distance between any two pages from a template.
- Passages are H2-bounded answer blocks sized for the chunker and readable by a human, not paragraphs padded to a word count.
- Coverage is graded on the entity and concept set, not keyword density.
- First-hand experience markers and clear authorship are real, not manufactured attribution.
- Off-domain corroboration surfaces were mapped before assuming the on-page volume play is the work.
- 1-in-10 randomized page review runs before publish. No template auto-publishes to volume.
- Measurement is weekly, per template, on three layers, never a single citation snapshot.
- Monthly prune is scheduled with a named owner, and a penalty-cascade watch is live.
What goes wrong
- Auto-publish. Even one bad batch can tank domain trust under a helpful-content update. The template gate exists to stop that batch from ever running. Verification, not execution, is the irreplaceable human job
- Template drift into spam. Same format, no real signal. The human-value test at the template gate is the mitigation. Quality and friction-as-feature are growth levers, not constraints
- Boilerplate over 50%. Differentiation drops below threshold and embedding distance fails. The 500-word floor is for substance, not filler.
- Variable sets that produce empty pages. "Best tool for niche" with zero data when the niche has no evidence is filler the next core update punishes. In the AI-search era, crawlability shapes everything
- Cannibalization. Two templates target overlapping SERPs. Run a search-intent audit across all live templates before adding a new one.
- Writing for the chunker, not the reader. Passages tuned only for today's chunker depreciate at the next model generation. Optimize for readability and chunker survival together. The unit of optimization is the passage, not the page
- Manufactured authorship. Fake bylines on a programmatic template read as manufactured and the E-E-A-T proxy backfires. E-E-A-T isn't a ranking factor; it's the rubric raters use, and Google approximates it via indirect signals
- On-domain volume in an off-domain category. Ten thousand pages move nothing where the cited sources are third-party. Map the corroboration surface first. AI search visibility is an off-site corroboration problem with an on-site quality floor, not the inverse
- Fabricated stats on thin niches. A single seeded fake claim can self-confirm in AI surfaces, and a programmatic page is the exact input that loop feeds on. A single seeded fake claim can self-confirm in AI Overviews
- Scaling without monitoring. Ten thousand pages, no oversight. Weekly per-template Search Console trends plus a monthly prune is the floor.
- Snapshot measurement. A single citation count is noise when 74% of sources rotate weekly. Measure weekly and segmented. Point-in-time AEO citation counts are noise: 74 percent of cited sources rotate weekly
- Treating a Google penalty as a Google-only loss. A penalty removes the page from every AI surface drawing on Google's index. Prune and stay clean. A Google penalty removes a page from every AI surface at once, not just Google search
What you get
- Use-case map: every variable combination tied to a real buyer question, with empty combinations cut.
- Infrastructure gate report: per-template TTFB and payload budgets, plus a 499-by-AI-bot-UA log check.
- Template directory per page type:
template.md,variables.csv,differentiation-rubric.md,review-checklist.md. - Differentiation rubric with a per-page coverage list (entities, concepts, questions), not a keyword target.
- Passage-structured template: H2-bounded answer blocks sized for the chunker and readable by a human.
- Authorship and experience layer: real bylines, first-hand markers, use-case anchors in nav and footer.
- Off-domain corroboration map: which surfaces earn citations per cluster before the volume play runs.
- Original-research dataset feeding proprietary facts into the programmatic layer.
- Two-gate review system: template approval on five samples, then 1-in-10 randomized page review.
- Three-layer weekly measurement per template: Presence, Readiness, Business Impact, with confidence buckets.
- Monthly prune job with a named owner and an impression floor.
- Penalty-cascade watch covering Google plus every AI surface drawing from its index.