Skip to content

fix(seo): stop the retired Agent Desk from claiming the apex root as its canonical - #131

Closed
nish3451 wants to merge 3 commits into
mainfrom
fix/agent-desk-title-canonical-lane1
Closed

fix(seo): stop the retired Agent Desk from claiming the apex root as its canonical#131
nish3451 wants to merge 3 commits into
mainfrom
fix/agent-desk-title-canonical-lane1

Conversation

@nish3451

Copy link
Copy Markdown
Collaborator

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 served noindex, nofollow with 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 fails npm run check if 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 check green
  • npm test green (92 subtests: 6 headings, 7 sitemap, 55 worker, 16 UI, 8 product contract), exit 0
  • git diff --check clean

…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.
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@nish3451, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 33 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8710c714-b277-4026-b212-dc235e45084a

📥 Commits

Reviewing files that changed from the base of the PR and between ad9cee3 and f32bc42.

📒 Files selected for processing (3)
  • docs/evidence/agent-desk-title-canonical-2026-08-12.md
  • public/agent-desk.html
  • scripts/check-site.mjs

Comment @coderabbitai help to get the list of available commands.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread public/agent-desk.html
Comment on lines +18 to +19
<meta property="og:url" content="https://tinystudio.io/agent-desk.html" />
<link rel="canonical" href="https://tinystudio.io/agent-desk.html" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@nish3451

Copy link
Copy Markdown
Collaborator Author

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.

@nish3451 nish3451 closed this Aug 12, 2026
nish3451 added a commit that referenced this pull request Aug 21, 2026
… 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant