Yilialinn opened a new pull request, #2100:
URL: https://github.com/apache/apisix-website/pull/2100
## Summary
- generate canonical and hreflang signals from verified English/Chinese
content pairs
- keep historical and `next` docs crawlable while marking them
`noindex,follow`
- exclude non-indexable, redirected, missing, and non-self-canonical URLs
from sitemaps
- repair confirmed 403/404 routes and restore the English and Chinese
RSS/Atom feeds
- add deployment assertions and browser coverage for canonical, hreflang,
sitemap, and feed behavior
## Details
### Canonical and hreflang
- Real document translations emit reciprocal `en`, `zh`, and `x-default`
hreflang links.
- Untranslated Chinese fallback pages remain accessible, canonicalize to
English, and are excluded from the Chinese sitemap.
- Blog translations are paired only by verified source identity, including
explicit keys for translations published on different dates.
- Current plugin docs retain their existing API7 documentation canonicals:
- English: `docs.api7.ai`
- Chinese: `docs.apiseven.com`
### Historical docs and crawl handling
- Versioned and `next` docs remain accessible and receive `noindex,follow`.
- Historical paths are no longer blocked in `robots.txt`, allowing crawlers
to process canonical and robots directives.
- Bare historical `getting-started` paths redirect within the same version
and locale.
- Deployment checks cover English and Chinese historical/`next` pages and
verify that canonical targets exist in the final output.
### Sitemap, redirects, and feeds
- Sitemaps include only valid, indexable, self-canonical pages.
- Historical versions, `next`, cross-site canonicals, untranslated fallback
pages, redirects, 404s, and low-value aggregate pages are excluded.
- Confirmed event, empty documentation root, and wrong-language URLs use
exact redirects; unknown URLs continue to return 404.
- `/blog/rss.xml`, `/blog/atom.xml`, `/zh/blog/rss.xml`, and
`/zh/blog/atom.xml` are generated again.
## Validation
- `npm run build` in `next`: passed, 1,331 pages generated
- `npm run test:sitemap`: passed
- Playwright SEO regression suite: 12 passed on desktop and mobile
- Existing Playwright suite before the final focused rerun: 23 passed, 15
expected skips
- `npm run lint`: 0 errors; 10 existing content warnings
- `yarn lint:frontmatter`: passed
- repository pre-commit checks (`eslint`, Remark, lint-staged): passed
- RSS and Atom output validated as XML
- Apache redirect checks confirmed exact redirects and same-version
historical targets
- `git diff --check`: passed
The standalone production Docusaurus build was not reproduced locally
because it depends on freshly synchronized external documentation repositories.
The deployment workflow now validates the affected historical pages against
that fresh CI data.
## Scope safeguards
- No Core Web Vitals code was changed because GSC currently reports all
monitored URLs as Good.
- No API7 commercial content was introduced.
- Apache APISIX remains positioned as the open-source project.
- No MCP Gateway product capability was added or claimed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]