Repository navigation
Add a /press fact sheet and say what DebateOwl is, and is not - #293
Merged
Merged
Conversation
Google's AI Overview for "debateowl" described Owl AI on 31 October. The site now states the brand plainly in the places answer engines read. - /press: a one-sentence definition, the former name, the maker, launch year, languages, pricing, logo downloads, and a neutral "Not to be confused with" line for Owl AI (owl.ai) and debatelab.ai. English, Spanish and Hungarian copy; linked from the footer and /about. - The home page subtitle starts "DebateOwl is an AI debate prep and practice app"; the H1 is unchanged. - Organization gets sameAs (the public Programcode/DebateOwl GitHub repo, the only DebateOwl-named profile DebateOwl runs), a disambiguatingDescription, and /press as subjectOf. /about and /press carry the full Organization node too. SoftwareApplication gets the same disambiguatingDescription. - /about says in one line that DebateOwl is not a sports or computer-vision product, and links the press kit. - llms.txt names Owl AI next to debatelab.ai and lists /press and /llms-full.txt. The build writes dist/llms-full.txt: llms.txt plus the visible text of /, /about, /best-ai-for-debate and /press. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 57 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Owner
Author
|
Local |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task C from the 1 November spec plus the approved Task 3 from 31 October, in one PR. Google's AI Overview for "debateowl" described Owl AI on 31 October; this makes the brand explicit wherever search engines and answer engines read it.
What changed
/presspage, titled "DebateOwl press kit and facts | DebateOwl". It covers: a one-sentence definition ("DebateOwl is an AI debate prep and practice app for students and competitive debaters that…"), the former name (DebateLab at debate.pi-stack.org, renamed 27 October 2026), the maker (Adam, Programcode on GitHub, a student developer in Hungary, published by Pi-Stack), launch year (2026, as DebateLab), languages, pricing (3-day trial with no card, then $5/month + tax, no free plan), PNG and SVG logo downloads, a press contact email and a "Not to be confused with" line. There is no phone number or street address. The page is in English, Spanish and Hungarian, prerendered, in the sitemap with lastmod 2026-11-02, and linked from the footer and from /about.index.html, the first<p>is this sentence. Spanish and Hungarian got the same sentence in their own words. Nothing else on the homepage changed except its JSON-LD.sameAs,disambiguatingDescription("DebateOwl is an AI debate prep and practice app for students, not a sports or computer-vision product.") andsubjectOfpointing at the /press WebPage.urlstays the homepage, because an Organization'surlis its main site. I read "url/subjectOf" in the spec assubjectOf.disambiguatingDescription.sameAsis on / and /about as Task 3 asked.scripts/generate_seo_content.py, and regenerating it changed onlypublic/llms.txt./llms-full.txtis a build output. The newscripts/llms-full.mjsruns after the sitemap step and writes llms.txt followed by the visible<main>text of/,/about,/best-ai-for-debateand/press, taken from their built HTML. It always reflects the current pages, including the /best-ai-for-debate changes the other thread is making. Because it isn't an HTML page, it is not in sitemap.xml; llms.txt links to it, andcheck-sitechecks that link.I did not touch
/best-ai-for-debate, the homepage "Compare DebateOwl" row, or the static guide footers ingenerate_seo_content.py.sameAs: which profiles and why
The rule was profiles that exist today, are named DebateOwl and are DebateOwl's own. Each candidate was checked on 2 November 2026.
@debateowlreturn 404. The Instagram and TikTokdebateowlhandles return generic shells with nothing showing they belong to DebateOwl. If DebateOwl does run any of these, add the URL toorganization.sameAsinsrc/config/site.json.Claims about other products (checked 2 November 2026)
Neither line claims "best" or "#1", and neither says anything about who runs those products.
Verification
npm run verifyat this head: see the result comment below.npm run build:check-site(links, llms.txt URLs, JSON-LD parse, #short-answer, alt text) andcheck-links(inbound links, /press included) both pass./,/aboutand/press.npm test,npm run typecheck, lint on the touched files andnpm run docs:checkall pass. The build-command guard insrc/test/vercel-deployment-config.test.tsnow includes the newllms-full.mjsstep; that is the only test change./,/press,/aboutand/llms-full.txteach return 200 with the right titles:IndexNow and the Rich Results Test against production are not done, because nothing is deployed. Run them after merge.
This needs Adam's OK to merge. It changes
package.json(the build chain), so the low-risk merge rule doesn't cover it.🤖 Generated with Claude Code