A small lesson: trailing slashes are not a style choice

A note from the rebuild — why URL trailing slashes are a correctness problem, not a style choice, and the redirects we had to ship to keep SEO intact.

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.