Repository navigation
Drop the $0 trial Offer so the app never reads as free - #275
Conversation
Google treats an Offer priced 0 as an app available without payment, so the "Free trial" Offer made DebateOwl look like it had a free tier. The SoftwareApplication now has one Pro Offer at $5/month (P1M UnitPriceSpecification), and its description states the 3-day trial. The llms.txt bullet that denies a free plan was labelled "Free plan:"; it is now "Trial and free tools:". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed.
|
| Layer / File(s) | Summary |
|---|---|
Update trial and Pro offer metadata scripts/generate_seo_content.py, src/prerender/entry.tsx, public/best-ai-debate-tools/index.html, public/debateowl-pricing/index.html, public/debateowl-vs-*/index.html, public/llms.txt |
The structured data removes the separate zero-price trial offer and places trial terms in the Pro offer description. Monthly pricing and its price specification remain. The llms.txt pricing label changes to “Trial and free tools.” |
Estimated code review effort: 2 (Simple) | ~10 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.
The DebateOwl app has no free plan: a 3-day free trial, then Pro at $5/month. Two places on debateowl.com could be read as saying there is a free plan.
What changed
/,/debateowl-pricing,/best-ai-debate-tools, the threedebateowl-vs-*pages): theOffernamed "Free trial" withprice: "0"is gone. There is now one ProOfferatprice: "5"with the existingUnitPriceSpecification(billingDuration: P1M, tax not included). Its description states the 3-day trial and that there is no free plan. Both copies changed together:src/prerender/entry.tsx(home page) andSOFTWAREinscripts/generate_seo_content.py(generated pages).Free plan:is nowTrial and free tools:. The sentence is unchanged and still says the app has no free plan. I didn't usePricing:because the bullet just above it already has that label. ThefreePlankey insite.jsonkeeps its name: it's never rendered, and renaming it would touch three locales, two scripts and a test for no reader-facing gain.public/was regenerated withpython3 scripts/generate_seo_content.py, with no hand edits. The only generated changes are the five Offer blocks and the llms.txt line.The home-page FAQ ("Is DebateOwl free?") and the comparison-table rows already deny a free plan in their own wording, so I left them alone.
Why one paid Offer rather than a trial Offer with
eligibleDurationoffers.priceto0." Any 0-price Offer in the graph tells Google the app can be had without paying. Renaming that Offer doesn't change how Google reads it.eligibleDurationas "the duration for which the given offer is valid" (aQuantitativeValue). That is how long the offer stays valid, not how long a trial lasts. PuttingP3Dthere would claim the price only holds for three days.That leaves one Offer for what is actually sold, $5 a month, with the trial stated in plain text.
Before
After
Verification
GitHub Actions is billing-blocked, so this is a local pass at the head commit, not a CI pass.
NODE_OPTIONS=--max-old-space-size=3072 npm run verifyexited 0:sitemap: 62 URLs;check-site: 65 HTML files, sitemap and llms.txt resolve; no problems(this parses every page's JSON-LD);check-links: 62 sitemap URLs … no problems@smokesuite (47 of 47) passedNo test asserted the old Offer shape, so no tests changed. Nothing under
supabase/changed.🤖 Generated with Claude Code
Summary by CodeRabbit