Thank you for all the hard work you’ve put into Flarum!
I had a question regarding the IdWithDisplayNameSlugDriver. Was there a particular reason the URL structure was implemented as:
/<id>-<display-name>
instead of:
/<display-name>-<id>?
From an SEO perspective, placing keywords as early as possible in the URL is generally considered best practice. Modern SEO guidance tends to favor keyword-first slugs because search engines place slightly more contextual weight on earlier path segments, and they also improve readability and click-through rates for users.
This difference is minimal when IDs are small, but it becomes more noticeable as IDs grow larger. For example:
https://example.com/my-seo-title-13121
is typically more descriptive and user-friendly than:
https://example.com/13121-my-seo-title
In the second case, the numeric prefix pushes meaningful keywords further back in the URL, which may slightly reduce clarity for both users and search engines.
I’m curious whether the current ordering was chosen for technical consistency, routing simplicity, backward compatibility, or another architectural reason. If there isn’t a strong constraint, would the project be open to considering a keyword-first format (while still retaining the ID for uniqueness and stability)?
I appreciate any insight you can share on the reasoning behind this.