Programmatic SEO Page QA Loop
A quality loop for sites that publish many template-based pages but need each page to remain useful, distinct, and indexable.
Use loop copies the kickoff prompt. Copy Markdown and Download loop include the complete Markdown page with context, source attribution, anchors, and guardrails. Cursor / Claude Code buttons prepare the shorter kickoff prompt only.
Supported agents
Goal
Ensure template-generated pages provide distinct value and are safe to index.
Feedback gate
curl -sL $URLStop condition
Sampled generated pages have unique metadata, useful body content, and valid internal links.
Give the agent these inputs before it starts the loop. This keeps discovery bounded and prevents vague retries.
The loop assumes these commands or integrations are available. Missing tools should be reported as blockers, not ignored.
Two separate pieces: the kickoff prompt starts the loop, while the downloaded Markdown carries the complete reference page.
1. Copy or download
Use the kickoff for a fast agent run. Download the full Markdown when you need source, context, and attribution in one file.
2. Paste into the agent
Start a fresh agent session in the target repo and provide the requested project context if the loop asks for it.
3. Let it self-pace
The agent should act, check evidence, retry only when the gate fails, and stop at the stated exit condition.
The diagram shows the order. This checklist keeps only the action, command, and failure handling needed during a real pass.
1. Sample pages by template
Pick examples from each generated page type.
2. Check uniqueness
Compare title, description, H1, intro, FAQ, and related links.
3. Check internal links
Verify links to related categories, agents, and details.
4. Patch template/data
Improve template or data fields and re-sample.
This is the text copied by Use loop. It is intentionally shorter than the Markdown export.
Audit a sample of generated SEO pages for uniqueness, helpfulness, metadata, internal links, and schema. Fix template/data issues before publishing at scale.
Goal: Ensure template-generated pages provide distinct value and are safe to index.
Check command: curl -sL $URL
Exit condition: Sampled generated pages have unique metadata, useful body content, and valid internal links.
Max iterations: 5
Guardrails:
- Do not weaken, skip, delete, or rewrite the validation command to force success.
- Do not claim completion until the stated exit condition is actually satisfied.
- If blocked, report the blocker, evidence, and next safest action instead of gaming the metric.
- Do not create large numbers of thin pages solely to manipulate search ranking.Quality
91/100
Safety
93/100
Expected output
QA report: duplicate titles, thin pages, missing links, and fix recommendations.
Related loops
Browse allSEO Metadata Audit Loop
Audit title, description, canonical, Open Graph, headings, and indexability for SEO-critical pages.
Kickoff preview
Audit SEO metadata from server-rendered HTML for the target pages. Verify title, description, canonical, H1, Open Graph, and indexability, then fix and re-check. Goal: Ensure SEO-critical pages have unique, server-rendered metadata and indexable content. Check command: curl -sL $URL | head -80 Exit condition: Each target page has unique title, description, canonical, visible H1, and no accidental noindex. Max iterations: 5 Guardrails: - Do not weaken, skip, delete, or rewrite the validation command to force success. - Do not claim completion until the stated exit condition is actually satisfied. - If blocked, report the blocker, evidence, and next safest action instead of gaming the metric. - Do not rely only on client-rendered metadata for SEO-critical pages. Verify server HTML.
Internal Link Builder Loop
Find orphan or weak pages and add relevant internal links from hubs, related pages, and contextual sections.
Kickoff preview
Find weak or orphan pages, choose relevant source pages, add natural internal links, and verify the rendered pages expose those links. Goal: Improve crawlability and user navigation through relevant internal links. Check command: curl -sL $SITEMAP_URL Exit condition: Priority pages are linked from relevant hub/detail pages with natural anchors. Max iterations: 4 Guardrails: - Do not weaken, skip, delete, or rewrite the validation command to force success. - Do not claim completion until the stated exit condition is actually satisfied. - If blocked, report the blocker, evidence, and next safest action instead of gaming the metric. - Do not add irrelevant keyword-stuffed links. User usefulness comes first.
Sitemap Freshness Check
Verify that important public pages are present in sitemap.xml with canonical URLs and reasonable lastmod values.
Kickoff preview
Fetch sitemap.xml, compare it against expected public URLs, check exclusions, patch the generator, and re-fetch until coverage is correct. Goal: Ensure sitemap.xml includes canonical public pages and excludes private/admin/API routes. Check command: curl -sL $SITE_URL/sitemap.xml Exit condition: Sitemap contains important public URLs and excludes private/API/admin pages. Max iterations: 3 Guardrails: - Do not weaken, skip, delete, or rewrite the validation command to force success. - Do not claim completion until the stated exit condition is actually satisfied. - If blocked, report the blocker, evidence, and next safest action instead of gaming the metric. - Do not include private, admin, API, or duplicate query URLs in sitemap.
Ship PR Until Green
Implement a scoped change, open or update a pull request, inspect CI, and continue until all required PR checks pass.
Kickoff preview
Take this branch to a green pull request. Implement the requested change, run local verification, open or update the PR, run `gh pr checks`, inspect failures, fix root causes, and repeat until every required check passes or you hit the iteration cap. Goal: Open or update a pull request and stop only when all required PR checks are green. Check command: gh pr checks Exit condition: All required pull request checks are successful and the PR is ready for review or merge. Max iterations: 10 Guardrails: - Do not weaken, skip, delete, or rewrite the validation command to force success. - Do not claim completion until the stated exit condition is actually satisfied. - If blocked, report the blocker, evidence, and next safest action instead of gaming the metric. - Do not disable required checks, edit loops to skip jobs, or remove tests to make CI green. - Do not merge the PR unless the user explicitly asked for merge authority.