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

少年老成的云晨守望同学(题外话:少年老成是好事哈。我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重点不同,具体问题具体分析,采用上述方法中的一种或几种应该可以解决主要问题。
而最最最大的问题还不是上述这些,而是有时候你想让这些过滤页面被爬行和收录,这才是杯具的开始。以后再讨论。
相关文章:

502 Server dropped connection
在本地电脑上开启了,全局VPN代理后,出现 502 报错。 502 Server dropped connection The following error occurred while trying to access http://localhost/invo/:502 Server dropped connection. 出现这种情况的原因是,vpn 链接挂了&…

【OpenCV】在Linux上使用OpenCvSharp
OpenCvSharp是一个OpenCV的 .Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,该库采用LGPL发行,对商业应用友好。

DNS轮询解析是什么?
在其最简单的实现中,轮回DNS的工作方式是,不仅用一个潜在的IP地址来响应DNS请求,而且用一个潜在的IP地址列表来响应承载相同服务的几个服务器。传统的负载均衡技术通常需要专门的硬件或软件,但DNS轮询解析是一种负载分配、负载平衡或容错技术,通过管理域名系统(DNS)对来自客户计算机的地址请求的响应,按照适当的统计模型,提供多个冗余的互联网协议服务主机,将流量分散到多个服务器上。因此,虽然轮询DNS是一种简单有效的负载平衡方法,但它也存在一些限制和潜在的问题,需要根据实际情况进行选择和使用。

自建WIN10 FTP无法访问的解决方法
由于博主使用的是校园网,具体NAS方案比较复杂,主体上是用KodCloudWin10自带FTP,最近发现好像自带的FTP搭建不了。 废话不多说,说说解决方案: ①首先看看防火墙设置,用同一局域网下的主机ping一下测试是否能…

weiss数据结构和算法书的使用说明
《数据结构与算法分析 C语言描述》Mark Allen Weiss著,冯舜玺译,机械工业出版社。Weiss教授的经典教材三部曲之一,其中的C语言描述版本,也就是本书,被称为20世纪最重要的30本计算机教材之一。Mark Allen Weiss…

Bootstrap 栅格系统 理解与总结
Bootstrap 栅格系统 学习总结 Bootstrap框架是如今最流行的前端框架之一,Bootstrap功能强大,简单易学,很符合实际应用场景。 只是Bootstrap的内容较多,新手往往不能很快的熟练运用Bootstrap。 这里,我就对Bootstrap中非…

java抛出自定义异常_10 个深恶痛绝的 Java 异常。。
异常是 Java 程序中经常遇到的问题,我想每一个 Java 程序员都讨厌异常,一 个异常就是一个 BUG,就要花很多时间来定位异常问题。什么是异常及异常的分类请看这篇文章:一张图搞清楚 Java 异常机制。今天,栈长来列一下 Ja…

mac删除键很慢
关闭辅助功能-慢速键 重复延迟、等待调到最低

不相交集类以及应用迷宫生成
简单介绍: 考虑一个迷宫的生成,一个简单算法就是从各处的墙壁开始(除入口和出口之外)。此时,不断地随机选择一面墙,如果被该墙分割的单元彼此不联通,那么就把这面墙拆掉。重复这个过程直到开始单…

Ajax 完整教程
转载:http://www.cnblogs.com/Garden-blog/archive/2011/03/11/1981778.html Ajax 完整教程第 1 页 Ajax 简介Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。本文的作者是一位…

python嵩天课后思考题_Python语言程序设计基础(第二版)嵩天等课后习题答案
第一次博文 Time:2018年04月28日 星期六 11:37二次补充 2018年05月02日第一章 程序设计基本方法 P29# 1.1字符串的拼接str1 input("请输入一个人的名字:")str2 input("请输入一个地点:")print("世界这么大&#x…

mac OneNote恢复历史记录
由于mac OneNote是个废物,因此还是得通过网页版OneNote或者win版OneNote来操作 网页端OneNote-对应笔记本页面 然后复制过去就可以恢复了

【C#公共帮助类】10年代码,最全的系统帮助类
这个帮助类主要包含:对象转换处理 、分割字符串、截取字符串、删除最后结尾的一个逗号、 删除最后结尾的指定字符后的字符、 生成指定长度的字符串、 生成日期随机码、 生成随机字母或数、字 截取字符长度、 对象<-->JSON 4.0使用、 对象<-->JSON 2.0使…

三十之惑–面霸的八月(第一部分)
三十之惑 –面霸的八月 题记: 三十几岁了,从sina大学肄业后,在外面漂泊,不好不坏。 从好的角度讲,这几年自己的技术没有减退,偶尔也还能够略有深入,同时能够更多的接触到产品、运营、甚至营销&a…

python小工具封装_python接口自动化(二)——封装需要用到的工具类
封装需要用的工具类:1、封装读取Excel的工具类,这里选用的是pandas:importpandas as pdpath ‘test.xlsx‘sheet_name ‘test_data‘classwith_excel:#构造函数,调用类时就运行def __init__(self, pathNone, sheet_nameNone):if p…

三十之惑–面霸的八月(第二部分)
书接上回,今天叙述小米的面试经历。 这里可能有一些技术理解和技术方案,欢迎讨论。另昨天共计收入7笔共95元,够我喝几杯咖啡了,谢谢所有捐钱的朋友。 如果你心疼我码字辛苦,有钱朋友钱场,没钱的请拉朋友来捧…

Curator Cache
1.Curator Cache 与原生ZooKeeper Wacher区别 原生的ZooKeeper Wacher是一次性的:一个Wacher一旦触发就会被移出,如果你想要反复使用Wacher,就要在Wacher被移除后重新注册,使用起来很麻烦。使用Curator Cache 可以反复使用Wacher了…

程序可以在硬件之间发送吗_你知道硬件、软件工程师之间,还有一个固件工程师吗?...
软件跟硬件之间的界限已经越来越模糊了,那么处于这个灰色地带的,就是固件了。这就分成三类工作者。1、软件工程师一般指做图形界面的程序员,工作内容就是写C、JAVA、Web等。2、硬件工程师当然是指玩电路板的,工作内容就是画原理图…

悲催的跨平台文献管理能力
1.古老的TCP交互 邮箱、FTP、硬盘 2.用现成软件Zotero 免费、跨平台、导入后在Win福昕注释可实时同步mac看看 人生苦短,我用Zotero。。

Mastering Algorithms with C中文版附带源码说明
Mastering Algorithm with C是一本非常经典和独具个性的算法书,主要是从程序员的角度,对算法领域的基本内容,通过C语言进行源码实现,其附带的源码非常详细,对初接触这个领域的程序员很有参考价值.我特地将该书源码的使用方法做了笔记,放在这样,以便日后参考. 下面是该书的封面…

仿qq左滑删除listview_Java基于Swing和Netty仿QQ界面聊天小项目
点击上方 好好学java ,选择 星标 公众号重磅资讯、干货,第一时间送达今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招!个人原创100W访问量博客:点击前往,查看更多来源&…

[BZOJ1602] [Usaco2008 Oct] 牧场行走 (LCA)
Description N头牛(2<n<1000)别人被标记为1到n,在同样被标记1到n的n块土地上吃草,第i头牛在第i块牧场吃草。 这n块土地被n-1条边连接。 奶牛可以在边上行走,第i条边连接第Ai,Bi块牧场,第i…

大数据中用到的新的数据类型bigint、decimal、smallint、tinyint
在对比oracle数据库和大数据库的时候,发现了几个用以存放数字的新的类型bigint、decimal、smallint、tinyint,为了对比之间的不同,我进行了统计 bigint 可以精确的表示从-263到263-1(即从-9,223,372,036,854,775,808到 9,223,372,036,854,77…

[综合面试] 计算机面试书籍与求职网站推荐
一、推荐书籍 计算机的好书挺多的,我买了也有四五十本,也花了不少钱,但是这些投资都是值的,好好看一下这些书,让自己找工作时的薪水涨个几千是没问题的。当然,也有些书是电子版的。我是c方向的,…

python在工厂中的运用_Python常见工厂函数用法示例
工厂函数:能够产生类实例的内建函数。工厂函数是指这些内建函数都是类对象, 当调用它们时,实际上是创建了一个类实例。Python中的工厂函数举例如下:1. int(),long(),float(),complex(),bool()>>> aint(9.9)>>> …

Java Random()函数生成指定范围的随机数
java中随机生成数字(指定范围) //随机获得0到(i-1)的一个数 int i ThreadLocalRandom.current().nextInt(i);

删除链表中的重复项
方法一:时间优先建立一个hash_set,key为链表中已经遍历的节点内容,开始时为空。从头开始遍历链表中的节点:- 如果节点内容已经在hash_set中存在,则删除此节点,继续向后遍历;- 如果节点内容不在h…

python提取文件名数字_在Python中从文件名提取扩展名
是否有从文件名中提取扩展名的功能?#1楼一种选择可能是与点分开:>>> filename "example.jpeg">>> filename.split(".")[-1]jpeg文件没有扩展名时没有错误:>>> "filename".split(&…

imagick API 中文说明
下面是 imagick API 中文说明 : imagick 类 imagick::adaptiveblurimage 向图像中添加 adaptive 模糊滤镜 imagick::adaptiveresizeimage 自适应调整图像数据依赖关系 imagick::adaptivesharpenimage自适应锐化图像 imagick::adaptivethresholdimage 基于范围的选择…

利用dom4j将实体类转换为对应的xml报文
利用dom4j生成xml报文 目标格式: <?xml version"1.0" encoding"GBK"?><Packet type"REQUEST" version"1.0"><Head><RequestType>C03</RequestType><UserCode>BOCIJS</UserCode…