Here’s a small lesson from the rebuild: URL trailing slashes are not a style choice.
The previous woka.io (WordPress) served every URL with a trailing slash. Changing that on
launch day would have invalidated ~25 indexed pages overnight. Google does not treat
/about-us and /about-us/ as the same URL unless you tell it to — and by then the
analytics damage is done.
The fix
One line in astro.config.mjs:
trailingSlash: 'always';
Plus an Nginx rule to redirect any missing slash to the canonical form with a 301. Total code change: under 10 lines. Total SEO risk avoided: material.
The lesson
URL structure is part of the product contract, not the frontend. When you migrate stacks, the URL map comes first — before components, before copy, before visuals.