diff --git a/public/debateowl-pricing/index.html b/public/debateowl-pricing/index.html
index fc66a8cc..67425b64 100644
--- a/public/debateowl-pricing/index.html
+++ b/public/debateowl-pricing/index.html
@@ -30,7 +30,7 @@
-
+
diff --git a/public/debateowl-vs-chatgpt/index.html b/public/debateowl-vs-chatgpt/index.html
index ce11fc19..dcbbcfd9 100644
--- a/public/debateowl-vs-chatgpt/index.html
+++ b/public/debateowl-vs-chatgpt/index.html
@@ -30,7 +30,7 @@
-
+
diff --git a/public/debateowl-vs-debateclub/index.html b/public/debateowl-vs-debateclub/index.html
index 3431ded3..b07fb0c5 100644
--- a/public/debateowl-vs-debateclub/index.html
+++ b/public/debateowl-vs-debateclub/index.html
@@ -30,7 +30,7 @@
-
+
diff --git a/public/debateowl-vs-windebate/index.html b/public/debateowl-vs-windebate/index.html
index 2f0aaf8d..75786409 100644
--- a/public/debateowl-vs-windebate/index.html
+++ b/public/debateowl-vs-windebate/index.html
@@ -30,7 +30,7 @@
-
+
diff --git a/public/llms.txt b/public/llms.txt
index 02f25f46..70d7ddb0 100644
--- a/public/llms.txt
+++ b/public/llms.txt
@@ -13,7 +13,7 @@ DebateOwl runs at https://debateowl.com/. It is a separate product from debatela
- Practice: Sparring runs timed rounds against an AI opponent in School 4-6-6-3, Lincoln-Douglas and Public Forum and ends with a judged verdict. Crossfire drills cross-examination.
- Languages: English, Spanish and Hungarian.
- Pricing: As of October 2026, DebateOwl has a 3-day free trial with no credit card required, then Pro costs $5/month + tax. There is no permanent free plan.
-- Free plan: The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.
+- Trial and free tools: The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.
- Pro adds expanded AI prep access, all 10 models (including Claude Opus and Sonnet, GPT-6.1 Sol and Gemini), Active Grounding research and priority support.
- Privacy: cases, sources, practice rounds and history stay behind sign-in and are not indexed.
diff --git a/scripts/generate_seo_content.py b/scripts/generate_seo_content.py
index a29fadd8..d94b9419 100644
--- a/scripts/generate_seo_content.py
+++ b/scripts/generate_seo_content.py
@@ -369,9 +369,9 @@ def check_link_tables():
"url": BASE + "/",
"inLanguage": ["en", "es", "hu"],
"featureList": [EN["features"][key] for key in PREP_MODES + UTILITIES] + [EXPORT_FEATURE],
+ # One paid offer, as src/prerender/entry.tsx has it: Google reads an Offer priced 0 as a free app.
"offers": [
- {"@type": "Offer", "name": "Free trial", "price": "0", "priceCurrency": PRICING["currency"], "description": f"{PRICING['trialDays']}-day free trial, no credit card required. {FREE_PLAN}"},
- {"@type": "Offer", "name": "Pro", "price": PRICING["proMonthly"], "priceCurrency": PRICING["currency"], "description": "Monthly subscription, billed plus tax.", "priceSpecification": {"@type": "UnitPriceSpecification", "price": PRICING["proMonthly"], "priceCurrency": PRICING["currency"], "billingDuration": "P1M", "valueAddedTaxIncluded": False}},
+ {"@type": "Offer", "name": "Pro", "price": PRICING["proMonthly"], "priceCurrency": PRICING["currency"], "description": f"Monthly subscription, billed plus tax. New accounts get a {PRICING['trialDays']}-day free trial first, no credit card required. {FREE_PLAN}", "priceSpecification": {"@type": "UnitPriceSpecification", "price": PRICING["proMonthly"], "priceCurrency": PRICING["currency"], "billingDuration": "P1M", "valueAddedTaxIncluded": False}},
],
"publisher": {"@id": BASE + "/#organization"},
}
@@ -818,7 +818,7 @@ def llms_txt():
- Practice: Sparring runs timed rounds against an AI opponent in School 4-6-6-3, Lincoln-Douglas and Public Forum and ends with a judged verdict. Crossfire drills cross-examination.
- Languages: English, Spanish and Hungarian.
- Pricing: {PLAN_FACTS}
-- Free plan: {FREE_PLAN}
+- Trial and free tools: {FREE_PLAN}
- Pro adds expanded AI prep access, all 10 models (including Claude Opus and Sonnet, GPT-6.1 Sol and Gemini), Active Grounding research and priority support.
- Privacy: cases, sources, practice rounds and history stay behind sign-in and are not indexed.
diff --git a/src/prerender/entry.tsx b/src/prerender/entry.tsx
index e2918450..1c993db7 100644
--- a/src/prerender/entry.tsx
+++ b/src/prerender/entry.tsx
@@ -124,20 +124,15 @@ function landingStructuredData(dateModified: string | undefined) {
description: SOFTWARE_DESCRIPTION,
inLanguage: ['en', 'es', 'hu'],
featureList: [...APP_TOOLS.map((tool) => i18n.t(`features.${tool.key}`)), EXPORT_FEATURE],
+ // One paid offer. Google reads an Offer priced 0 as an app available without
+ // payment, so the trial is stated in the Pro offer's text, not as an offer of its own.
offers: [
- {
- '@type': 'Offer',
- name: 'Free trial',
- price: '0',
- priceCurrency: PRICING.currency,
- description: `${PRICING.trialDays}-day free trial, no credit card required. ${FREE_PLAN}`,
- },
{
'@type': 'Offer',
name: 'Pro',
price: PRICING.proMonthly,
priceCurrency: PRICING.currency,
- description: 'Monthly subscription, billed plus tax.',
+ description: `Monthly subscription, billed plus tax. New accounts get a ${PRICING.trialDays}-day free trial first, no credit card required. ${FREE_PLAN}`,
priceSpecification: {
'@type': 'UnitPriceSpecification',
price: PRICING.proMonthly,