• 13988888888
  • youweb@qq.com
  • 广东省广州市番禺经济开发区
  • 定制化设计一站式临时空间解决方案

  • 高端产品行业领先进口生产线

  • 核心技术装配式移动建筑系统

公司新闻
   主页 > 公司新闻

搜索引擎-网络爬虫原理及SEO优化

作者:佚名  发布时间:2024-04-15 12:58  浏览:

最近公司决定重构官网,主要原因就是解决SEO问题(提升网站的排名,根据关键词精准定位到站点),虽然之前了解过Vue SSR(Vue SPA 对于SEO的解决方案),但是要真的让我把原理讲清楚,对于我来说,还是有点难度,以下查阅很多相关文章并总结出来能够说服自己的一套体系,如资源侵权请告知。

想要了解SEO解决方案及原理,究其根本就是搜索引擎,对于对浏览器不算太了解的同学可能就会说了,搜索引擎谁不知道,百度、搜狗、谷歌...,没错,我们做网站的目的就是让用户使用搜索引擎时搜索关键词可以精准定位到网站并且排名靠前

搜索引擎的技术架构及其复杂,像百度这样的企业很多年作出来的架构,我不可能几句话就跟介绍清楚,这里只介绍搜索引擎的通用架构,如图:

看一眼架构图,都会发现整个可以大致分为三个部分:

  • 面向互联网的爬虫系统---左
  • 面向数据的存储系统---中
  • 面向用户的搜索系统---右

其余都是链接三者的处理细节请看图了解,不赘述,大体结构总结就一句话:

这里还要提一下,搜索系统和爬虫系统并不是简单并行、或者先后关系,而是要根据实际情况具体分析,实际上爬虫系统理论上每时每分每秒都在运行,不停的抓取与用户有关的关键词供用户搜索,使得用户可以搜索得到。(至于当用户搜索一个数据库内没有的关键词时,会不会并行的开通一个爬取任务爬取这个论据不得而知,也不是我们要讨论的范围,这里提出来只是给大家一个思考的空间)

注意:由于我们的主题是SEO,而SEO主要是针对网络爬虫的爬取,这里我们只介绍左边部分

简单来说,**网络爬虫就是搜索引擎访问你的网站进而收录你的网站的一种内容采集工具。**上面提到了爬虫那么爬虫到底是什么呢?

网络爬虫是搜索引擎中最基础的组成部分,下面是一个普通网络爬虫的基本架构:

我们来分析这张架构图主要分为以下几个部分:

这里特别介绍一下种子URL:种子URL就是人为设定一些URL供給爬虫抓取。可以理解为抓取的入口URL,通过其内部链接再扩散抓取。(比如在查询一些非法网站时就可以利用这种方式,将其周边不合理的网站全部查封,个人理解)。

了解了搜索引擎和爬虫原理,这里我们做一个详细的过程分析:

在搜索引擎网站的后台会有一个非常庞大的索引库,里面存储了海量的关键词,而每个关键词又对应着很多网址,这些网址是被称之为“搜索引擎蜘蛛”或“网络爬虫”程序从茫茫的互联网上一点一点下载收集而来的。随着各种各样网站的出现,这些勤劳的“蜘蛛”每天在互联网上爬行,从一个链接到另一个链接,下载其中的内容,进行分析提炼,找到其中的关键词,如果“蜘蛛”认为关键词在数据库中没有而对用户是有用的便存入后台的数据库中。反之,如果“蜘蛛”认为是垃圾信息或重复信息,就舍弃不要,继续爬行,寻找最新的、有用的信息保存起来提供用户搜索。当用户搜索时,就从索引库能检索出与关键字相关的网址显示给访客。一个关键词对应多个网址,因此就出现了排序的问题,相应的当与关键词最吻合的网址就会排在前面了。在“蜘蛛”抓取网页内容,提炼关键词的这个过程中,就存在一个问题:“蜘蛛”能否看懂。如果网站内容是Flash和JS等,那么它是看不懂的,即使关键字再贴切也没用。相应的,如果网站内容可以被搜索引擎能识别,那么搜索引擎就会提高该网站的权重,增加对该网站的友好度,进而提升网站的排名。

SEO翻译过来叫搜索引擎优化,主要工作是通过了解各类搜索引擎如何抓取互联网页面,如何进行索引以及如何确定其对某一特定关键词的搜索结果排名等技术,来对网页进行相关的优化,使其提高搜索引擎排名,从而提高访问量,最终提升网站的销售能力或宣传能力的技术。增加网站曝光率,提高整站权重,让用户更容易搜索到你的网站,进而带来客观的流量。

通过这一策略引流的优点是:

  • 低成本
  • 持久性
  • 不需要承担"无效点击"的风险:前两个不赘述,无效点击跟大家提一下,以百度为例网站排名不仅仅是爬虫根据关键字爬取的结果,还有一部分是人为的,比如给百度广告费,按用户的点击量进行计费,如果用户误点的次数过多那么就会造成很大的经济损失。

1、优化方向

1)网站设计优化

  • 网站主标题关键词优化,必须选择好关键词,一般以“一个核心词+三五个长尾词”组合成标题。
  • 网站布局的优化。一般来说,企业产品网站,主要是F型布局,内容繁多的网站以“扁平结构”布局为主。
  • 代码优化,就是板块、栏目代码,最好使用对应的简拼或者全拼。

2)网站内容优化

  • 分析栏目关键词,有哪些长尾词,挖掘出来,做成表格的形式。然后,逐个分析长尾词都有哪些内容有关,形成二级长尾词。

  • 根据挖掘的长尾词,分析用户需求,挖掘与之有关的内容,整理出文章,发布在网站上,一定确保高质量文章。

2、SPA-Single Page Application

SPA全称是single page application 单页面应用,众所周知目前前端比较火的框架都是SPA,优点有局部刷新、前后端分离、性能更好、节约成本等等。当然没有一个框架是完美的SPA也是,他最大缺点就与SEO有关。

SPA不利SEO原因:

1、爬取页面信息不全:数据驱动视图,大量js代码,TDK,无法被爬取

2、爬取页面数量有限:单页面只有一个index.html文件,无法爬取路由子页面

归根结底,就是爬虫爬取SPA页面的信息不完整,才会影响后面的排名低、流量少等一系列问题。

渲染(Render):页面的计算过程(html、css、js)
计算过程(Computed):对于数据的处理 ,DOM Tree 、CSSOM Tree 、 Render Tree

渲染分类(Render Class):客户端渲染&服务端渲染

  • 客户端渲染:

随着ajax技术的普及以及前端框架的崛起(jq、Angular、React、Vue) 框架的崛起,开始转向了前端渲染,使用 JS 来渲染页面大部分内容达到局部刷新的作用。

过程:html 仅仅作为静态文件,客户端端在请求时,服务端不做任何处理,直接以原文件的形式返回给客户端客户端,然后根据 html 上的 JavaScript,生成 DOM 插入 html。

  • 服务端渲染

过程:服务端在返回 html 之前,在特定的区域,符号里用数据填充,再给客户端,客户端只负责解析 HTML

预渲染是基于在项目构建时,通过无头浏览器模拟浏览器请求,将得到的数据插入模板中,从而生成已经包含完整静态资源的HTML,这样网络爬虫可以抓取到更多的网站信息。

预渲染是使用prerender-spa-plugin模块,结合webpack来生成一些路由对应的静态页面。

预渲染流程:访问网站首页=>模拟(配置好的页面)请求=> 预先加载=> 生成多个完整页面=> 供爬虫爬取

服务端渲染就是先向后端服务器请求数据,然后生成完整首屏HTML返回给浏览器,服务端渲染返回给客户端的是已经获取了异步数据并执行JavaScript脚本的最终HTML,网络爬虫可以抓取到完整的页面信息,SSR另一个很大的作用是加速首屏渲染,因为无需等待所有的JavaScript都完成下载并执行,才显示服务端渲染的标记,所以用户会更快地看到完整渲染的页面。

服务端渲染流程:访问网站首页=>服务端加载所有数据=>生成完整的首屏=> 返回个客户端=> 爬虫爬取完整页面

这篇文章虽然是一篇技术软文,但是个人感觉如果对于一个技术的一个宏观概念都没有,上来就撸代码对于个人发展是很不利的。

返回

平台注册入口