在页面URL中强制执行slug?

bob*_*obb 3 php url seo cakephp slug

我正在决定是否强制要求slu to才能查看提交内容.

现在,要么提交提交中的任何一个:

domain.com/category/id/1/slug-title-here

domain.com/category/id/1/slug-blah-foo-bar

domain.com/category/id/1/

所有人都去了同一个提交.

您也可以将slug更改为您想要的任何内容,它仍然可以工作,因为它只检查类别,ID和提交#(在第二个示例中).

我想知道这是否是正确的方法呢?从SEO的角度来看,我应该这样做吗?如果没有,我应该对没有slug请求URL的用户做什么?

Ste*_*ler 5

url中的slug可以用于三个目的:

  1. 当没有id时,它可以充当内容密钥(你有一个id,所以这个不适用)
  2. 当只是将网址发布为您网站的链接时,它可以让用户知道所期望的内容,因为他们会在网址中看到它
  3. 它可以被搜索引擎用作排名信号(据我所知,谷歌现在不会使用网址作为排名信号)

Slugs可能会产生问题:

  1. 网址更长,更难打字,更难记住,并且经常被截断
  2. 它可能会导致同一页面的多个网址和内容重复的SEO问题

我个人不喜欢使用slug,除非它可以成为内容键,因为它创建了额外的问题.话虽如此,有几种方法可以处理重复的内容问题.

什么都不做,让搜索引擎整理出重复的内容

他们似乎总是在这方面做得更好,但我不推荐它.

使用规范标签

当用户访问内容的任何网址时,他们应该获得这样的规范标记:

<link rel="canonical" href="http://domain.com/category/id/1/slug-title-here" />
Run Code Online (Sandbox Code Playgroud)

就谷歌而言,规范标签甚至可以存在于规范网址本身,指向自身.Bing建议不要使用自引用规范标签.有关规范标签的详细信息,请参阅:http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html

使用301重定向

在规范标签之前,避免重复内容的唯一方法是使用301重定向.您的软件可以检查网址路径,并将slug与正确的slug进行比较.如果它们不匹配,它可以发出301重定向,将用户发送到具有正确slug的规范URL.堆栈溢出软件以这种方式工作.

所以这些网址:

domain.com/category/id/1/slug-blah-foo-bar
domain.com/category/id/1/
Run Code Online (Sandbox Code Playgroud)

将重定向到

domain.com/category/id/1/slug-title-here
Run Code Online (Sandbox Code Playgroud)

这将是实际拥有内容的唯一网址.