flowpack / seo-routing
Flow Framework Router to ensure a trailing slash in Neos.
Installs: 38
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 0
Open Issues: 0
Type:neos-package
Requires
- php: ^8.1
- guzzlehttp/psr7: ^2.0
- neos/neos: ^8.3|^9.0
Requires (Dev)
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^11.5
This package is auto-updated.
Last update: 2025-01-24 14:54:10 UTC
README
Sponsoring
Thank you Biallo & Team GmbH for sponsoring the work from Sandstorm on this package.
Introduction
This package allows you to enforce a trailing slash and/or lower case urls in Flow/Neos.
Features
This package has 2 main features:
- trailingSlash: ensure that all rendered internal links in the frontend end with a trailing slash (e.g.
example. com/test/
instead ofexample.com/test
) and all called URLs without trailing slash will be redirected to the same page with a trailing slash - toLowerCase: ensure that camelCase links gets redirected to lowercase (e.g.
example.com/lowercase
instead ofexample.com/lowerCase
)
You can de- and activate both of them.
Another small feature is to restrict all new Neos pages to have a lowercased uriPathSegment
. This is done by
extending the NodeTypes.Document.yaml
.
Installation
Just require it via composer:
composer require flowpack/seo-routing
If you want to use the toLowerCase feature you should execute the migration that comes with this package:
./flow node:migrate 20250124153030 --confirmation true
This migration transforms all the URLs of all your nodes to lowercase. It's irreversible.
Configuration
Standard Configuration
In the standard configuration we have activated the trailingSlash (to redirect all uris without a / at the end to an uri with / at the end) and do all redirects with a 301 http status.
Note: The lowercase redirect is deactivated by default, because you have to make sure, that there is
no Neos page with an uriPathSegment
with camelCase or upperspace letters - this would lead to redirects in the
neverland. You can achieve this by running the migration that ships with this package,
see installation.
Flowpack:
SeoRouting:
redirect:
enable:
trailingSlash: true
toLowerCase: false
statusCode: 301
blocklist:
'/neos.*': true
Blocklist for redirects
By default, all /neos
URLs are ignored for redirects. You can extend the blocklist array with regex as you like:
Flowpack: SeoRouting: blocklist: '/neos.*': true
Thank you
This package originates from https://github.com/t3n/seo-routing.
Thank you, T3N and associates for your work.