客户端如何检测服务器是否正在使用Search Engine Optimizing techniques,例如使用mod_rewrite来实现“seo friendly urls”。
例如:
普通网址: http://somedomain.com/index.php?type=pic&id=1
SEO友好网址: http://somedomain.com/pic/1
答案 0 :(得分:5)
由于mod_rewrite运行服务器端,因此客户端无法确定检测到它。
你唯一可以做客户端的是寻找一些线索:
<link rel="canonical">
个标签?然后网站喜欢告诉搜索引擎,它应该使用相同内容的多个URL。 /pic/1
我会修改“1”。mod_rewrite
它将返回404.如果是,则错误由服务器端脚本语言处理并且可以返回404,但在大多数情况下将返回200页打印错误。答案 1 :(得分:3)
答案 2 :(得分:3)
SEO方面通常是URL中的单词,因此您可以忽略任何数字部分。通常,SEO应用于一组相似的内容,例如具有公共基本URL,例如:
基础www.domain.ext/article
,完整的网址示例为:
这样URL的SEO方面就是后缀。应用的算法代表每个“文件夹”,在公共基础为其分配“数据类型” - 数字,文本,字母数字,然后得分如下:
www.domain.ext/errors/file-not-found
,它将通过列出的其他检查。 <title>
或<h#>
标记。 通常使用此方法,您将获得最多5分,除非URL中的多个文件夹符合条件,更高的值更好。现在,您可以通过使用Bayesian probability方法来改进这一点,该方法使用上述方法来强化(即检测某些现象的发生)URL,并提出一些其他聪明的特征。但是,那么你必须训练算法,这可能不值得。
现在,基于您的示例,您还希望捕获已设计URL的情况,以便爬网程序将索引,因为查询参数现在是URL的一部分。在这种情况下,你仍然可以代表后缀的文件夹来获得数据类型的模式 - 在你的例子中,公共前缀总是被一个整数拖尾 - 并将这些URL评为SEO友好。
答案 3 :(得分:1)
我认为你会使用卷曲变体。
您可以尝试使用不同的“用户代理”值发送相同的请求。
即。使用用户代理“Mozzilla / 5.0”发送请求,使用用户代理“Googlebot”第二次发送请求,如果服务器正在为网络爬虫做一些特殊的事情,则应该有不同的响应
答案 4 :(得分:0)
使用今天的框架和他们提供的url路由我甚至不需要使用mod_rewrite来创建友好的URL http://somedomain.com/pic/1所以我怀疑你可以检测到任何东西。我会为所有访问者创建此类网址,无论是否为爬虫。也许你可以欺骗一些机器人标题来假装你是一个已知的爬虫,看看是否有任何变化。不知道是不合法的。
答案 5 :(得分:0)
对于动态网址的模式,最好将<link rel="canonical" href="..." />
标记用于其他重复