Skip to content

Give six more guide pages their own content - #154

Merged
Programcode merged 1 commit into
mainfrom
seo/long-tail-guides-batch-2
Oct 20, 2026
Merged

Programcode merged 1 commit into
mainfrom
seo/long-tail-guides-batch-2

Conversation

@Programcode

@Programcode Programcode commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Second batch after #152. Six sitemap guides still showed 1,700 to 1,850 characters of the shared template text. Each now has its own long-form copy in scripts/seo_guides.py, with how-to steps, a worked example, format notes and five page-specific FAQs. The FAQs feed both the visible FAQ and the FAQPage JSON-LD.

Visible characters in the prerendered HTML (dist/<slug>/index.html, byte-identical to public/<slug>/index.html), before and after:

  • /how-to-practice-rebuttals: 1,704 to 9,285 (1,251 body words)
  • /ai-rebuttal-generator: 1,752 to 8,289 (1,075 words)
  • /how-to-write-a-debate-case: 1,685 to 8,854 (1,216 words)
  • /debate-topics-for-students: 1,712 to 7,983 (980 words)
  • /public-forum-debate: 1,839 to 7,797 (1,000 words)
  • /debatelab-vs-chatgpt: 1,792 to 6,844 (835 words)

Word counts cover the article body and highlight cards. Each page also has about 180 words of FAQ.

What the copy says

  • The rebuttal generator page describes Attack's real output: ranked weaknesses that quote the attacked words, a response to say in round, fallacies, cross-ex questions and a weighing analysis. It also covers the intensity and judge-paradigm settings.
  • The Public Forum page gives the NSDA round order and times. It says Sparring runs PF at 4-4-3-2 without the crossfire periods, and that the Crossfire feature is a separate cross-examination drill.
  • The ChatGPT page compares structure (one Current Debate, structured cases, timed rounds with a verdict). It makes no claims about ChatGPT features that could go out of date.
  • No page says Sparring runs WSDC or BP, and no page states prices or limits.
  • None of these paragraphs or list items repeats one on any of the 11 long-form guides.

What stays the same

  • Titles, meta descriptions, H1s, canonicals, the JSON-LD @type set and the related-guide links are byte-identical to main on all six pages. A script checked this against git show main:public/<slug>/index.html.
  • The six PAGES entries in scripts/generate_seo_content.py now use {product} instead of a hardcoded name, so their title and description come from src/config/site.json. The rendered text doesn't change. The slug debatelab-vs-chatgpt stays as it is, because it's a URL. seo_guides.py has no hardcoded brand or domain strings.
  • The five pages from Give five guide pages their own content and one brand config #152 keep their content.
  • CONTENT_DATE moves to 2026-10-19. It's one global, so every guide's dateModified and sitemap <lastmod> change, as in Give five guide pages their own content and one brand config #152. The other 43 pages change only in that date.
  • Pre-existing quirk, left alone: related-guide labels for titles ending in "| DebateLab Guide" come out as "... Debate Guide", because internal_links() strips the shorter suffix first. Fixing it would change link text on every page.

Checks

Run locally on this branch:

  • npm run docs:check, npm run lint and npm run typecheck pass.
  • npm test: 304 tests pass.
  • npm run build passes. The sitemap lists 52 URLs, all with a lastmod.
  • npm run verify passes: 304 unit, 30 collaboration and 356 Edge Function tests, the service-worker check, and 30 desktop Chromium @smoke specs. A rebuild at the final head gives the counts above.

GitHub Actions did not run: every job stopped before its first step with "recent account payments have failed or your spending limit needs to be increased". The results above are a local pass at b90184f6, not a CI pass. Both Vercel previews deployed and CodeRabbit passed.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added detailed debate guides covering rebuttal practice, case writing, student topics, Public Forum, and AI rebuttal tools, with practical examples, drills, checklists, and format-specific advice.
    • Expanded the ChatGPT comparison with guidance on tool choice, workflows, practice rounds, and evidence verification.
    • Updated several existing debate guides with more thorough instructions, examples, and FAQs tailored to each topic.
    • Refreshed page dates and adjusted product references across SEO content.

Six sitemap guides still had about 1,700 to 1,850 characters of
visible text from the shared template: /how-to-practice-rebuttals,
/ai-rebuttal-generator, /how-to-write-a-debate-case,
/debate-topics-for-students, /public-forum-debate and
/debatelab-vs-chatgpt. Each now has long-form copy in
scripts/seo_guides.py, between 6,800 and 9,300 visible characters:

- How-to steps, a worked example on a sample motion or resolution, and
  PF, LD, BP and WSDC notes where they apply.
- Five page-specific FAQs, which feed both the visible FAQ and the
  FAQPage JSON-LD.
- The rebuttal generator page describes what Attack actually returns.
  The Public Forum page uses Sparring's 4-4-3-2 times and says the
  Crossfire feature is separate from PF's crossfire periods. The
  ChatGPT page compares structure, not claims about ChatGPT features.

The six PAGES entries in generate_seo_content.py now name the product
with {product}, so their titles and descriptions come from
src/config/site.json. The rendered text is unchanged.

Titles, descriptions, H1s, canonicals, the JSON-LD types and the
related-guide links are byte-identical on all six pages. CONTENT_DATE
moves to 2026-10-19, so every guide's dateModified and sitemap lastmod
change; nothing else changes on the other 43 pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 19, 2026 15:43
@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
debate-navigator Ready Ready Preview Oct 19, 2026 3:44pm UTC
debatelab-staging Ready Ready Preview Oct 19, 2026 3:44pm UTC

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository YAML (base), Organization UI (inherited)
  • Review profile: CHILL
  • Plan: Free
  • Run ID: 3b6f0ccb-9834-49bd-82da-846ccb28b414
📥 Commits

Reviewing files that changed from the base of the PR and between 33704ec and b90184f.

📒 Files selected for processing: 51
  • public/ai-debate-case-generator/index.html
  • public/ai-debate-coach/index.html
  • public/ai-debate-evidence-research/index.html
  • public/ai-debate-practice/index.html
  • public/ai-rebuttal-generator/index.html
  • public/ai-tools-for-debate-students/index.html
  • public/ai-vs-traditional-debate-prep/index.html
  • public/argument-flowchart/index.html
  • public/best-ai-debate-tools/index.html
  • public/british-parliamentary-debate/index.html
  • public/congress-debate/index.html
  • public/debate-argument-flowchart-tool/index.html
  • public/debate-block-file-guide/index.html
  • public/debate-case-generator/index.html
  • public/debate-clash-points/index.html
  • public/debate-collapsing-strategy/index.html
  • public/debate-cross-examination-tips/index.html
  • public/debate-evidence-finder/index.html
  • public/debate-evidence-verification/index.html
  • public/debate-fallacies/index.html
  • public/debate-impact-calculus/index.html
  • public/debate-judge-adaptation/index.html
  • public/debate-motion-analysis/index.html
  • public/debate-note-taking-flowing/index.html
  • public/debate-prep-time-management/index.html
  • public/debate-pronunciation-and-delivery/index.html
  • public/debate-rebuttal-practice/index.html
  • public/debate-speech-structure/index.html
  • public/debate-topics-for-students/index.html
  • public/debate-weighing-guide/index.html
  • public/debatelab-alternatives/index.html
  • public/debatelab-pricing/index.html
  • public/debatelab-vs-chatgpt/index.html
  • public/debatelab-vs-debateclub/index.html
  • public/debatelab-vs-windebate/index.html
  • public/how-to-cross-examine-in-debate/index.html
  • public/how-to-flow-in-debate/index.html
  • public/how-to-practice-rebuttals/index.html
  • public/how-to-prepare-for-a-debate-tournament/index.html
  • public/how-to-weigh-in-debate/index.html
  • public/how-to-write-a-debate-case/index.html
  • public/how-to-write-a-rebuttal-speech/index.html
  • public/lincoln-douglas-debate/index.html
  • public/online-debate-timer-tool/index.html
  • public/online-debate-timer/index.html
  • public/policy-debate/index.html
  • public/public-forum-debate/index.html
  • public/world-schools-debate/index.html
  • public/wsdc-debate-practice/index.html
  • scripts/generate_seo_content.py
  • scripts/seo_guides.py

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

The change adds six SEO guides and expands their public page content and FAQs. It also updates product-name substitutions and advances Article modification dates to October 19, 2026, across public pages.

Changes: SEO Guides and Metadata

Layer / File(s) Summary
Guide definitions and generation settings
scripts/seo_guides.py, scripts/generate_seo_content.py
Six guide entries are added for rebuttal practice, rebuttal generation, case writing, student topics, Public Forum debate, and a DebateLab and ChatGPT comparison. The content date advances, and selected copy uses the configured product name.
Expanded generated guide pages
public/ai-rebuttal-generator/index.html, public/how-to-practice-rebuttals/index.html, public/how-to-write-a-debate-case/index.html, public/debate-topics-for-students/index.html, public/public-forum-debate/index.html, public/debatelab-vs-chatgpt/index.html
The six pages receive expanded instructional content and updated FAQs. Each page’s visible FAQ corresponds to its structured-data FAQ.
Article date metadata refresh
public/*/index.html
Article structured-data dates on the remaining public pages change from October 18 to October 19, 2026.

Estimated code review effort: 3 (Moderate) | ~25 minutes

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Essentials by visiting https://app.coderabbit.ai/settings/billing.

Comment @coderabbitai help to get the list of available commands.

@Programcode
Programcode merged commit 0e21055 into main Oct 20, 2026
8 of 14 checks passed
@Programcode
Programcode deleted the seo/long-tail-guides-batch-2 branch October 20, 2026 07:10

This branch was successfully deployed

2 active deployments
Preview – debate-navigator — b90184f6 Deployed Oct 19, 2026 by vercel[bot]
Preview – debatelab-staging — b90184f6 Deployed Oct 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants