少年老成的云晨守望同学(题外话:少年老成是好事哈。我20多岁时人家说我像40岁,我40多岁时好多人说我像30多,男人20到50岁可以做到基本一个样子)在网络营销实战密码网站贴了个帖子:《透过京东商城看国内一线B2C网站SEO通病》。建议先看那个帖子再回来看本帖,不然不容易明白下面在说什么。

简单说,帖子指出一个严重而且现实的SEO问题:很多网站,尤其是B2C,产品条件过滤系统(如选择产品的品牌、价格、尺寸、性能、参数等)会产生大量无效URL,之所以称为无效只是从SEO角度看的,这些URL并不能产生SEO作用,反倒有负面作用,所以这些URL不收录为好,原因包括:

  • 大量过滤条件页面内容重复或极为类似(大量复制内容将使网站整体质量下降)
  • 大量过滤条件页面没有对应产品,页面无内容(如选择“100元以下42寸LED电视”之类的)
  • 绝大部分过滤条件页面没有排名能力(排名能力比分类页面低得多)却浪费一定权重
  • 这些过滤条件页面也不是产品页面收录的必要通道(产品页面应该有其它内链帮助爬行和收录)
  • 爬行大量过滤条件页面极大浪费蜘蛛爬行时间,造成有用页面收录机会下降(过滤条件页面组合起来是巨量的)

那么怎样尽量使这些URL不被爬行和索引、收录呢?前几天的一篇帖子如何隐藏内容也可能成为SEO问题讨论的是类似问题,这种过滤页面就是想隐藏的内容种类之一。不过可惜,我目前想不出完美的解决方法。云晨守望提出两个方法,我觉得都无法完美解决。

一是将不想收录的URL保持为动态URL,甚至故意越动态越好,以阻止被爬行和收录。但是,搜索引擎现在都能爬行、收录动态URL,而且技术上越来越不是问题。虽然参数多到一定程度确实不利于收录,但4、5个参数通常还可以收录。我们无法确认需要多少参数才能阻止收录,所以不能当作一个可靠的方法。而且这些URL接收内链,又没有什么排名能力,还是会浪费一定权重。

第二个方法,robots禁止收录。同样,URL接收了内链也就接收了权重,robots文件禁止爬行这些URL,所以接收的权重不能传递出去(搜索引擎不爬行就不知道有什么导出链接),页面成为权重只进不出的黑洞。

连向这些URL的链接配合nofollow也不完美,和robots禁止类似,nofollow在Google的效果是这些URL没有接收权重,权重却也没有被分配到其它链接上,所以权重同样浪费了。百度据称支持nofollow,但权重怎么处理未知。

将这些URL链接放在Flash、JS里也没有用,搜索引擎已经可以爬行Flash、JS里的链接,而且估计以后越来越擅长爬。很多SEO忽略了的一点是,JS中的链接不仅能被爬,也能传递权重,和正常连接一样。

也可以将过滤条件链接做成AJAX形式,用户点击后不会访问一个新的URL,还是在原来URL上,URL后面加了#,不会被当成不同URL。和JS问题一样,搜索引擎正在积极尝试爬行、抓取AJAX里的内容,这个方法也不保险。

还一个方法是在页面head部分加noindex+follow标签,意即本页面不要索引,但跟踪页面上的链接。这样可以解决复制内容问题,也解决了权重黑洞问题(权重是可以随着导出链接传到其它页面的),不能解决的是浪费蜘蛛爬行时间问题,这些页面还是要被蜘蛛爬行抓取的(然后才能看到页面html里的noindex+follow标签),对某些网站来说,过滤页面数量巨大,爬行了这些页面,蜘蛛就没足够时间爬有用页面了。

再一个可以考虑的方法是隐藏页面(cloaking),也就是用程序检测访问者,是搜索引擎蜘蛛的话返回的页面拿掉这些过滤条件链接,是用户的话才返回正常的有过滤条件的页面。这是一个比较理想的解决方法,唯一的问题是,可能被当作作弊。搜索引擎常跟SEO讲的判断是否作弊的最高原则是:如果没有搜索引擎,你会不会这么做?或者说,某种方法是否只是为了搜索引擎而采用?显然,用cloaking隐藏不想被爬行的URL是为搜索引擎做的,不是为用户做的。虽然这种情况下的cloaking目的是美好的,没有恶意的,但风险是存在的,胆大的可试用。

还一个方法是使用canonical标签,最大问题是百度是否支持未知,而且canonical标签是对搜索引擎的建议,不是指令,也就是说这个标签搜索引擎可能不遵守,等于没用。另外,canonical标签的本意是指定规范化网址,过滤条件页面是否适用有些存疑,毕竟,这些页面上的内容经常是不同的。

目前比较好的方法之一是iframe+robots禁止。将过滤部分代码放进iframe,等于调用其它文件内容,对搜索引擎来说,这部分内容不属于当前页面,也即隐藏了内容。但不属于当前页面不等于不存在,搜索引擎是可以发现iframe中的内容和链接的,还是可能爬行这些URL,所以加robots禁止爬行。iframe中的内容还是会有一些权重流失,但因为iframe里的链接不是从当前页面分流权重,而只是从调用的那个文件分流,所以权重流失是比较少的。除了排版、浏览器兼容性之类的头疼问题,iframe方法的一个潜在问题是被认为作弊的风险。现在搜索引擎一般不认为iframe是作弊,很多广告就是放在iframe中,但隐藏一堆链接和隐藏广告有些微妙的区别。回到搜索引擎判断作弊的总原则上,很难说这不是专门为搜索引擎做的。记得Matt Cutts说过,Google以后可能改变处理iframe的方式,他们还是希望在同一个页面上看到普通用户能看到的所有内容。

总之,对这个现实、严重的问题,我目前没有自己觉得完美的答案。当然,不能完美解决不是就不能活了,不同网站SEO重点不同,具体问题具体分析,采用上述方法中的一种或几种应该可以解决主要问题。

而最最最大的问题还不是上述这些,而是有时候你让这些过滤页面被爬行和收录,这才是杯具的开始。以后再讨论。

iframe怎么用_怎么样减少无效URL的爬行和索引相关推荐

  1. 无完美解--怎样减少无效URL的爬行和索引

    少年老成的云晨守望同学(题外话:少年老成是好事哈.我20多岁时人家说我像40岁,我40多岁时好多人说我像30多,男人20到50岁可以做到基本一个样子)在网络营销实战密码网站贴了个帖子:透过京东商城看国 ...

  2. iframe 跨域_【梯云纵】搞定前端跨域

    韦陀掌法,难陀时间善恶:梯云纵,难纵过乱世纷扰. 现在开始写代码o(╯□╰)o 什么是跨域 1.跨域的定义 广义的跨域是指一个域下对的文档或者脚本试图去请求另外一个域下的资源. a链接.重定向.表单提 ...

  3. 平滑KDJ指标公式,减少无效金叉死叉

    软件自带的KDJ指标比较敏感,在震荡上涨或者震荡下跌时会反复出现金叉死叉信号,不利于指标的使用以及进一步开发.为了减少无效金叉死叉,本文对KDJ指标公式进行平滑处理. 一.KDJ指标对比 以下为软件自 ...

  4. Mysql 索引优化分析_如何优化MySQL的性能?从索引方面优化案例分析

    今天我们来讲讲如何优化MySQL的性能,主要从索引方面优化. 建表 //建表 CREATETABLEIFNOTEXISTSstaffs( idINTPRIMARYKEYAUTO_INCREMENT, ...

  5. sql 查询重复数据大于2条以上的_「干货」关于SQL书写建议 索引优化的总结,你值得拥有...

    前言 平时写sql写的比较多,一直没把优化相关的知识整理记录下来,本文章记录对SQL优化的一些技巧: 我将结合demo(一个百万级数据表),去实践验证这些优化技巧. 测试用例 接下来,我们创建一个测试 ...

  6. mysql存储过程更新数据后返回一个字段_史上最全存储引擎、索引使用及SQL优化的实践...

    整个MySQL Server由以下组成 : Connection Pool :连接池组件 Management Services & Utilities :管理服务和工具组件 SQL Inte ...

  7. java url特殊字符处理_简单实例处理url特殊符号处理(2种方法)

    我遇到的问题是:url里的参数内容包含&符合,我有两种方法解决 其一方法是:在页面用JS转码,例子如下(前端处理) ${group.cn }) function test(a,b){ aler ...

  8. java new url 带密码_获取密码重置URL

    我正在尝试修改默认的Laravel 5.6 Auth,以便通过电子邮件向新用户发送创建密码的链接,因为这是一个仅限邀请的系统,我不希望通过电子邮件将创建的用户的密码作为明文 . 在5.3中我能够做的是 ...

  9. java url参数转换:_提示:通过URL激活并发送参数

    java url参数转换: 世界上最安全的密码是不存在的密码. 使用完全随机的密钥从等式中删除用户. 公平地说,这有一些缺点,并且密码仍然存在于某处(在您的电话/电子邮件中),但通常这样效果很好... ...

最新文章

  1. JNI/NDK开发指南(八)——调用构造方法和父类实例方法
  2. Ditto剪贴板增强工具 ,方便复制粘贴多条历史记录
  3. 英特尔裁员1.2万 CEO还在涨薪?
  4. git remote add Mycat https://github.com/MyCATApache/Mycat-Server.git
  5. GestureDetector学习之左右滑动,上下滑动屏幕切换页面
  6. 1069. 微博转发抽奖(20)
  7. Springboot2数据访问
  8. float 最小误差_关于float与double结果的误差
  9. Python基础学习2--字符串
  10. 广义线性模型(Generalized Linear Models, GLM)
  11. 从零开始的立绘拆包教程
  12. 护照扫描仪出入境海关运用SDK
  13. 使用ajax请求下载excel文件
  14. java-net-php-python-jsp固定资产管理系统计算机毕业设计程序
  15. Document.getElement方法
  16. think php 5(命令行)创建控制器、model
  17. 深入浅出LSTM学习
  18. SAP中复制创建采购申请的过程
  19. hostapd源码编译与配置
  20. 【SCF CLI实践】腾讯云serverless + 企业微信群机器人,轻松解决告警通知问题

热门文章

  1. shell设置系统环境变量的问题
  2. 在Uubuntu 14.04 64bit上搭建NumPy函数库环境
  3. MIB in SNMP
  4. KVell 单机k/v引擎:用最少的CPU 来调度Nvme的极致性能
  5. Codeforces Round #550 (Div. 3)E. Median String
  6. Linux命令之more
  7. 下面为初学者分享一下SQL 数据库学习资料
  8. thinkphp5内置标签
  9. Ubuntu 16.04 安装Django
  10. CSS中各种各样居中方法的总结