【问题标题】:Is it bad to paginate with query strings?使用查询字符串进行分页是否不好?
【发布时间】:2009-08-13 05:43:51
【问题描述】:

http://www.somesite.com/subject?page=3

如果使用查询字符串来控制分页,搜索引擎不是只能索引第一页(即没有查询字符串的页面)吗?这通常是我看到分页完成的方式,但我想知道是否有更好的搜索引擎索引方法?

【问题讨论】:

  • 问题不清楚 - 为什么搜索引擎在索引其他页面时会出现问题?第一个页面会有指向后续页面的链接——毕竟​​用户必须以某种方式到达那里——而搜索引擎会跟随它。
  • 你还能如何以有意义的方式进行分页?

标签: seo pagination search-engine query-string


【解决方案1】:

我认为使用查询字符串进行分页并不是一个坏主意。

在 SO 中分页就是这样实现的。

https://stackoverflow.com/questions?page=2&sort=newest

【讨论】:

    【解决方案2】:

    出于搜索目的,您可以决定一种恒定的机制来识别它们。

    你可以考虑:

    • 月份(博客这样做)或者,
    • 某种永远不会改变的内部 id 范围 /r0-100

    对您想要执行此操作的内容有更多了解可能会有所帮助。

    如果是博客,那没什么大不了的,因为页面的主要内容无论如何都会改变,所以你可以保持主要的“文章”有一个“永久链接”,生活很美好。

    【讨论】:

      【解决方案3】:

      Google 显然将它们编入索引:http://google.com/search?q=inurl:page=5

      【讨论】:

        【解决方案4】:

        虽然搜索引擎确实保留忽略很长查询字符串的权利,但它们肯定会索引使用查询字符串的页面。

        请记住,搜索引擎希望将网络编入索引...排除像您这样的 URL 对他们来说是愚蠢的,因为很多网站都在使用它们。

        一般来说,“搜索引擎是否愚蠢?”形式的问题的答案是“不”。 8-)

        【讨论】:

        • 我想你误会了。关键是使用他的方法,那个页面上的内容改变了,所以没有索引它的意义。
        • @silky:不,我想我没有误解。请参阅 OP 对 Cyril Gupta 回答的评论。他担心搜索引擎会在获取 URL 进行索引之前从 URL 中删除查询字符串。
        • @silky 不,谷歌和基本上所有的搜索引擎都理解和索引查询字符串,并认识到内容与查询字符串的相关性不同。这是标准做法,不是问题。
        • @Gabriel 到底怎么没问题?要么内容过时,需要重新访问,要么保持旧内容,当用户点击时会有所不同。这是事实。该页面上的内容发生变化这一事实没有“解决方案”。
        • 每一页的内容都可以改变。重点是 index.php?page=1 和 index.php?page=2 被搜索引擎识别为单独的页面,分别编入索引。
        【解决方案5】:

        完全没问题。 您也可以随时实现 URL 重写以使这些 URL 看起来是静态的。 还要考虑安全性。页码经常被传递到 SQL 查询中。一个简单的整数类型转换是个好主意。

        【讨论】:

          【解决方案6】:

          从 SEO 的角度来看;确保每个编号页面上的内容有些静态,而不是随着更多内容添加到分页内容集合中而更改编号(以及随后的 url 位置)。这样,当 Google 为您的分页内容编制索引时,Google 显示的搜索结果数据将与用户点击时页面上显示的数据相匹配。

          I.E.

          /blog/ 上的最新内容,然后分页内容的页码上升。所以最旧的内容在第 1 页(并停留在第 1 页)等等。

          【讨论】:

            【解决方案7】:

            事实是,如果您不使用查询字符串进行分页,您就会遇到麻烦,因为如果您不更改地址,搜索引擎将无法访问您的搜索内容(这就是您更改查询字符串时所做的事情) .

            这正是为什么这么多网站喜欢在分页时更改查询字符串的原因,以便搜索引擎可以访问这些网址。

            你还能怎么分页?

            • 使用回发到同一页面? - 搜索引擎无法关注
            • 使用会话? - 搜索引擎无法关注
            • 使用 Ajax? - 搜索引擎无法关注

            所以最好使用查询字符串进行分页。

            【讨论】:

            • 另外一种选择是使用 URI 路由。我正在使用 codeigniter,url 看起来像 /subject/5 ,其中 subject 是被调用的函数,而 5(页码)将是该函数的参数......但似乎绝大多数情况下我应该坚持查询字符串
            • URL 路由当然是个好主意,而且它对 SEO 友好。我没有谈论它,因为它不是 ASP.Net 的标准功能。这些天我正在研究 ASP.Net MVC,它使路由成为包的一部分。
            • 像 /subject/5 这样的 URL 对人类友好。搜索引擎蜘蛛实际上并不关心,谷歌公开表示他们索引其中任何一个都没有困难,但更喜欢一个清晰标记的查询字符串而不是一个不透明的漂亮 URL(即 ?day=29&hour=15&minute=20 比 /29/ 更好15/20)
            • 是的,这样 Google 就可以避开 URL。当它是一个“漂亮”的查询时,Google 将其标记为不应该显示在更高位置的资源会比较容易。
            猜你喜欢
            • 2021-06-18
            • 2013-02-07
            • 1970-01-01
            • 1970-01-01
            • 2015-03-20
            • 1970-01-01
            • 2020-04-05
            • 1970-01-01
            • 2012-08-18
            相关资源
            最近更新 更多