fix(seo): stop the retired Agent Desk from claiming the apex root as its canonical - #131
fix(seo): stop the retired Agent Desk from claiming the apex root as its canonical#131nish3451 wants to merge 3 commits into
Conversation
…its canonical The 2026-08-09 de-indexing pass (PR #46) added noindex, nofollow and retired framing to the legacy /agent-desk surface, but left the surface declaring the homepage as its canonical: public/agent-desk.html still served <link rel="canonical" href="https://tinystudio.io/"> and og:url pointing at the apex root — the exact consolidation mechanism through which the retired 'TinyStudio Agent Desk' title reached tinystudio.io (q5/google evidence, 2026-08-06), and the one convention every other owned page follows (canonical/og:url name the page's own served .html twin) that the legacy page kept violating. The legacy surface (still served at /agent-desk and /agent-desk.html via worker PUBLIC_ASSET_PATHS) now canonicals to its own served address, https://tinystudio.io/agent-desk.html, in og:url and the canonical link. check-site.mjs fails if the legacy head's canonical is missing, duplicated, or points anywhere else, and if og:url points anywhere else. noindex framing, routing, robots.txt, sitemap and visible UI are untouched; no SERP change is claimed.
|
Warning Review limit reached
Next review available in: 33 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.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f9330a6282
ℹ️ 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".
| <meta property="og:url" content="https://tinystudio.io/agent-desk.html" /> | ||
| <link rel="canonical" href="https://tinystudio.io/agent-desk.html" /> |
There was a problem hiding this comment.
Point metadata at the non-redirecting Agent Desk URL
Under the configured Cloudflare asset deployment, /agent-desk.html redirects to its extensionless twin; the repository documents this behavior in scripts/check-site.mjs lines 1587-1591 and explicitly says canonicals must name the address serving 200 rather than the redirecting form. Consequently, these new values do not identify the page's own final URL and may leave search engines or social scrapers resolving another URL instead of receiving the intended direct self-reference. Use https://tinystudio.io/agent-desk for both the canonical and og:url, and make the new guard expect that URL.
Useful? React with 👍 / 👎.
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.
|
Closing as the stale duplicate in the agent-desk-canonical PR reconciliation (see docs/evidence/agent-desk-canonical-pr-reconcile-2026-08-12). PR #105 (duplicate-open-pr-clusters-2026-08-11) already declared #91 the surviving delivery path for the retired Agent Desk canonical/og:url fix, and this branch was opened after that declaration without it. #91 carries the byte-identical public/agent-desk.html change (canonical + og:url -> https://tinystudio.io/agent-desk.html); this branch's check-site.mjs guard and 2026-08-12 evidence receipt differ only in wording/currency, not fix content. #91 has since been refreshed onto current origin/main (merge 333099f, npm run check + npm test green) and is MERGEABLE — the single delivery path. |
… current main and live (2026-08-21, lane 1) (#276) Item ba5fb5fb58: the THREE agent-desk-canonical PRs #91/#131/#138 are no longer a duplicate open-PR cluster — #131 and #138 were closed by PR #157 on 2026-08-12, the substantive fix is on origin/main head 92d55c3 via PR #229 (commit 798cd71, merged 2026-08-17), and the canonical <link rel="canonical" href="https://tinystudio.io/agent-desk"> plus matching <meta property="og:url"> are present on source and live, md5-for-md5 (3310f720f1b9234970327ba35c52da94). Re-verification on the current head shows no code change is needed. This receipt is process evidence — a state verification of the repository's pull requests plus a reconciliation-history re-verify — not a live-index measurement. The dispatch item's trailing token "#105's declared survivor #9" reads "#91" in the backlog source and in the pr/postmerge-198 snapshot; the typo is in the dispatch only. Co-authored-by: minimax-vps <minimax-vps@local> Co-authored-by: minimax-vps <minimax-vps@users.noreply.github.com>
What
The retired self-serve Agent Desk surface (
/agent-desk,public/agent-desk.html) still declared the homepage as its canonical and og:url —<link rel="canonical" href="https://tinystudio.io/">— while being servednoindex, nofollowwith retired framing. That apex-root claim is the documented consolidation mechanism through which the retired "TinyStudio Agent Desk" title/snippet reached tinystudio.io (q5/google evidence, 2026-08-06: "tinystudio.io - TinyStudio Agent Desk" attached to the homepage URL). A noindex page canonicalizing to a live page tells Google it is a duplicate of that page.Change
public/agent-desk.html: canonical and og:url now name the page's own served address,https://tinystudio.io/agent-desk.html— the same self-address form every other owned page uses (/agents.html,/pricing.html,/specimen.html).scripts/check-site.mjs: the retired-desk guard now failsnpm run checkif the canonical is missing, duplicated, or points anywhere else, and if og:url points anywhere else. Regression-verified: reverting the HTML change fires both assertions.docs/evidence/agent-desk-title-canonical-2026-08-12.md: records the pass with the live-before state (2026-08-12).No change to routing, robots.txt, sitemap, visible legacy UI, or the 410 hosts (already corrected by #100). No SERP change is claimed — de-indexing starts only after Google recrawls; this cuts the last repository-side wire feeding the retired title to the homepage.
Verification
npm run checkgreennpm testgreen (92 subtests: 6 headings, 7 sitemap, 55 worker, 16 UI, 8 product contract), exit 0git diff --checkclean