v0.11.9 — search indexing coverage
Nothing here changes what the site looks like. The release is about being findable: roughly 250 pages that Google had no way to index, or no way to tell apart, now have their own titles and are enumerated in the sitemap.
Search indexing (#548)
The crawler-meta edge function covered only /episode, /article and /stock. Everything else served index.html's generic title to Googlebot verbatim, which is a reliable way not to get indexed.
| Fixed | Pages |
|---|---|
/topics and /podcaster served the homepage's title and description to crawlers |
176 |
/sector/:id was in neither the sitemap nor the middleware — undiscoverable |
81 |
https://tinboker.com/sitemap.xml answered with index.html (200 text/html) |
all |
Each sector page now carries its own zh-TW description — the paragraph the page already renders — rather than a template. /tag/:tag and /topics/:tag render the same component and now both canonicalize to /topics/, so the page no longer competes with itself. dev. and staging. were fully indexable copies of production and now return X-Robots-Tag: noindex.
functions/ sits outside src/, so neither tsc nor the changed-files lint ever saw that file. npm run validate:seo now covers it in CI.
Also in this release
- Threads comment triage (#553) — an admin 留言 tab that pulls comments, classifies them, and drafts replies. The unattended auto-reply loop is deliberately held off in this release (#556): it is production-only by design, so no other environment can exercise it first, and it should be switched on by a person watching the triage rather than by a deploy. Manual sync and reply work now.
- Audio cache headers (#551) — immutable caching for episode media.
- VPS container-runtime CPU leak (#547).
Verified on staging before tagging
staging /topics/ai <title>#AI | 聽播客 TinBoker</title>
staging /sector/sector_mlcc <title>被動元件 MLCC | 聽播客 TinBoker</title>
staging /podcaster/Gooaye… <title>Gooaye 股癌 · Podcast 頻道 | 聽播客 TinBoker</title>
staging / x-robots-tag: noindex, nofollow
staging /sitemap.xml application/xml — 659 URLs, 82 /sector/
Manual follow-ups
Resubmit the sitemap at https://tinboker.com/sitemap.xml in Search Console, and request removal of any dev./staging. URLs already indexed — the new noindex only prevents future indexing. Recrawling ~570 pages takes weeks, so traffic will not move immediately.
Full changelog: v0.11.8...v0.11.9