[学习] nofollow
[来源:百度百科 http://baike.baidu.com/view/1584081.htm]
简介
nofollow[1]是一个HTML标签的属性值。它的出现为网站管理员提供了一种方式,即告诉搜索引擎"不要追踪此网页上的链接"或"不要追踪此特定链接"。这个标签的意义是告诉搜索引擎这个链接不是经过作者信任的,所以这个链接不是一个信任票。
nofollow标签是由谷歌领头创新的一个“反垃圾链接”的标签,并被百度、yahoo等各大搜索引擎广泛支持,引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重!
简单的说就是,如果A网页上有一个链接指向B网页,但A网页给这个链接加上了 rel="nofollow" 标注,则搜索引擎不把A网页计算入B网页的反向链接。搜索引擎看到这个标签就可能减少或完全取消链接的投票权重。[1]
发展
最初,"Nofollow"属性出现在网页级元标记中,用于指示搜索引擎不要追踪(即抓取)网页上的任何出站链接。例如:<meta name="robots" content="nofollow" />。
而后,在将"Nofollow"用于各个链接前,我们需要完成大量的工作(例如,将链接重定向至robots.txt中拦截的网址),以阻止蜘蛛追踪某网页上的各个链接。因此,我们创建了rel属性的"Nofollow"属性值。这可让网站管理员更精确地进行控制:无需指示搜索引擎和漫游器不要追踪该网页的所有链接,只需轻松地指示蜘蛛不要抓取某特定链接即可。例如:<a href="signin.php" rel="nofollow">signin</a>。
原因作用
我们都知道,反向链接即外链是搜索引擎给网站排名的一个重要因素。为了添加反向链接,SEO作弊者会在论坛和博客等大量发布带无关链接的内容。这些垃圾链接的存在给搜索引擎对网页质量的评估造成一定程度的麻烦,可以说nofollow是一个非常好的“垃圾链接防火墙”。正是百度、谷歌、Yahoo、MSN 为了应对垃圾链接(Spam)引入的一个属性,此属性应该被广泛采用。
Nofollow标签的作用有两方面,简单的说,一是不给链接投票,降低此链接的权重,二是使添加nofollow的部分内容不参与网站排名,便于集中网站权重。
使用方法
nofollow标签通常有两种使用方法:
1、将"nofollow"写在网页上的meta标签上,用来告诉搜索引擎不要抓取网页上的所有外部和包括内部链接。
<meta name="robots” content="nofollow” />
2、将"nofollow"放在超链接中,告诉搜索引擎不要抓取特定的链接。
<a rel="external nofollow" href="url"><span>内容</span></a>
3、nofollow标签是超链接<a>的一个属性值,我们只需要在源代码里面加上rel=”nofollow” 或者更为正规的rel=”external nofollow”即可 即:<a href=”#” target=”_blank” rel=”nofollow”>###</a> 。
nofollow还有另外的一些写法:
Meta robots标签必须放在和之间,格式:
content中的值决定允许抓取的类型,必须同时包含两个值:
是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。
共有4个参数可选,组成4个组合:
1. index,follow:允许抓取本页,允许跟踪链接。
2. index,nofollow:允许抓取本页,但禁止跟踪链接。
3. noindex,follow:禁止抓取本页,但允许跟踪链接。
4. noindex,nofollow:禁止抓取本页,同时禁止跟踪本页中的链接。[1]
[学习] nofollow的更多相关文章
- iOS开发之第三方库的学习--hpple的使用
前言:因为在开发中很可能会遇到html解析,如果后台提供的数据只有html数据,或者开发的app需要从web前端的html里获取数据,就需要html解析工具了. 关于HTML解析库,可以阅读:收集几个 ...
- META元素使用的简单学习
meta标签是我们学习html时容易忽略的标签,其实它的作用很大,下面就一些网上关于meta标签的讲解内容做一个简单的归纳. META标签共有两个属性,它们分别是Http-equiv属性和Name属性 ...
- angularjs学习总结 详细教程(转载)
1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...
- 学习Coding-iOS开源项目日志(四)
Hello,大家好,好久没写博客了,今天再次来研究研究Coding源码,久违了. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目.本篇开始会陆续更新本人对git ...
- guava 学习笔记 使用瓜娃(guava)的选择和预判断使代码变得简洁
guava 学习笔记 使用瓜娃(guava)的选择和预判断使代码变得简洁 1,本文翻译自 http://eclipsesource.com/blogs/2012/06/06/cleaner-code- ...
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection ...
- [转载]angularjs学习总结 详细教程
http://blog.csdn.net/yy374864125/article/details/41349417#t75 目录(?)[-] 前言 AngularJS概述 AngularJS是什么 A ...
- 移动端web学习总结
前言: 一直想做一个移动端的阶段性学习总结,但是工作太忙总是加班.现在总算可以抽出一点时间来写一写,把知道的都写下来,这样就算忘掉了,也能很快想起来,不要太机智啊,哈哈哈! 一.移动端页面常识 1.常 ...
- jQuery学习教程(2)
由于一件事情打断了我的生活节奏,每天都学习都在托托拉拉,导致很多进度都没有达到自己预期的效果 在上一个章节我学到了环境的搭建,以及对jquery的熟悉.现在开始对其具体进行熟悉了. 一.如何使用选择器 ...
随机推荐
- GeneXus学习笔记——创建一个知识库 哈哈哈哈!
终于想到写什么东西了(绝对不是因为懒 好吧 信我) 那么进入正题 我们写项目的时候 遇到一些问题啥的 总会听到大佬说:“这有什么难的 说到底不就是简单的增删改查么" 然后我们就会露出 Σ ...
- SpringMVC初写(五)拦截器
在系统开发过程中,拦截器的使用可以使我们实现一些需求.如:登录认证,权限管理等,拦截器的工作核心就是将一些工作流程进行统一处理 拦截器和过滤器的区别: 过滤器过滤的是请求路径,拦截器拦截的各层方法的映 ...
- 七,OpenERP 移库操作模块
整个代码中比较关键的地方是如何统计出不同库位的产品数量.
- suse-Linux下安装Oracle11g服务器
系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 交换空间 一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小 硬盘 5G以上 2.修改操作系 ...
- (转)CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup
CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup 原文:http://qizhanming.com/blog/2017/05/10/install-percona- ...
- linux命令-寻找超过100M的文件,并将其删除
find / -type f -size +100M | xargs rm -rf 其中第一个/表示路径,此时表示的是根目录,也就是搜索全部的文件 -type表示类型 f表示是文件 -size 表示大 ...
- height百分比失效
heigh:100%失效 解决方案: 第一种 html, body { height: 100%; } 第二种 div { height: 100%; position: absolute; } 非定 ...
- EF那点事
EntityFramework 1-->什么是EnitityFramework 1.1--> ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出 ...
- 使用Redis SETNX 命令实现分布式锁(转载)
使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法. SETNX命令简介 命令格式 SETNX key value 将 key 的值设为 value,当且仅当 key 不存在. 若 ...
- NPOI创建Excel批注
var hssfWorkbook = new HSSFWorkbook(); var sheet = hssfWorkbook.CreateSheet(); var patr = sheet.Crea ...