This is really a Forestry issue, but I wanted to see if anyone has any ideas.
Problem: the page slug is typically based on the title. This is fine as a default, but is a real pain when someone tweaks the title after the page has been published, and linked to, and shared on social media. Then it seems like a really, really bad idea.
Solution: make the default slug the file name so that it is no longer tied to the title. To do that, put the following in config.toml:
[permalinks]
post = ":section/:year/:month/:slug/"
and add the following to archetypes/post.md:
slug: '{{ .File.BaseFileName }}'
Problem solved, except we are using Forestry, which does not use archetypes to create files. Forestry uses its front matter templates to create files and has no way that I can find to set the default slug to the file name.
Musing on it, do folks change file names when updating content? I don’t think it happens for most web writers, and in this case they are changing front matter via Forestry… I don’t know how that works, but it seems like “moving” files around is not a focus.
@rbottomley, have you tried :filename in the permalink pattern? That seems like it would do what you want, without having to set the slug.
But, if the desire is for the permalink to match up with the title, then I think keeping the original permalink pattern and then using front matter aliases is a better solution.
But no one ever changes the file name. Forestry doesn’t even have a way to do that that I know of. The problem is that the marketing people regularly tweak titles after something has gone live.
Using :filename would solve part of the problem: the URL would no longer change when the title is edited. The problem now is that we did want to offer the option of setting the slug. I did test to see if slug would override filename and it doesn’t.
No, matching the permalink to the title was never the desire (and I really hate the stupidly long URLs that read like sentences). We have also abandoned front matter aliases for two reasons: 302 redirects are not considered good for SEO and the marketing people not understanding redirects at all and putting the same three aliases on five different pages.
No, what I want is a slug that is pretty much set in stone once created and not something that shifts as text is edited — unless you really, really want to change it. Using :filename would give us the set in stone option, just without marketing people being able to adjust it.