Automatic redirects after the URL is changed via the panel or when a page is moved elsewhere, to keep older links functional for a while.
Currently, one has to manually add a backend redirect in routes or .htacess or through a plugin like Retour.
This could prevent some 404 error pages and improve the overall quality/stability of the website at no additional cost.
Kirby could store such redirects in a simple text file (e.g. in ‘site/redirects’).
When the slug is changed, a record is created (e.g. ‘about-us’ => “about”). If a user tries to access ‘about-us’ (and ‘about-us’ does not exist), Kirby could search for the record in ‘caches/redirects’ and return a 301 redirect to the user.
Possible problems:
What if ‘about-us’ has subpages?
Should there be a record like about-us/(:any)
=> about/(:any)
?
I think all of this could be solved with a plugin. With ‘page.changeSlug:after’ and ‘page.render:before’. On the other hand, changing slugs is a common thing and should perhaps be a core feature. I can’t imagine anyone not wanting such a feature.
An (admittedly old) discussion from the Retour plugin but that raised a few points that are really tricky trying to achieve a sensible solution: https://github.com/distantnative/retour-for-kirby/issues/169