feat(seo): add sitemap, canonical metadata and legacy redirects

- Split the config into a createConfig(target) factory plus a thin .cn
  wrapper, so the two deployments differ in one place. The .cn build
  points canonical, hreflang, og:url, sitemap and robots at that origin,
  and omits social links that are not reachable from mainland China.
- Generate sitemap.xml and robots.txt per target. robots.txt is written
  at build time because one static file cannot carry the right origin for
  both domains.
- Emit per-page canonical, hreflang and Open Graph tags. og:title and
  friends are left to the theme, which already emits them and does not
  de-duplicate against site-level head entries.
- Redirect the retired /projects/ paths on Vercel, before the CN redirect
  so those visitors get a single hop.
This commit is contained in:
zihluwang committed 2026-09-25 14:48:49 +08:00
1 parent 638c71da44
commit 3f78e45899
3 files changed
+237 -36

No files matched your search

+20
View File
@@ -1,6 +1,26 @@
{
"outputDirectory": "doc_build",
"redirects": [
{
"source": "/zh-hans/projects",
"destination": "/zh-hans/opensource-projects/",
"permanent": true
},
{
"source": "/zh-hans/projects/:path*",
"destination": "/zh-hans/opensource-projects/:path*",
"permanent": true
},
{
"source": "/projects",
"destination": "/opensource-projects/",
"permanent": true
},
{
"source": "/projects/:path*",
"destination": "/opensource-projects/:path*",
"permanent": true
},
{
"source": "/:path(.*)",
"has": [