【问题标题】:Detecting URL rewrites (SEO urls)检测 URL 重写(SEO url)
【发布时间】:2011-06-17 10:45:42
【问题描述】:

客户端如何检测服务器是否正在使用Search Engine Optimizing techniques,例如使用 mod_rewrite 来实现“seo 友好的 url”。

例如:

普通网址: http://somedomain.com/index.php?type=pic&id=1

SEO 友好的网址: http://somedomain.com/pic/1

【问题讨论】:

  • 你是在写蜘蛛还是网站?

标签: url-rewriting web-crawler seo


【解决方案1】:

【讨论】:

  • 或者更确切地说,有人如何编写蜘蛛来检测 seo 友好的 url。
  • 是的,除非有 3 个人使用这种方法,而 google 就是其中之一。无论如何 +1。
【解决方案2】:

由于 mod_rewrite 运行在服务器端,客户端无法确定地检测到它。

客户端唯一能做的就是寻找一些线索:

  • 生成的 HTML 是动态的并且在调用之间会发生变化吗?然后 /pic/1 需要由一些脚本处理,并且很可能不是真正的 URL。
  • 就像之前说的:有<link rel="canonical">标签吗?然后网站喜欢告诉搜索引擎,它应该使用多个具有相同内容的 URL。
  • 修改部分 URL 看看,如果你得到一个 404。在/pic/1 我会修改“1”。
    如果没有mod_rewrite,它将返回 404。如果是,则错误由服务器端脚本语言处理并可以返回 404,但在大多数情况下会返回 200 页打印错误。

【讨论】:

    【解决方案3】:

    SEO 方面通常是在 URL 中的单词上,因此您可以忽略任何数字部分。通常 SEO 应用于一组类似的内容,例如具有共同的基本 URL,例如:

    基础www.domain.ext/article,完整的 URL 示例为:

    • www.domain.ext/article/2011/06/15/man-bites-dog
    • www.domain.ext/article/2010/12/01/beauty-not-just-skin-deep

    URL 的 SEO 方面是后缀。要应用的算法是在公共基础上为每个“文件夹”指定一个“数据类型”——数字、文本、字母数字,然后按如下方式评分:

    1. HTTP 响应代码为 200:应该很明显,但您可以获得一个 404 www.domain.ext/errors/file-not-found,它将通过列出的其他检查。
    2. 非数字,带分隔符,拼写检查:分隔符通常是破折号、下划线或空格。获取每个单词并执行拼写检查。如果字词有效 - 包括专有名称。
    3. 页面上经过拼写检查的 URL 文本 如果文本通过了拼写检查,请分析页面内容以查看其是否显示在此处。
    4. 标签内页面上的经过拼写检查的 URL 文本:如果先前为真,则再次标记是否整个文本都在 HTML 标记内。
    5. 标签很重要:如果先验为真并且标签是<title><h#> 标签。

    通常使用这种方法,您最多可以获得 5 分,除非 URL 中的多个文件夹符合标准,并且值越高越好。现在您可能可以通过使用Bayesian probability 方法来改进这一点,该方法使用上述方法对 URL 进行特征化(即检测某些现象的发生),并提出一些其他巧妙的特征化。但是,你必须训练算法,这可能不值得。

    现在,根据您的示例,您还希望捕获设计 URL 的情况,这样爬虫就会编制索引,因为查询参数现在是 URL 的一部分。在这种情况下,您仍然可以指定后缀的文件夹以得出数据类型的模式 - 在您的示例中,公共前缀始终以整数结尾 - 并将这些 URL 评分为对 SEO 友好。

    【讨论】:

      【解决方案4】:

      我想你会使用 curl 变体。

      您可以尝试发送相同的请求,但使用不同的“用户代理”值。

      即使用用户代理“Mozzilla/5.0”发送请求,第二次使用用户代理“Googlebot”发送请求,如果服务器正在为网络爬虫做一些特殊的事情,那么应该有不同的响应

      【讨论】:

        【解决方案5】:

        使用今天的框架和它们提供的 url 路由,我什至不需要使用 mod_rewrite 来创建友好的 url,例如 http://somedomain.com/pic/1,所以我怀疑你能检测到任何东西。我会为所有访问者创建这样的网址,无论是否是爬虫。也许您可以欺骗一些机器人标头来假装您是已知的爬虫,看看是否有任何变化。不知道这有多合法。

        【讨论】:

          【解决方案6】:

          对于动态url的模式,其他重复最好使用<link rel="canonical" href="..." />标签

          【讨论】:

            猜你喜欢
            • 2013-04-18
            • 2012-07-17
            • 1970-01-01
            • 2011-11-27
            • 1970-01-01
            • 2014-11-11
            • 1970-01-01
            • 2016-01-21
            • 1970-01-01
            相关资源
            最近更新 更多