fix(public): de-index the retired Agent Desk surface so its title cannot stand in for tinystudio.io - #46
Conversation
…not stand in for tinystudio.io Google still presented the retired self-serve "TinyStudio Agent Desk" title/snippet for tinystudio.io. The evidence fixture captured it on 2026-08-06 (q5/google: "tinystudio.io - TinyStudio Agent Desk" against the homepage URL), and the live /agent-desk page served 200 with that title and no robots exclusion — its canonical consolidated the legacy title onto tinystudio.io. The legacy surface (public/agent-desk.html, still served at /agent-desk and /agent-desk.html) now declares noindex, nofollow in its head and reframes title, description, og:/twitter tags and the Organization structured data as retired, mirroring the /brief-requested exclusion and the llms.txt/offer.md demotion. check-site.mjs fails if the noindex meta, the retired framing, or the retired description ever drift. Visible legacy UI copy, routing, sitemap and robots.txt are untouched; no SERP change is claimed. Co-authored-by: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
Warning Review limit reached
Next review available in: 27 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e44ada31a5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (!/\bretired\b/i.test(retiredDeskHead)) { | ||
| failures.push("Retired Agent Desk page head must frame the surface as retired (title and/or description)."); | ||
| } |
There was a problem hiding this comment.
Validate the retired wording in the title itself
This condition searches the entire head, while the following condition already requires retired in the description, so it never independently validates the <title>. Restoring the legacy <title>The Tiny Studio Agent Desk</title> while leaving the new description unchanged still passes npm run check, allowing the exact title regression this guard is intended to prevent. Extract and check the title element separately, as is done for the description.
Useful? React with 👍 / 👎.
… finding on current main and live (2026-08-17) (#236) All code-side paths that fed Google the retired 'TinyStudio Agent Desk' name are closed and live: PR #46 noindex+retired framing on the legacy /agent-desk surface, PR #181 (05efed1) retiring the duplicate www host by 301 to apex, and PR #229 (798cd71, merged today) making the legacy page's canonical/og:url name the clean /agent-desk instead of the apex root. This lane re-verified every surface against origin/main 7d3a8ae and live: apex title/description/canonical current with zero Agent Desk strings, www (http+https, deep paths, query) 301s to apex, /agent-desk serves noindex/nofollow retired framing with self-canonical, app/api 410, and robots/sitemap/llms/offer all correct. npm run check passes, npm test is green (121 tests, 0 failures), git diff --check clean. SERP measurement was attempted but curl fetches are bot-blocked; index refresh is Google's timetable. Closes item f41c8af0f8. Co-authored-by: nish3451 <nish3451@users.noreply.github.com>
What and why
Google still presented the retired self-serve "TinyStudio Agent Desk" title/snippet for tinystudio.io. The cause is the legacy surface
public/agent-desk.html(still served at/agent-deskand/agent-desk.html):<title>The Tiny Studio Agent Desk</title>and a "Self-serve AI agents for high-ticket pipeline setup" description, with no robots exclusion.evidence-fixtures/ai-search/evidence.json, q5/google: title "tinystudio.io - TinyStudio Agent Desk" against the homepage URL) and re-verified live 2026-08-09 (/agent-deskserves 200 with the old head).What changed
public/agent-desk.htmlhead gains<meta name="robots" content="noindex, nofollow" />(same exclusion/brief-requestedcarries by design).scripts/check-site.mjsgains a regression guard:npm run checkfails if the head losesnoindex, nofollow, if the head stops framing the surface as retired, or if the description stops framing it as retired. (Negative test performed: stripping the noindex meta fails the check; restored file passes.)What deliberately did not change
robots.txt(a Disallow would block recrawling the page and slow de-indexing), sitemap, worker routing, the other five public pages.Verification
npm run check— greennpm test— 82/82 subtests green (6 headings, 7 sitemap, 53 worker, 16 UI), exit 0git diff --check— cleandocs/evidence/agent-desk-retired-title-2026-08-09.md.