爬虫与seo优化
爬虫及爬行方式
爬虫有很多名字,比如web机器人、spider等,它是一种可以在无需人类干预的情况下自动进行一系列web事务处理的软件程序。web爬虫是一种机器人,它们会递归地对各种信息性的web站点进行遍历,获取第一个web页面,然后获取那个页面指向的所有的web页面,依次类推。因特网搜索引擎使用爬虫在web上游荡,并把他们碰到的文档全部拉回来。然后对这些文档进行处理,形成一个可搜索的数据库。简单来说,网络爬虫就是搜索引擎访问你的网站进而收录你的网站的一种内容采集工具。例如:百度的网络爬虫就叫做BaiduSpider。
- 搜索引擎的爬虫工作原理
网络 < --- > 爬虫 < --- > 网页内容库 < --- > 索引程序 < --- > 索引库 < --- > 搜索引擎 < --- > 用户
爬虫程序需要注意的地方
链接提取以及相对链接的标准化
爬虫在web上移动的时候会不停的对HTML页面进行解析,它要对所解析的每个页面上的URL链接进行分析,并将这些链接添加到需要爬行的页面列表中去。关于具体的方案我们可以查阅这篇文章
- 避免环路的出现
web爬虫在web上爬行时,要特别小心不要陷入循环之中,至少有以下三个原因,环路对爬虫来说是有害的。
- 他们会使爬虫可能陷入可能会将其困住的循环之中。爬虫不停的兜圈子,把所有时间都耗费在不停获取相同的页面上。
- 爬虫不断获取相同的页面的同时,服务器段也在遭受着打击,它可能会被击垮,阻止所有真实用户访问这个站点。
- 爬虫本身变的毫无用处,返回数百份完全相同的页面的因特网搜索引擎就是这样的例子。
同时,联系上一个问题,由于URL“别名”的存在,即使使用了正确的数据结构,有时候也很难分辨出以前是否访问过这个页面,如果两个URL看起来不一样,但实际指向的是同一资源,就称为互为“别名”。
标记为不爬取
可以在你的网站中创建一个纯文本文件robots.txt,在这个文件中声明该网站中不想被蜘蛛访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎访问和收录了,或者可以通过robots.txt指定搜 索引擎只收录指定的内容。搜索引擎爬行网站第一个访问的文件就是robot.txt。同样也可以把链接加上rel="nofollow"标记。- 避免环路与循环方案
- 规范化URL
- 广度优先的爬行
以广度优先的方式去访问就可以将环路的影响最小化。 - 节流
限制一段时间内爬虫可以从一个web站点获取的页面数量,也可以通过节流来限制重复页面总数和对服务器访问的总数。 - 限制URL的大小
如果环路使URL长度增加,长度限制就会最终终止这个环路 - URL黑名单
人工监视
搜索引擎优化
搜索引擎优化也叫SEO,了解了web爬虫的工作方式于原理之后对SEO会有更好的认识,对于前端开发,需要注意的SEO有以下内容:
- 突出重要内容
合理的title、description和keywords
虽然现在搜索对这三项的权重慢慢减小,但还是希望能够合理的写好他们,只写有用的东西,不要在这里写小说,要表达重点。
title:只强调重点即可,重要关键词出现不要超过2次,而且要靠前,每个页面title要有所不同description:把网页内容高度概括到这里,长度要合理,不可过分堆砌关键词,每个页面description要有所不同,keywords:列举出几个重要关键词即可,也不可过分堆砌。 - 语义化书写HTML代码,符合W3C标准
对于搜索引擎来说,最直接面对的就是网页HTML代码,如果代码写的语义化,搜索引擎就会很容易的读懂该网页要表达的意思。 - 利用布局,把重要内容HTML代码放在最前
搜索引擎抓取HTML内容是从上到下,利用这一特点,可以让主要代码优先读取,让爬虫最先抓取 - 重要内容不要用JS输出
爬虫不会读取JS里的内容,所以重要内容必须放在HTML里 - 尽少使用iframe框架
搜索引擎不会抓取到iframe里的内容,重要内容不要放在框架中。 - 为图片加上alt属性
alt属性的作用是当图片无法显示时以文字作为代替显示出来,对于SEO来说,它可以令搜索引擎有机会索引你网站的图片。 - 需要强调的地方可以加上title属性
在进行SEO优化时,适合将alt属性设置为图片本来的含义,而将 ttitle属性为设置该属性的元素提供建议性的信息。 - 为图片加上长宽
图片大的会排在前面一点。 - 保留文字效果
如果需要兼顾用户体验和SEO效果,在必须用图片的地方,例如个性字体的标题,我们可以利用样式控制,让文本文字不会出现在浏览器上,但在网页代码中是有该标题的。
注意:不可使用display:none;的方法让文字隐藏,因为搜索引擎会过滤掉display:none;里边的内容,就不会被蜘蛛检索了。 - 提高网站速度
网站速度是搜索引擎排序的一个重要指标 - 对于指向外部网站的链接要使用rel="nofollow"属性告诉爬虫不要去爬其他的页面
爬虫与seo优化的更多相关文章
- 网络爬虫与搜索引擎优化(SEO)
爬虫及爬行方式 爬虫有很多名字,比如web机器人.spider等,它是一种可以在无需人类干预的情况下自动进行一系列web事务处理的软件程序.web爬虫是一种机器人,它们会递归地对各种信息性的web站点 ...
- Html代码seo优化最佳布局实例讲解
搜索引擎对html代码是非常优化的,所以html的优化是做好推广的第一步.一个符合seo规则的代码大体如下界面所示. 1.<!–木庄网络博客–> 这个东西是些页面注释的,可以在这里加我的& ...
- 庞玉栋:浅谈seo优化对于网站建设的重要性
根据最近做SEO优化经验而写 写的也都是我的方法 大神勿喷 SEO:英文Search Engine Optimization缩写而来, 中文意译为搜索引擎优化 如果你连个网站都没有那就点这里:如何拥 ...
- 网站SEO优化问答精选
1.百度每更新一次,网站的收录就减少很多,但是我每天都增加伪原创的内容啊? 这个问题大多数是因为网站权重导致百度不够重视你:另外就是文章质量度不高,没有可读性或是原创度太低,尽管百度会收录,但是经过一 ...
- SEO优化-robots.txt解读
一.什么是robots.txt robots.txt 文件由一条或多条规则组成.每条规则可禁止(或允许)特定抓取工具抓取相应网站中的指定文件路径. 通俗一点的说法就是:告诉爬虫,我这个网站,你哪些能看 ...
- 网站SEO优化问答精选【转载】
在接触seo的过程中,大家都会碰到很多这样或那样的问题,特别是一些seo新手由于知识有限会经常到很多地方问一些网站优化的问题,做seo时间慢慢变长之后,知识会慢慢地积累,之前的问题也会慢慢的都被解答. ...
- web前端除了关注代码功能实现,还应具备web性能优化以及SEO优化的常识
web前端除了关注代码功能实现,还应具备web性能优化以及SEO优化的常识 ——不会WPO.SEO的前端工程师不是好码农 作为一名web前端工程师,除了要实现上级的要求,满足其所需要的功能,还要在平时 ...
- SEO优化上首页之搜索引擎排名规则
搜索引擎建立索引的网页数以万亿计,用户搜索的关键词也是海量,如果每个用户提交搜索请求后,搜索引擎都去数以万亿的索引中重新排名网页,效率将非常低下.根据2-8法则,80%是查询是集中在相同的20%内容上 ...
- SEO优化上首页之搜索引擎蜘蛛Spider原理
Spider,蜘蛛,又名网页网络爬虫.网络机器人,是按照一定策略不断抓取互联网网页的特定程序.蜘蛛抓回的页面创建索引后参与排名,等待用户检索.为了网站优化自然排名上首页,精灵儿工作室下面详细剖析Spi ...
随机推荐
- php 跳转页面
header('location:./example.php'); header('refresh:2;url=./example.php');
- 微信小程序使用 iconfont
小程序中使用 iconfont 在 iconfont.cn 中下载图标库, 直接将其中的 iconfont.css 复制到小程序目录中,并将扩展名改为 wxss: 在使用时在对应的样式文件 wxss ...
- J.U.C之重入锁:ReentrantLock
此篇博客所有源码均来自JDK 1.8 ReentrantLock,可重入锁,是一种递归无阻塞的同步机制.它可以等同于synchronized的使用,但是ReentrantLock提供了比synchro ...
- Windows Server 2008上网设置——IE
IE安装设置 在 Windows Sever 2008 中打开 IE 浏览器时,IE 会出现[已启用 Internet Explorer 增强的安全配置]的提示信息. Windows Server 2 ...
- 开源框架---tensorflow c++ API 一个卡了很久的问题
<开源框架---tensorflow c++ API 运行第一个“手写字的例子”> 中可以说明tensorflow c++ API是好用的,.......
- 改进Bert----spanBERT
SpanBert:对 Bert 预训练的一次深度探索 SpanBERT: Improving Pre-training by Representing and Predicting Spans 解读S ...
- k8s的包管理
1.Helm的概念和架构 每个成功的软件平台都有一个优秀的打包系统,比如 Debian.Ubuntu 的 apt,Redhat.Centos 的 yum.而 Helm 则是 Kubernetes 上的 ...
- MySQL服务器2
1.sql的基本语法 对数据库 create database db1; 创建数据库 对表: create database t1(id int,name char(10)); 创建表 show cr ...
- 12 复习 - webpack基本配置1
1.npm包管理工具 npm init -y 如果创建的项目的根目录名称是中文或者包含中文,不能使用-y npm init 回车时要求你输入包的名称,自己手写项目名称,例test 2.新建src,di ...
- 网站入侵工具 SQL注入神器
0x 00 前言 SQLMAP 0x 01 注入原理 不说了 *****************************************结束分割线********** ...