用户个人资料页面的Canonical URL未实现大小写规范化

It seems like URL’s to user profiles are not case sensitive.
For instance https://meta.discourse.org/u/DiscObOt works just as well as https://meta.discourse.org/u/discobot

But the canonical URL in the first variation is not canonicalized into the ‘official’ case of the username, possibly leading to duplicate content issues or the wrong variation being indexed.

So the canonical URL of the first variation is:

<link rel="canonical" href="https://meta.discourse.org/u/DiscObOt" />

while it should be

<link rel="canonical" href="https://meta.discourse.org/u/discobot" />

leading to the ‘correctly’ spelled variant.

6 个赞

Hmm is this an issue in practice?

1 个赞

I don’t think it is … but it is kind of odd that we allow:

https://meta.discourse.org/u/codinghorror

https://meta.discourse.org/u/codinghorrOr

https://meta.discourse.org/u/cOdinghorror

We should normalize the username to lowercase username and force a redirect for the various obscure mis-cased usages similar to how we normalize topic urls / category urls.

I guess the same normalization should hold for https://meta.discourse.org/g/Admins

We already perform normalization using a redirect for https://meta.discourse.org/c/Bug/1/l/unread and https://meta.discourse.org/t/incorrect-canonical-url-for-user-profile-PAGE/190847

Low priority but we should clean this up.

Changing this to feature though cause nothing is really broken, it is just odd and inconsistent.

4 个赞

Sure perhaps @andrei could add to his list? this one seems easy and high reward for low risk?

2 个赞

I’m adding this to my list with low priority.

3 个赞

我也赞成清理这些..

您还会注意到,这些网址中的每一个都有一个指向自身的规范链接。 (@RGJ 已经提到过这一点)

没错,我想用户网址也应该一样,或者至少让所有这些网址共享同一个规范链接。

我还想补充一点,标签 URL 也表现出类似的行为。

也就是说,标签 URL 没有“大小写规范化”(如果这是正确的术语)。

所以两者

https://meta.discourse.org/tag/Official

https://meta.discourse.org/tag/official

都指向同一个地方,但具有自引用的规范链接,而不是仅仅是小写版本。

1 个赞