- Shipped
- September 11, 2026 at 7:16 PM UTC
- Author
- Kamo
- Commit
- c077e4a
The marketing site's sitemap now lists every language version of every entry, and each entry page names the others as its hreflang alternates. A translation row is not proof of one: TranslateService answers directions it has no provider for with the English source, so every ta row, and the sw and th rows of older entries, repeat the English title word for word. Naming those would point search engines at pages that canonical back to English. - **************** returns, per entry, the locales whose title or description differs from the English, compared in the database in batches of 1,000 ids. - /public/sitemap carries `locales` per entry and takes order=oldest, so the sitemap's changelog files fill up and then never change. - /public/entry/{slug} carries `locales`, and `translated` now means a real translation rather than a row.