在页面URL中强制执行slug?

时间:2012-02-08 12:53:19

标签: php url cakephp seo 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的用户做什么?

4 个答案:

答案 0 :(得分:5)

网址中的slug可以用于三个目的:

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

    1. 网址更长,更难打字,更难记住,而且常常被截断
    2. 它可能导致同一页面的多个网址和内容重复的SEO问题
    3. 我个人不喜欢使用slug,除非它因为它创建的其他问题而成为内容密钥。话虽如此,有几种方法可以处理重复的内容问题。

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

      他们似乎总是做得更好,但我不推荐它。

      使用规范标签

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

      <link rel="canonical" href="http://domain.com/category/id/1/slug-title-here" />
      

      就Google而言,规范标记甚至可以存在于规范网址本身,指向自身。 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/
      

      将重定向到

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

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

答案 1 :(得分:0)

假设您永远不会更改网页的slu ,,我只需设置domain.com/category/id/1/来执行301重定向(永久)到domain.com/category/id/1/slug-title-here,任何时候有人输入一篇不符合该文章的帖子(domain.com/category/id/1/slug-title-here-oops-this-is-wrong),也会将他们输入正确的地址。

这样你就会对搜索引擎说'#34;我不会有重复的内容,看,这是一个永久的重定向&#34;因此,它不会损害您的搜索引擎优化,并且您对用户始终将他们带到正确的友好网址中非常有用&#34;页。

答案 2 :(得分:0)

我建议你制作一个rel = canonical元标记。

这可以防止每次重定向,考虑到有人可以将您的网页链接到这样的infinte变种:

domain.com/category/id/1/?fakeparam=1

答案 3 :(得分:0)

从SEO的角度来看,只要您只链接到这些网址的一个版本,就应该没问题,因为其他网址甚至不会被搜索引擎选中(因为它们无法链接到它们)。 / p>

如果您链接到所有3,那么它可能会损害您的排名(因为它将被视为重复内容)。

我个人不会要求使用slug,但我会确保(内部)所有链接指向包含slug的URL。