新闻资讯

首页 > 百度公告 > 百度移动搜索建站优化白皮书
百度移动搜索建站优化白皮书发布时间:2019-08

1 前言


手机百度是一款有6亿用户在使用的手机搜索客户端,在中文用户信息获取上发挥了不可替代的作用;移动搜索引擎每日分发上亿流量给到优质安全网站,来满足用户的搜索需求;而对于广大的站长来说,优质安全的网站有助于在搜索引擎中获得良好的排序和展现,从而吸引更多用户,获得更多流量。


移动搜索引擎优化,指从建站开始到吸引用户,贯穿所有流程,为了让百度搜索的重要合作伙伴——广大站长充分了解百度搜索引擎规则,并根据规则合理安全建设网站、优化网站,更好的获取搜索流量;百度搜索资源平台历时3个月,探访搜索内部各个技术部门,将百度搜索内部技术原理抽丝剥茧,化零为整,整理出《百度移动搜索建站优化白皮书》,希望与各位站长携手,为用户提供一个健康安全高效的搜索环境。



2 网站建设

2.1  域名选择

网站域名选择,不仅能快速直观让用户了解网站定位,域名设置,更会影响搜索对网站的抓取情况。因此,选择简单好记且安全的域名,是网站搭建前期最重要的一步。


2.1.1  域名选择的注意事项

网站搭建之初,对网站域名选择,建议域名独立,简单好记;独立移动站域名选择也遵循此规则。

移动站的域名需与PC站域名分开,移动站不建议与PC站公用一个域名;比如PC网站域名建议是www.test.com,对应移动站的域名是m.test.com,而不是www.test.com/m/的形式;如果是自适应网站可不考虑此情况。

网站域名选择中,主要有以下两点建议:

√ 建议使用比较常见的域名后缀,如.com\.cn\.net等;


√ 如果网站追求个性化使用罕见域名后缀,为了保证搜索效果,请来百度搜索资源平台(原百度站长平台)进行站点验证。

2.1.2  使用子域名或目录

网站是否需要建立子域名,或是划分多级目录,可根据网站自身定位及网站内容量级决定。通常来说,综合类或内容量较多的网站,可将内容按照不同二级域明确划分;而如果网站内容较少,不建议网站开设过多的子域名。

举例来说,blog形式站点,有的网站给到每个blog作者单独的三级域,但如果作者发布频率较低,整个三级域都是更新频率很低的状态,过低的发布频率对搜索引擎来说是不友好的。


2.2  内容发布系统

内容发布系统,无论是网站自建还是使用第三方建站系统,百度都是支持的;所有发布系统,除遵循有条理、逻辑清晰建站,还要注意网站搭建的安全问题,避免网站安全隐患,才能更好的提升网站价值。


2.2.1  自建内容发布系统

网站自建内容发布系统,注意事项包括:

√ 主体内容清晰且能够很好的识别与分辨;

√ 后台发布时间切勿自行设置,遵循发布时间与展示时间一致;

√ 内容发布系统中各表单设置合理,如对tag标签的设置不宜过多、不宜罗列关键词;

√ 分类划分明确,分类主题的文章对应发布到相应分类下;

√ 题文相符,切勿挂羊头卖狗肉,欺骗搜索引擎流量,损伤用户体验;

√ 段落清晰合理、字体大小适中、字体颜色切勿使用与背景色相近的颜色;

√ 发布内容目录划分清晰,具体参考2.3章节中网站结构设置。


2.2.2  第三方发布系统

使用第三方发布系统建站,需要站长关注以下注意事项:

√ 模板主题不建议频繁更换;

√ 类似wordpress等系统,不建议使用过多插件,会影响网页打开速度;

√ URL伪静态的处理,命名规范、层级清晰;

√ 开源建站系统存在较多安全隐患,使用过程中务必做一些安全上的设置和优化。


2.2.3  页面生成规范

无论网站自建发布系统,还是网站使用第三方建站系统,网站页面的生成,都应注意以下几点:

√ 网页结构清晰、各分类名称设置醒目;


√ 导航、面包屑导航设置合理,机器可读、位置突出,用户能很好得知所访问页面在网站中的位置;

√ 不存在遮挡主体内容的广告元素;

√ 无三俗图文、音频元素;

注意网站搭建系统安全问题,杜绝网站安全隐患。

访问请求中的content-type需要根据对应的类型进行正确设置,图示如下:



除此之外,关于页面规范标准,建议参考搜索学院发布的《百度搜索Mobile Friendly(移动友好度)标准V1.0》


2.3  网站结构

合理设置网站结构,是网站被快速抓取、获得搜索流量的基础;因网站结构设置不合理,导致网站无法被快速识别抓取的事例在百度日常反馈中经常见到,且网站换域名也会对网站造成一定损失,故希望各位站长从建站之初重视网站结构设置,避免不必要的损失。


2.3.1  URL结构设置

URL搭建是否有严格要求,请看以下几点注意事项:

√ 在搭建网站结构、制作URL时,尽量避开非主流设计,追求简单美即可,越简单越平常,越好,例如URL中出现生僻字符,如不常见的“II”,会引起搜索引擎识别错误;

√ URL长度要求去掉协议头http(s)://之后的URL长度不要超过256个字节;

√ 谨慎使用#参数,有效的参数不能放在#后面;可能被截断导致网页抓取异常。



2.3.2  目录结构设置

网站目录结构搭建是否合理,影响搜索引擎对网站的抓取情况,这里需要提到的是,网站目录结构无论是扁平化还是树形结构,一般都可以被搜索引擎发现,但有以下几点注意事项:

√ 建议不同内容放在不同目录或子域下,域名划分在2.1.2网站域名划分章节中有详细提到;

√ 不要使用孤岛链接,孤岛链接很难被搜索引擎快速发现;若网站已存在大量孤岛链接,建议使用搜索资源平台的链接提交工具向百度提交数据;

√ 重要内容不建议放在深层目录,若该内容没有大量内链指向,搜索引擎很难判断该页面的重要程度。

以下是图片示例:



2.4  服务商/自建服务器

选择服务商或者自建服务器,对网站搭建都是十分重要基础的一环;服务器安全和稳定将直接影响百度搜索引擎对网站的整体判断。


2.4.1  域名服务


2.4.1.1  域名服务&域名部署

关于域名服务和域名部署,有以下注意事项:

√ 站长在域名部署中请仔细各环节问题,不要出现域名部署错误情况;

√ 不建议网站进行泛解析,若网站爆发大规模泛解析,且影响恶劣,则会受到搜索策略打压;

√ 尽量选择优质域名服务商。


2.4.2  服务器

做网站还有非常重要的一环,就是服务器的选择,那服务器选择中,无论是虚拟主机、云主机还是独立的服务器,都应该注意以下四点:

√ 中文网站不建议选择国外服务器;

√ 服务器的稳定性非常重要,需要保持访问流畅,服务器是否稳定,可以使用百度搜索资源平台(原百度站长平台)抓取异常、抓取诊断工具进行检测维护。(服务器经常无法访问或者死机,对爬虫来讲都是致命伤害);

√ 服务器选择除了自身的稳定性外,实际上还要考虑网站的业务量,例如带宽、内存、CPU是否能够承受访问量,突发大流量情况下是否可以正常访问;

√ 服务器主机设置,需要注意是否有禁止爬虫抓取的设置、或存在404错误信息设置,这些情况都会引起不必要的搜索引擎抓取判断异常,为网站带来不必要的损失。


2.4.2.1  虚拟主机

总的来说,建议虚拟主机选购时候需要特别注意:

√ 主机商是否存在限制搜索引擎访问的情况;

√ 主机商的资质是否符合要求;

√ 主机商的技术沉淀是否足够,建议选择品牌较大的主机商;

√ 主机商托管的机房的物理条件和网络条件是否足够优秀;

√ 主机商的技术和客服支持情况是否够好;

√ 主机商是否会存在超容量的情况;

√ 主机商是否存在违规接入高风险站点的问题或同一IP下是否会存在高风险站点的情况;

√ 国内站点建议选购国内云主机建站。


2.4.2.2  独立主机

独立主机为站点带来更加宽松的使用环境和个性软件的安装,因此独立主机需要站长拥有一定的技术力量来保证网站的正常运行和安全。

我们对于站长选购和托管独立主机的建议是:

√ 注意虚拟主机是否有将爬虫IP拉入黑名单,关于百度UA,可以参考3.1.2.1百度蜘蛛章节;

√ 建议使用独立IP地址的主机;

√ 建议使用规模较大机构的主机,在安全配置、稳定性上相对更好;

√ 对IDC服务商的建设标准需要一定的考虑,例如防火、防盗、是否有UPS保证、室内温控、消防等;

√ IDC服务商的服务质量和技术是否达标,是否24h值班,是否能够协助排查一些故障、免费重启重装系统等;

√ IDC机房的资质是否齐全,存放站点是否有高风险站点或服务器存在。


2.4.3  安全服务


2.4.3.1  HTTPS

当前百度已实行全站化HTTPS安全加密服务,百度HTTPS安全加密已覆盖主流浏览器,旨在用户打造了一个更隐私化的互联网空间、加速了国内互联网的HTTPS化。同时也希望更多网站加入到HTTPS的队伍中来,为网络安全贡献一份力量。

HTTPS安全原理解析

HTTPS主要由有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。HTTPS与HTTP的原理区别可以观察下图:

HTTS复杂的加密机制有效的加大了网站的安全性,加密机制与认证机制可以减少网站被劫持和假冒的风险,建议站长们可以通过做HTTPS改造来强化网站安全。

百度搜索资源平台为了更好的抓取识别HTTPS网站,2017年还推出了HTTPS认证工具,已经完成HTTPS改造的网站,可以在搜索资源平台-网站支持-HTTPS认证工具中提交网站的HTTPS数据,便于百度更好抓取识别网站。关于HTTPS认证工具详解,可以参考5.3.2HTTPS认证工具章节。


2.4.3.2  网站防止被黑对策

网站被黑,通常表现为网站中出现大量非本网站发布的类似博彩内容,或网站页面直接跳转到博彩页面;以下是网站被黑后发布的内容:

内容非网站发布,内容中含大量博彩网站指向:


网站页面直接跳转到博彩网站:


网站被黑代表网站安全存在严重问题或漏洞,如何防范网站被黑,请参考以下:

首先,自查是否被黑

√ 被黑网站在数据上有一个特点,即索引量和从搜索引擎带来的流量在短时间内异常数据异常。所以,站长可以利用百度搜索资源平台(原百度站长平台)的索引量工具,观察站点索引量是否有异常;如果发现数据异常,再通过流量与关键词工具查看获得流量的关键词是否与网站有关、是否涉及博彩和色情;

√ 通过Site语法查询站点,结合一些常见的色情、博彩类关键词效果更佳,有可能发现不属于站点的非法页面;

√ 由于百度流量巨大,有些被黑行为仅针对百度带来的流量予以跳转,站长很难发现,所以在查看自己站点是否被黑时,一定要从百度搜索结果中点击站点页面,查看是否跳转到了其他站点;

√ 站点内容在百度搜索结果中被提示存在风险;

√ 后续可以请网站技术人员通过后台数据和程序进一步确认网站是否被黑。

其次,被黑之后如何处理

√ 确认网站被黑后,SEO人员除了要推动技术人员快速修正外,还需要做一些善后和预防的工作;

√ 网站如有变更页面,变更页面建议使用链接提交工具向百度提交数据;

√ 立即停止网站服务,避免用户继续受影响,防止继续影响其他站点;

√ 如果同一主机提供商同期内有多个站点被黑,可以联系主机提供商,敦促对方做出应对;

√ 清理已发现的被黑内容,将被黑页面设置为404死链,并通过百度搜索资源平台(原百度站长平台)死链提交工具进行提交。(我们发现有些站点采用了将被黑页面跳转至首页的做法,非常不可取。);

√ 排查出可能的被黑时间,和服务器上的文件修改时间相比对,处理掉黑客上传、修改过的文件;检查服务器中的用户管理设置,确认是否存在异常的变化;更改服务器的用户访问密码。注:可以从访问日志中,确定可能的被黑时间。不过黑客可能也修改服务器的访问日志;

√ 做好安全工作,排查网站存在的漏洞,防止再次被黑。

网站自我防护的注意事项:

√ 多种安全防护同步进行:适合中小型资讯网站;

● 网站程序勤打补丁:现在很多资讯类网站用的系统使用了内容管理系统(CMS),作为新闻发布系统,功能还算可以了,但是作为比较常见的内容管理系统(CMS),也有另一个问题,那就是漏洞比较大众化,因为源码是公开的,所以很容易被研究出漏洞,需要对网站程序及时进行漏洞修复。

√ 对服务器进行常规的安全防护;

● 在上班时间之外,对服务器上的网站权限做设置,禁止文件修改,后台文件隐藏或迁移到根目录之外。

● 参考一些网站的安全设置,非限定的IP不能写入到数据库。

√ 不使用开源程序默认的robots文件;

● 下图是一个地级市的资讯类站点的robots文件,从robots文件中可以看出,该网站用的是织梦后台,那黑客就可以通过各种针对织梦攻击的软件进行操作了,也可以针对织梦网站的常见漏洞进行扫描和针对性攻击了。



2.4.4  网络服务


2.4.4.1  CDN

从搜索抓取机制上讲:百度蜘蛛对站点的抓取方式和普通用户访问一样,只要普通用户能访问到的内容,百度蜘蛛就能抓取到。不管是用什么技术,只要能保证用户能流畅的访问网站,对搜索引擎就没有影响。但有站长反馈使用CDN后出现网站抓取异常、甚至流量异常等问题,主要是两方面的因素:

一是部分CDN服务商硬件投入不够,经常出现不稳定情况,会导致大量的蜘蛛抓取失败,从而影响网站抓取效果,有的甚至影响了索引量数据;所以选择有实力的CDN服务商很重要;

二是缓存机制在网站出现死链、无法打开、被黑等情况的时候起到了推波助澜的作用。短时间内产生了一些不利快照,影响了排名。这种情况不用担心,及时清理源文件和CDN缓存,并在百度搜索资源平台(原百度站长平台)提交相关死链数据等方法进行挽回,是可以恢复的。

3 网站优化

3.1  抓取友好性

关于抓取的优先级,在此重点强调:

√ 网站更新频率:经常更新高价值的站点,优先抓取;

√ 受欢迎程度:用户体验好的站点,优先抓取;

√ 优质入口:优质站点内链接,优先抓取;

√ 历史的抓取效果越好,越优先抓取;

√ 服务器稳定,优先抓取;

√ 安全记录优质的网站,优先抓取;

顺畅稳定的抓取是网站获得搜索用户、搜索流量的重要前提,影响抓取的关键因素,站长可以通过本章节了解。


3.1.1  URL规范

网站的URL如何设置,可参考2.3.1中的URL设置规范


3.1.1.1  参数

URL中的参数放置,需遵循两个要点:

√ 参数不能太复杂;

√ 不要用无效参数,无效参数会导致页面识别问题,页面内容最终无法在搜索展示

另外,很多站长利用参数(对搜索引擎和页面内容而言参数无效)统计站点访问行为,这里强调下,尽量不要出现这种形式资源,例如:

https://www.test.com/deal/w00tb7cyv.html?s=a67b0e875ae58a14e3fcc460422032d3

或者:

http://nmtp.test.com/;NTESnmtpSI=029FF574C4739E1D0A45C9C90D656226.hzayq-nmt07.server.163.org-8010#/app/others/details?editId=&articleId=578543&articleType=0&from=sight


3.1.2  链接发现


3.1.2.1  百度蜘蛛

很多站长会咨询如何判断百度移动蜘蛛,这里推荐一种方法,只需两步,正确识别百度蜘蛛:

查看UA

如果UA都不对,可以直接判断非百度搜索的蜘蛛,目前对外公布过的UA是:

移动UA 1:

Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,likeGecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+http://www.baidu.com/ search/ spider.html)

移动UA 2:

Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 likeMac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)

PC UA 1:

Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)

PC UA 2:

Mozilla/5.0(compatible;Baiduspider-render/2.0;+http://www.baidu.com/search/ spider.html)

反查IP

站长可以通过DNS反查IP的方式判断某只蜘蛛是否来自百度搜索引擎。根据平台不同验证方法不同,如Linux/Windows/OS三种平台下的验证方法分别如下:

在Linux平台下,可以使用hostip命令反解IP来判断是否来自百度蜘蛛的抓取。百度蜘蛛的hostname以*.baidu.com格式命名,非*.baidu.com即为冒充。



这里需要再提出一点,建议使用DNS更换为8.8.8.8后进行nslookup反向解析,否则很容易出现无返回或返回错误的问题。

在Windows平台下,可以使用nslookup ip命令反解IP来判断是否来自百度蜘蛛的抓取。打开命令处理器输入nslookup xxx.xxx.xxx.xxx(IP地址)就能解析IP,来判断是否来自百度蜘蛛的抓取,百度蜘蛛的hostname以*.baidu.com格式命名,非*.baidu.com即为冒充。

在Mac OS平台下,网站可以使用dig命令反解IP来判断是否来自百度蜘蛛的抓取。打开命令处理器输入dig xxx.xxx.xxx.xxx(IP地址)就能解析IP,来判断是否来自百度蜘蛛的抓取,百度蜘蛛的hostname以*.baidu.com的格式命名,非*.baidu.com即为冒充。


3.1.2.2  链接提交

链接提交工具是网站主动向百度搜索推送数据的工具,网站使用链接提交可缩短爬虫发现网站链接时间,目前链接提交工具支持四种方式提交:

√ 主动推送:是最为快速的提交方式,建议将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度抓取;

√ Sitemap:网站可定期将网站链接放到Sitemap中,然后将Sitemap提交给百度。百度会周期性的抓取检查提交的Sitemap,对其中的链接进行处理,但抓取速度慢于主动推送;

√ 手工提交:如果不想通过程序提交,那么可以采用此种方式,手动将链接提交给百度;

√ 自动推送:是轻量级链接提交组件,将自动推送的JS代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。

简单来说:建议有新闻属性站点,使用主动推送进行数据提交;新验证平台站点,或内容无时效性要求站点,可以使用Sitemap将网站全部内容使用Sitemap提交;技术能力弱,或网站内容较少的站点,可使用手工提交方式进行数据提交;最后,还可以使用插件方式,自动推送方式给百度提交数据。


3.1.3  网页抓取


3.1.3.1  访问速度

关于移动页面的访问速度,百度搜索资源平台(原百度站长平台)已于2017年10月推出过闪电算法,针对页面首页的打开速度给予策略支持。闪电算法中指出,移动搜索页面首屏加载时间将影响搜索排名。移动网页首屏加载时间在2秒之内的,在移动搜索下将获得提升页面评价优待,获得流量倾斜;同时,在移动搜索页面首屏加载非常慢(3秒及以上)的网页将会被打压。

对于页面访问速度的提速,这里也给到几点建议:

资源加载:

√ 将同类型资源在服务器端压缩合并,减少网络请求次数和资源体积;

√ 引用通用资源,充分利用浏览器缓存;

√ 使用CDN加速,将用户的请求定向到最合适的缓存服务器上;

√ 非首屏图片类加载,将网络带宽留给首屏请求。

页面渲染:

√ 将CSS样式写在头部样式表中,减少由CSS文件网络请求造成的渲染阻塞;

√ 将JavaScript放到文档末尾,或使用异步方式加载,避免JS执行阻塞渲染;

√ 对非文字元素(如图片,视频)指定宽高,避免浏览器重排重绘;

希望广大站长持续关注页面加载速度体验,视网站自身情况,参照建议自行优化页面,或使用通用的加速解决方案(如MIP),不断优化页面首屏加载时间。

了解MIP-移动网页加速器可参考:https://www.mipengine.org/


3.1.3.2  返回码

HTTP状态码是用以表示网页服务器HTTP响应状态的3位数字代码。各位站长在平时维护网站过程中,可能会在站长工具后台抓取异常里面或者服务器日志里看到各种各样的响应状态码,有些甚至会影响网站的SEO效果,例如重点强调网页404设置,百度搜索资源平台(原百度站长平台)中部分工具如死链提交,需要网站把内容死链后进行提交,这里要求设置必须是404。

下面为大家整理了一些常见的HTTP状态码:

301:(永久移动)请求的网页已被永久移动到新位置。服务器返回此响应(作为对GET或HEAD请求的响应)时,会自动将请求者转到新位置。

302:(临时移动)服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应GET和HEAD请求的301代码类似,会自动将请求者转到不同的位置。

这里强调301与302的区别:

301/302的关键区别在于:这个资源是否存在/有效;

301指资源还在,只是换了一个位置,返回的是新位置的内容;

302指资源暂时失效,返回的是一个临时的代替页(例如镜像资源、首页、404页面)上。注意如果永久失效应当使用404。

有时站长认为百度对302不友好,可能是误用了302处理仍然有效的资源;

400:(错误请求)服务器不理解请求的语法;

403:(已禁止)服务器已经理解请求,但是拒绝执行它;

404:(未找到)服务器找不到请求的网页;

这里不得不提的一点,很多站长想自定义404页面,需要做到确保蜘蛛访问时返回状态码为404,若因为404页面跳转时设置不当,返回了200状态码,则容易被搜索引擎认为网站上出现了大量重复页面,从而对网站评价造成影响;

500:(服务器内部错误)服务器遇到错误,无法完成请求;

502:(错误网关)服务器作为网关或代理,从上游服务器收到了无效的响应;

503:(服务不可用)目前无法使用服务器(由于超载或进行停机维护)。通常,这只是一种暂时的状态;

504:(网关超时)服务器作为网关或代理,未及时从上游服务器接收请求。


3.1.3.3  robots

robots工具的详细工具使用说明,细节参考4.3.4robots工具章节,关于robots的使用,仅强调以下两点: