SEO issue: slug names for topics should never change on title changes

Another issue I detected today. This one is a particularly bad practice with regards to SEO and social media.

The slug name of a topic changes once the title changes.

That’s a big SEO no, no.

Imagine, you have a topic that has gained a lot of backlinks or is going viral on social media.

Now a TL3 user finds a typo in the title and changes the title.

The slug changes too and therefore the canonical URL.

All backlinks will be lost, and the topic will immediately stop going viral, as the former URL is now 404.

Slug names should freeze once a topic has been posted.

Only admins/mods should have the possibility to change the topic slugs and a warning should be given. Means, when I change the title as an admin/mod, options should be provided: only change the title, or change title and slug.

Update: I just found out that Discourse automatically 301 instead of 404 on slug changes. This mitigates the problem to some extend. Still would opt for a frozen slug.

1 Like

I think the old link still points towards the actual topic, no?

4 Likes

Yes, it 301 redirects, but again I would opt for frozen slugs. Google “may” be fine with it. But if a TL3 user goes on a frenzy… I don’t know. I as an operator of the website would not like it.

For most social media sites, URL changes will mean you lose your engagement metrics for that URL, 301 don’t help here, more complicated approaches are needed in this case:

https://developers.facebook.com/docs/sharing/webmasters/getting-started/versioned-link/

1 Like

It does, it redirects.

2 Likes

This isn’t an SEO no-no. You’re presenting an incredibly contrived set of circumstances. If you’re worried that TL3 users will do this, make TL3 unobtainable on your particular instance.

This also isn’t a bug, the redirect and slug updates aren’t a fluke, it was engineered to behave this way.

A bug report means something is broken, preventing normal/typical use of Discourse.

Which clearly isn’t true for the above.

5 Likes

I agree with the value of having a setting that allows us (as admins) to create frozen slugs.

@Stephen’s solution was to disable the ability to let some users update their titles. But I find that letting the users improve their titles is a good idea.

Even as an admin, I reorganize info and retitle things all the time, so I don’t think “not renaming titles” is a good solution.


Alternative ideas

as an admin it would be incredible to be able to determine a slug for a posts. That way even if the title of the topic changes, the slug remains short and simple.

This would of course be an addition to the current 301 redirect, since after experimenting with it I realized it does work as long as the /[#number] at the end of the URL is kept.


I second @Terrapop’s request, I think it’s a great option to give to admins and avoid problems long-term

Thanks!

2 Likes

It’s unfair to characterize my comment as a solution - as the reply responded to in an edit it’s not really a problem. The redirect renders changes to the slug effectively meaningless.

Freezing slugs assumes the original title and resultant human-readable portion of the URL is in some way superior to the renamed version. If that’s really the case why would you want your users to be able to rename topics at all? That was my contention.

Assuming for a moment that topic renames are beneficial, why wouldn’t you want the human readable URL to receive the same enhancement?

2 Likes

In a lot of regards, renaming a topic and the URL changing isn’t a major issue because it redirects properly. Topic routing is based on topic id, so even if you type in https://meta.discourse.org/t/donk/162580, you still get to this topic. That topic id will not change from any user interaction on the site.

If the URL 404’ed, sure, SEO and social would be a problem, but it doesn’t – it redirects and Google will properly update the URL.

We do recommend all community managers update titles to accurately reflect the contents of the discussion. This is good for both SEO (as the biggest factor in ranking is matching search intent with page contents) and discovery/participation within the community itself.

For more on how we think about SEO:

1 Like

Because URLs aren’t showing so often nowadays? And because Discourse is not using nice URLs at all (as it can be done like in WordPress)?

Human readable URL was somekind SEO-hype earlier and sure it helped a user understand what can be expected, but today most platforms are using similar approach as Onebox here is. URLs are not important for a user any more.

1 Like

How does renaming titles redirect automatically? Is that a setting that has to be configured manually? Currently renaming posts seems to break links.

I am unable to reproduce that on latest tests-passed. Please describe a way to reproduce this step by step.

3 Likes

Just performed a series of tests and this seems to work as expected now, perhaps it was just an error on my end at the time, or perhaps I was removing the series of digits at the end of the post.

Is there a limit to the number of topic title changes that are stored, or any topic change gets redirected?

There is not a store, not even a redirect creation. The name of the topic is completely dismissed when the URL has the topic ID, so renames are free.

For example, this topic here is

https://meta.discourse.org/t/seo-issue-slug-names-for-topics-should-never-change-on-title-changes/162580

but if I change the URL to

https://meta.discourse.org/t/i-like-pineaple-pizza/162580

it works just the same.

3 Likes

Ah, I understand now, thank you very much for the clarification @Falco :raised_hands:

3 Likes