【问题标题】:Make slug mandatory in page URL?在页面 URL 中强制使用 slug?
【发布时间】:2012-02-29 21:50:01
【问题描述】:

我正在决定是否强制使用 slug 以查看提交。

现在这些作品中的任何一个都可以提交:

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 的用户做些什么?

【问题讨论】:

    标签: php url cakephp seo slug


    【解决方案1】:

    假设您永远不会更改页面的 slug,我只需设置 domain.com/category/id/1/ 进行 301 重定向(永久)到 domain.com/category/id/1/slug-title-here,并且任何时候有人输入不正确的 slug文章 (domain.com/category/id/1/slug-title-here-oops-this-is-wrong),也 301 他们到正确的地址。

    这样你就对搜索引擎说“我没有重复的内容,看,这是一个永久重定向”,所以它不会损害你的 SEO,而且你总是对用户有用将他们带到正确的“友好网址”页面。

    【讨论】:

      【解决方案2】:

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

      考虑到有人可以像这样将您的页面与无限变体链接,这可以防止每次进行重定向:

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

      【讨论】:

        【解决方案3】:

        从 SEO 的角度来看,只要您只链接到这些 URL 的一个版本,就应该没问题,因为其他 URL 甚至不会被搜索引擎拾取(因为无处链接到它们)。

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

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

        【讨论】:

          【解决方案4】:

          url 中的 slug 可以达到三个目的:

          1. 在没有id的情况下可以作为内容键(你有id,所以这个不适用)
          2. 当仅将 URL 作为指向您网站的链接发布时,它可以让用户知道预期的内容,因为他们在 url 中看到了这些内容
          3. 它可以被搜索引擎用作排名信号(据我所知,Google 目前并没有将 url 词用作排名信号)

          蛞蝓会产生问题:

          1. 网址更长、更难输入、更难记住并且经常被截断
          2. 这可能导致同一页面出现多个 url 和内容重复的 SEO 问题

          我个人不喜欢使用 slug,除非它会因为它产生的额外问题而成为内容密钥。话虽如此,有几种方法可以处理重复的内容问题。

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

          他们似乎一直在这方面做得更好,但我不建议这样做。

          使用规范标签

          当用户访问内容的任何 url 时,他们应该得到一个像这样的规范标签:

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

          就 Google 而言,规范标签甚至可以存在于规范 url 本身上,指向自身。不过,必应建议不要使用自引用规范标签。有关规范标签的更多信息,请参阅:http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html

          使用 301 重定向

          在规范标签之前,避免重复内容的唯一方法是使用 301 重定向。您的软件可以检查 url 路径,并将 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
          

          这将是唯一实际包含内容的网址。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-01-29
            • 1970-01-01
            • 2013-02-11
            • 2015-02-24
            • 2012-12-31
            • 2015-04-19
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多