From fc8a7e1f653f25de53a6042da84ce19749939def Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 18 Oct 2026 15:24:50 +0000 Subject: [PATCH] Give five guide pages their own content and one brand config Google crawled /ai-debate-practice, /ai-debate-coach, /ai-debate-case-generator, /best-ai-debate-tools and /debate-rebuttal-practice but did not index them. Each had about 2,000 characters of visible text, and every feature card repeated the same sentence, three times per page across all 49 guides. - The shared template no longer prints that sentence. Cards can carry a page-specific description; pages without one show the title only. - The five pages get long-form copy in scripts/seo_guides.py: step-by-step how-tos, a worked example, WSDC/BP/PF/LD tips and their own FAQs. The FAQ list feeds both the visible FAQ and the FAQPage JSON-LD. - src/config/site.json now holds the origin, product, brand and organization names. The generator, pages.ts, the prerender entry, prerender.mjs and sitemap.mjs read it, and guide copy uses {product}. - CONTENT_DATE moves to 2026-10-18 because every guide's text changed. Titles, canonicals, the Article and Breadcrumb JSON-LD and the related guide links are unchanged on all five pages. Co-Authored-By: Claude Opus 5.5 --- docs/operations.md | 4 + public/ai-debate-case-generator/index.html | 8 +- public/ai-debate-coach/index.html | 8 +- public/ai-debate-evidence-research/index.html | 4 +- public/ai-debate-practice/index.html | 8 +- public/ai-rebuttal-generator/index.html | 4 +- .../ai-tools-for-debate-students/index.html | 4 +- .../ai-vs-traditional-debate-prep/index.html | 4 +- public/argument-flowchart/index.html | 4 +- public/best-ai-debate-tools/index.html | 8 +- .../british-parliamentary-debate/index.html | 4 +- public/congress-debate/index.html | 4 +- .../debate-argument-flowchart-tool/index.html | 4 +- public/debate-block-file-guide/index.html | 4 +- public/debate-case-generator/index.html | 4 +- public/debate-clash-points/index.html | 4 +- public/debate-collapsing-strategy/index.html | 4 +- .../debate-cross-examination-tips/index.html | 4 +- public/debate-evidence-finder/index.html | 4 +- .../debate-evidence-verification/index.html | 4 +- public/debate-fallacies/index.html | 4 +- public/debate-impact-calculus/index.html | 4 +- public/debate-judge-adaptation/index.html | 4 +- public/debate-motion-analysis/index.html | 4 +- public/debate-note-taking-flowing/index.html | 4 +- public/debate-prep-time-management/index.html | 4 +- .../index.html | 4 +- public/debate-rebuttal-practice/index.html | 8 +- public/debate-speech-structure/index.html | 4 +- public/debate-topics-for-students/index.html | 4 +- public/debate-weighing-guide/index.html | 4 +- public/debatelab-alternatives/index.html | 4 +- public/debatelab-pricing/index.html | 4 +- public/debatelab-vs-chatgpt/index.html | 4 +- public/debatelab-vs-debateclub/index.html | 4 +- public/debatelab-vs-windebate/index.html | 4 +- .../how-to-cross-examine-in-debate/index.html | 4 +- public/how-to-flow-in-debate/index.html | 4 +- public/how-to-practice-rebuttals/index.html | 4 +- .../index.html | 4 +- public/how-to-weigh-in-debate/index.html | 4 +- public/how-to-write-a-debate-case/index.html | 4 +- .../how-to-write-a-rebuttal-speech/index.html | 4 +- public/lincoln-douglas-debate/index.html | 4 +- public/online-debate-timer-tool/index.html | 4 +- public/online-debate-timer/index.html | 4 +- public/policy-debate/index.html | 4 +- public/public-forum-debate/index.html | 4 +- public/world-schools-debate/index.html | 4 +- public/wsdc-debate-practice/index.html | 4 +- scripts/generate_seo_content.py | 85 +++- scripts/prerender.mjs | 2 +- scripts/seo_guides.py | 367 ++++++++++++++++++ scripts/sitemap.mjs | 2 +- src/config/site.json | 6 + src/lib/seo/pages.ts | 25 +- src/prerender/entry.tsx | 6 +- 57 files changed, 570 insertions(+), 143 deletions(-) create mode 100644 scripts/seo_guides.py create mode 100644 src/config/site.json diff --git a/docs/operations.md b/docs/operations.md index cb3dbbca0..bb697babd 100644 --- a/docs/operations.md +++ b/docs/operations.md @@ -52,6 +52,10 @@ After `vite build`, [`scripts/prerender.mjs`](../scripts/prerender.mjs) renders [`scripts/sitemap.mjs`](../scripts/sitemap.mjs) then writes `dist/sitemap.xml` from every page in `dist/` that names itself as canonical and is not `noindex`. Each `` is the `dateModified` the page declares in its JSON-LD: the guide pages' `CONTENT_DATE` in [`scripts/generate_seo_content.py`](../scripts/generate_seo_content.py), the legal pages' "last updated" dates, and the landing page's last source commit. A page without a date is listed without ``. +The guide pages in `public//index.html` are generated, not hand-edited: run `python3 scripts/generate_seo_content.py` and commit its output. Short pages live in its `PAGES` list; pages with long-form copy, their own highlight-card descriptions, and their own FAQs (which also feed the page's FAQPage JSON-LD) live in [`scripts/seo_guides.py`](../scripts/seo_guides.py). Keep `PAGES` in order, because each page's related-guide links are picked by position. + +The site origin, product name, brand line, and organization name live in [`src/config/site.json`](../src/config/site.json). The app's head tags, the prerender and sitemap scripts, and the guide generator all read it, and guide copy names the product with a `{product}` token. Do not hardcode those strings in new code or copy. + [`src/test/vercel-deployment-config.test.ts`](../src/test/vercel-deployment-config.test.ts) guards these rules. Update it together with `vercel.json`, and do not paste the full configuration into another guide. A Vercel deploy ships only the frontend. Supabase migrations and Edge Functions are separate operations with their own authorization, so a frontend that depends on new schema must wait until that schema is applied to production. diff --git a/public/ai-debate-case-generator/index.html b/public/ai-debate-case-generator/index.html index 7ab8c729b..01638f9f5 100644 --- a/public/ai-debate-case-generator/index.html +++ b/public/ai-debate-case-generator/index.html @@ -15,15 +15,15 @@ - +
Tool guide

AI Debate Case Generator with Citations

Draft faster, verify carefully, and walk into the round with a structured case.

-

Structured case drafts

A crawlable overview of a DebateLab workflow that opens into the private app.

Evidence leads

A crawlable overview of a DebateLab workflow that opens into the private app.

Format templates

A crawlable overview of a DebateLab workflow that opens into the private app.

-

What an AI case generator should do

A good case generator does not write your case for you. It gives you structure: claims, warrants, impacts, and research leads that you verify and adapt.

Citation and evidence workflows

Generated evidence leads are starting points, not final cards. Always check the original source, confirm the quote, and make sure the evidence supports your link.

How DebateLab's case generator works

DebateLab generates structured draft cases that you can attack, refine, and prepare. The private workspace holds your saved cases and history.

+

Structured case drafts

Each draft has a thesis, a framework, contentions with warrants and impacts, the case the other side is likely to run, and counters to it.

Evidence leads

Turn on web research to get sources alongside the draft, then check each one against the original before it goes on a card.

Format templates

Set the format and your role so the draft fits British Parliamentary, Policy, a classroom debate or a custom structure.

+

What the case generator produces

Generate takes the motion from your Current Debate and returns a structured case, not a block of prose. Every draft has the same parts, so you always know where to look:

  • Thesis: the one-sentence reason your side should win.
  • Framework: how the judge should decide the round, such as the definition, the burden or the weighing standard you will argue for.
  • Contentions: each with a claim, the warrant that makes it true, and the impact that makes it matter.
  • Predicted opponent case: the arguments a strong team on the other side is likely to run.
  • Counters: first responses to that predicted case.

Because the opponent case is part of the draft, you start preparing rebuttals at the same time as your own case. When one section is weak, regenerate just that section; the rest of the case stays where it is. Finished cases export to PDF or DOCX.

From motion to verified case in seven steps

  1. Start a Current Debate with the exact motion wording. Small wording changes, such as should against would, change the burden.
  2. Add the sources you already trust to the Library. Active sources are used when the case is generated, so the draft builds on your research instead of ignoring it.
  3. Set the format and your role, and add instructions if you need a particular angle, for example a principled argument or an economic one.
  4. Turn on web research if you want evidence leads, and generate the case.
  5. Read the predicted opponent case first and decide which of your contentions actually answers it. Cut contentions that do not clash with anything.
  6. Regenerate any section that is vague, then verify every evidence lead against its original source.
  7. Rewrite the final case in your own words and time a full reading of it before you call it ready.

Worked example: a generated case, and what the debater changed

Motion: This house would introduce a four-day school week

Side: Proposition.

Thesis: A shorter week concentrates instruction where it works and gives schools a recruitment advantage they cannot buy with pay.

Framework: The round should be decided by learning outcomes for students across the school, not by the convenience of any single group.

Contention 1: Teacher retention. Claim: a four-day week keeps experienced teachers. Warrant: schools competing for staff cannot always raise salaries, but they can offer time. Impact: experienced teachers are among the strongest in-school drivers of student learning.

Predicted opposition: Childcare costs for working parents on the fifth day, and lost instruction time for students who are already behind.

Counter: Schools can run an optional fifth-day programme for families who need it, and longer remaining days protect total instruction hours.

Evidence lead to verify: Research on districts that moved to four-day weeks, looking at attendance, teacher turnover and test results. Read the methodology: results differ between rural and urban districts.

What the debater changed: Cut a weaker cost-saving contention the opposition would easily mitigate, and moved the instruction-hours counter into the first speech so it was on the table before the opposition raised it.

The draft gave the debater a full structure in minutes. The judgement calls, which contention to cut and where to pre-empt the opposition, were still theirs, and that is where the round was won.

Checking citations before they reach a card

Generated evidence is a starting point. Before any source goes into a speech:

  • Open the original. If you cannot find it, do not use it.
  • Find the exact sentence that supports your claim, and check that the surrounding paragraph does not qualify it.
  • Check the date, the author and who published it. A think-tank brief and a peer-reviewed study carry different weight.
  • Make sure the evidence supports your link, not just your topic. A study showing four-day weeks save money does not prove they improve learning.
  • Record the full citation so you can produce it if an opponent or judge asks.

Factoids is useful here: give it a single statement from your case and it researches that statement and suggests searches you can use to confirm it.

Adapting a generated case to your format

World Schools (WSDC)

A WSDC case is split between the first and second speakers, with a team line both can repeat. Use the thesis as the team line, give the first speaker the framework and the first contention, and keep the strongest contention for the second speaker so the case builds rather than front-loads. Generate with the custom format and say this in the instructions.

British Parliamentary (BP)

Set the format to British Parliamentary and choose your role. Opening government needs a clear definition and mechanism in the draft. Closing teams should treat the generated case as material the opening half will probably use, and look in the predicted opponent case for an extension nobody else in the room is likely to run.

Public Forum (PF)

A PF constructive is four minutes, which usually means two contentions with evidence, not four. Since PF teams often find out their side shortly before the round, generate both sides of the resolution in the same debate and prepare the counters for each.

Lincoln-Douglas (LD)

In LD, the framework section becomes your value and criterion. Check that every contention explicitly links back to the criterion; if one does not, regenerate it with an instruction to tie it to the standard you chose. Prepare a short defence of the criterion itself, because the negative will often attack it first.

Mistakes to avoid with generated cases

  • Reading the draft in round. Judges hear the difference between a case you wrote and one you are reading for the first time.
  • Keeping every contention. Three well-defended points beat five thin ones.
  • Skipping the predicted opponent case. It is the fastest route to your rebuttals.
  • Citing an evidence lead you never opened.

Related DebateLab guides

-

Frequently asked questions

Is DebateLab an AI debate practice platform?

Yes. DebateLab focuses on debate prep workflows such as cases, rebuttals, evidence, flowcharts, coaching, and timing.

Can Google index private DebateLab app pages?

No. Private dashboards and account routes should remain noindexed while public guides provide crawlable context.

Should students verify AI-generated debate evidence?

Yes. AI can suggest research leads, but students should check original sources before using evidence in round.

+

Frequently asked questions

Does the case generator write a complete case?

It writes a complete draft: thesis, framework, contentions with warrants and impacts, the likely opposing case and counters. Treat it as a structure to cut, verify and rewrite in your own words.

Are the generated citations reliable?

They are research leads. With web research on, the draft includes sources, but you should open every one, confirm the exact claim and record the full citation before using it.

Which debate formats does the generator support?

You can set the format to British Parliamentary, Policy, Classroom or Custom and choose your role. For WSDC, Public Forum and Lincoln-Douglas, use Custom and describe the structure in the instructions.

Can I change one part of a case without starting over?

Yes. Regenerate a single section and the rest of the case stays on screen unchanged.

Can I export a generated case?

Yes. Cases export to PDF and DOCX, and cases created in a Current Debate are saved to it automatically.

diff --git a/public/ai-debate-coach/index.html b/public/ai-debate-coach/index.html index 608c2a975..b6971bd3f 100644 --- a/public/ai-debate-coach/index.html +++ b/public/ai-debate-coach/index.html @@ -15,15 +15,15 @@ - +
Feature guide

Ask an AI Debate Coach for Round-Ready Prep

Get focused help with strategy, structure, weighing, rebuttals, speeches, and practice feedback.

-

Strategy help

A crawlable overview of a DebateLab workflow that opens into the private app.

Speech structure

A crawlable overview of a DebateLab workflow that opens into the private app.

Practice feedback

A crawlable overview of a DebateLab workflow that opens into the private app.

-

What an AI debate coach should do

The useful coach asks what the round is about, what side you are on, what your burden is, and what the judge needs to compare.

DebateLab supports strategy, structure, weighing, rebuttals, and speech practice rather than generic essay writing.

Use coaching to improve faster

After a practice speech, ask what was unclear, what was under-warranted, and what should become the collapse. Then repeat with a narrower drill.

Public guidance, private workspace

Coaching explanations can be public and indexable. Your saved cases, history, and private prep remain protected behind login.

+

Strategy help

Ask which clash decides the round, what your burden is and where to spend your speaking time, with answers that use your debate's motion and sources.

Speech structure

Get an outline for a constructive, rebuttal, summary or reply speech: the order of points and how long to give each one.

Practice feedback

Paste a speech or a flow and ask what was unclear, under-warranted or dropped, then pick one fix to drill.

+

What an AI debate coach is for

A good human coach rarely gives you an answer first. They ask what the round is about, which side you are on, what you have to prove, and what the judge will be comparing at the end. The AI coach in DebateLab works best the same way: as a partner you think out loud with, not a machine that writes speeches.

Ask is a coaching chat that streams its answer as it writes, and it already knows your Current Debate: the motion and the Library sources you have marked active. That context is the main difference from a general chatbot. You do not have to paste the motion and your research into every question, and the advice stays tied to one debate instead of drifting between topics.

How to ask a coaching question that gets a useful answer

Vague questions get generic answers. Compare these two:

  • Weak: How do I win this debate?
  • Strong: I am second opposition in a WSDC round on this motion. Our first speaker argued the policy is unworkable. What should I add so I am not repeating her, and which proposition argument should I spend most of my rebuttal on?

The strong version names the format, the speaker role, what has already been said and the decision you actually have to make. A reliable template is: format, side and speaker, what is already on the table, what you are stuck on, and what kind of answer you want (a list, an outline or a single recommendation).

Five coaching conversations worth having before a tournament

  1. Burden check: ask what each side has to prove for the motion to stand or fall, and where the line between them sits. Many rounds are lost on a burden nobody named.
  2. Clash map: ask for the three places where the cases will meet. Plan your speeches around those, not around your own contentions.
  3. Weighing rehearsal: give the coach your impact and the likely opposing impact and ask for the comparison in two sentences. Repeat until you can say it without notes.
  4. Speech audit: paste a practice speech and ask which claim had no warrant, which point ran too long, and what a judge would remember from it.
  5. Opponent prediction: ask how a strong team on the other side would frame the debate, then ask what your first response to that framing should be.

Worked example: coaching a weak rebuttal

Motion: This house believes social media companies should be legally liable for misinformation on their platforms

Student's rebuttal: Their argument is wrong because free speech is important and this would destroy it.

Coach's diagnosis: The response asserts a value but never connects it to the proposition's mechanism. It does not say how liability leads to less speech, so the judge has nothing to weigh.

Coach's question back: What would a platform rationally do if it could be sued for every false post?

Rebuilt rebuttal: Liability makes every borderline post a legal risk. A platform facing that risk removes anything it cannot verify quickly, which includes breaking news, whistleblowers and minority viewpoints. So the proposition does not just remove misinformation; it removes true speech that is hard to check, and the people who lose most are those with no other platform.

Follow-up drill: Deliver the rebuilt response in forty-five seconds, then ask the coach for the strongest proposition answer to it and prepare a single-sentence reply.

Notice that the coach did not write the rebuttal outright. It asked the question that exposed the missing link, which is the habit you want to build for rounds where no coach is available.

Coaching by format

World Schools (WSDC)

Ask the coach to check your team split: what the first and second speakers each own, and whether the third speaker can rebut without introducing a new argument. For the reply speech, ask for a structure built around the two or three questions the debate turned on, told from your side, without new material.

British Parliamentary (BP)

Role fulfilment decides BP rooms. Ask the coach whether your member speech is a true extension or a restatement of your opening bench, and ask what a whip speech should do with the five other speeches already in the room: group them into clashes, not summaries of each speaker.

Public Forum (PF)

Use coaching to plan the summary before the round. Ask which two issues you can realistically extend from constructive through final focus, and what the second rebuttal must frontline so those issues survive. Also ask for crossfire questions that set up your summary rather than score points.

Lincoln-Douglas (LD)

LD coaching is often framework coaching. Ask the coach whether your criterion actually measures your value, how your contentions link back to the criterion, and when it is safer to concede the opponent's framework and show that you win under it anyway.

Getting answers with sources

When a coaching answer depends on facts, turn on citation mode in Ask. The coach then answers with sources you can open. Treat those as leads: read the original, confirm it says what the answer claims, and only then use it in a speech. Adding your own trusted articles to the Library has the same effect from the other direction, because active sources are included in every answer for that debate.

What an AI coach cannot do

It has not watched you speak, it does not know the judges at your tournament, and it cannot tell you how your partner works under pressure. Bring the conclusions from AI coaching sessions to your human coach or team, and let them correct the advice that does not fit the people in the room.

Related DebateLab guides

-

Frequently asked questions

Is DebateLab an AI debate practice platform?

Yes. DebateLab focuses on debate prep workflows such as cases, rebuttals, evidence, flowcharts, coaching, and timing.

Can Google index private DebateLab app pages?

No. Private dashboards and account routes should remain noindexed while public guides provide crawlable context.

Should students verify AI-generated debate evidence?

Yes. AI can suggest research leads, but students should check original sources before using evidence in round.

+

Frequently asked questions

What can I ask the AI debate coach?

Anything you would ask a coach between rounds: burdens, clash, weighing, speech structure, how to answer a specific argument, or why a practice speech did not land. Specific questions with format, side and speaker role get the best answers.

Does the coach know my case?

It knows your Current Debate: the motion, and the Library sources you have marked active. Paste a speech or a case section into the question when you want feedback on that exact text.

Can the AI coach cite sources?

Yes. Turn on citation mode in Ask and the answer includes sources you can open. Check each one against the original before using it in a round.

Will the coach write my speeches for me?

It can draft an outline or a passage, but you will speak better from structure you understand. Use it to find what is missing, then write the speech in your own words.

How is this different from a general AI chatbot?

The coach works inside one debate at a time, so it keeps your motion, side and sources in context, and it is set up for debate questions rather than essays.

diff --git a/public/ai-debate-evidence-research/index.html b/public/ai-debate-evidence-research/index.html index 50f637dde..3e335a235 100644 --- a/public/ai-debate-evidence-research/index.html +++ b/public/ai-debate-evidence-research/index.html @@ -15,14 +15,14 @@ - +
Tool guide

AI Debate Evidence Research Tool

Use AI for research directions, not as a replacement for reading sources.

-

Source suggestions

A crawlable overview of a DebateLab workflow that opens into the private app.

Citation direction

A crawlable overview of a DebateLab workflow that opens into the private app.

Impact linking

A crawlable overview of a DebateLab workflow that opens into the private app.

+

Source suggestions

Citation direction

Impact linking

AI research is a starting point

AI can suggest where to look: which journals, news sources, and reports might support your link. But you must open and verify the actual source.

How to verify evidence

Check author credentials, publication date, methodology, and whether the quote is in context. A card that misrepresents the source will hurt you in cross-ex.

Linking evidence to arguments

Evidence is not self-explanatory. You must explain how it supports your warrant and impact. DebateLab helps connect research to clash.

Related DebateLab guides