很多SEO从业者都有一个苦恼的问题:
网站建好了,
为什么搜索引擎迟迟不收录我的网站?
页面收录作为网站竞争排名的最基本条件,没有收录,就没有展示,也就无法竞争排名获取SEO流量了。
本文将围绕抓取和收录两点,从基本概念,常见问题及解决方法三个维度探讨,希望对大家有用。
一 什么是抓取,收录,抓取配额?
首先,先来简单介绍一下抓取,收录,抓取配额这3个名词。
①抓取(Crawl):
就是搜索引擎爬虫爬取网站的这个过程。Google的官方解释是——“抓取”是指找出新网页或更新后的网页以将其添加到 Google 中的过程;
(https://support.google.com/webmasters/answer/7643418)
②收录(Index):
就是搜索引擎把页面存储到其数据库的结果,也叫索引。Google的官方解释是:Google 抓取工具(“Googlebot”)已访问该网页、已分析其内容和含义并已将其存储在 Google 索引中。已编入索引的网页可以显示在 Google 搜索结果中;
(https://support.google.com/webmasters/answer/7643011)
③抓取配额(Crawl Budget):
是搜索引擎蜘蛛花在一个网站上的抓取页面的总时间上限。一般小型网站(几百上千个页面)其实并不需要担心,搜索引擎分配的抓取配额够不够;大型网站(百万级或千万级页面)会考虑这个问题更多一些。假如搜索引擎每天抓取的页面数几万个,那整个网站的页面抓取可能就得数月或一年。一般这个数据可以通过Google Search Console后台了解到,如下截图所示,红框中的平均值即网站分配所得的抓取配额。
通过一个例子来让大家更好地理解抓取,收录及抓取配额:
把搜索引擎比喻为一座庞大的图书馆,把网站比喻为一间书店,书店中的书本比喻为网站页面,蜘蛛爬虫比喻为图书馆采购员。
采购员为了丰富图书馆的藏书,会定期到书店查看是否有新的书本进货,翻阅书本的这个过程就可以理解为抓取;
当采购员觉得这本书有价值,就会购买带回图书馆进行收藏,这个书本收藏就是我们所说的收录;
每个采购员的购书预算是有限的,他会优先购买价值高的书本,这个预算就是我们理解的抓取配额。
二 如何查看网站的收录情况?
清楚了基本概念后,我们怎么查看网站或页面是否被收录呢?
①通过Site命令。主流的搜索引擎如Google,Baidu及Bing都是支持Site命令的。通过Site命令可以在宏观层面查看一个网站被收录了多少页面,这个数值是不精确的,有一定的波动性,但是具有一定的参考价值。如下图所示,crossborderdigital.cn 网站被Google收录的网页数大概为 296个。
②如果网站已经验证了Google Search Console,这就可以获取网站被Google收录的精确数值,如下图红框所示,Google收录了crossborderdigital.com 网站的268个页面;
③如果想查询特定的页面是否被收录,可以通过info命令,Google是支持info命令的,百度和Bing不支持,在google中输入 info:URL , 如果有结果返回,即页面已经被收录,如下图所示:
三 为什么搜索引擎不收录网站页面?
网站页面不被收录的原因是多种多样的,下面列出几条常见的原因供大家参考:
①错误使用了Meta标签“Noindex”
如果在页面的Meta标签中添加了<META NAME=”ROBOTS” CONTENT=”NOINDEX, NOFOLLOW”>的代码,即告诉搜索引擎不要索引该页面;
②在Robots文件中错误使用了Disallow
如果在网站的Robots文件中添加了User-agent: * Disallow: /ABC/ 的代码,则是告诉搜索引擎不要索引ABC目录下的所有页面。Robots文件中的命令优先级是比页面Meta标签的命令高的,Google会严格遵循Robots文件中的命令,但是页面Meta中的命令有时候会被忽略。如一个页面即使在Meta代码中明确加了Index的指令,但是在Robots文件中是Disallow的话,搜索引擎也不会收录该页面。
③网站缺少Sitemap文件
Sitemap文件是搜索引擎抓取网站页面的有效途径之一,如果网站缺少sitemap文件,或者sitemap中不包含页面URL,这都有可能造成网站或页面不被收录。
④错误使用301及302重定向
某些网站由于CMS的后台设置不正确等原因,导致页面存在多重跳转,如A页面302跳转到B页面,B页面又301跳转到C页面。这种多重跳转或混合使用跳转命令都不利于爬虫抓取页面,很多网站在处理www格式的URL跳转到不带www的URL,或http跳转到https等情况都容易出现这类问题。
⑤错误使用Canonical标签
Canonical标签主要用于两个页面间内容一样,但是URL不一样的情况,如很多有SEM投放需求的站长,为了跟踪广告效果,需要给Landing Page添加多个UTM跟踪参数;Canonical标签就能规范化这一批URL,让搜索引擎理解这些不同URL间的关系,避免内容的重复和权重的分散。但是如果A和B两个页面间的内容不一样,却给A页面加上了指向B页面的Canonical标签,这就会导致搜索引擎不能很好理解页面间的关系,因而不收录目标页面。
⑥网站或页面很新
对于新上线的网站或页面,搜索引擎需要几天时间来抓取页面。所以如果新上线的网站没被收录,可以耐心等待几天再查看。
⑦URL过于复杂或错误
部分网站的URL含有很多动态参数,语义不明确,或者URL中用了中文等非英文内容,这些都是不利于搜索引擎理解和收录页面的。如果对URL的优化毫无头绪,可以参考这篇博文:分享12个URL优化技巧,帮你提升网站SEO友好度
⑧页面层级过深
网站的扁平化有利于爬虫抓取页面,页面的层级越深,爬虫触及页面的几率就越低,被搜索引擎收录的几率也就越低。简单理解就是书店里某本书放到底层货架的角落,采购员能看到的机会就大大减少。
⑨网站或者页面的内容价值低
曾经遇到一个客户,由于技术人员把所有多媒体文件包括视频及图片等都放在一个目录里,而该目录在Robots文件里面被Disallow掉了,从而导致搜索引擎爬虫看到的页面内容和真实用户看到的内容不一样。可能站长觉得这个页面内容很丰富,但是在爬虫眼里它就是一个空白页面。如下图所示,左侧是爬虫看到的空白页面,右侧是用户看到的实际页面,这类低质量内容的页面搜索引擎也是不愿收录的。
⑩页面内容重复
质量比较低的网站都是通过采集其他网站的数据来生成页面的,这种内容高度重复的页面也是搜索引擎不愿收录的。
⑪ 网站被惩罚
如果一个网站由于使用了黑帽等非法手段而遭到Google的人工惩罚,这类型网站和页面也是不会被收录的。
四 如何解决网站收录问题?
①正确设置网站的Robots文件及htaccess文件,确保搜索引擎爬虫能正确读取页面内容
如果你是Chrome浏览器用户,可以安装User Agent Switcher这个插件来模拟Googlebot访问页面,查看页面内容是否对爬虫正确呈现。
如果网站已经验证了Google Search Console,还可以在旧版的Google Search Console中使用Google抓取工具来预览抓取的效果;
②确保页面的Meta Robots标签配置正确,没有错误使用了noindex的指令
默认的Meta Robots是index状态的,所以针对页面的Robots标签可以空置。对于Chrome浏览器用户,可以使用SEO Meta in 1 Click这个插件来查看。只需打开页面并点击插件即可查看页面相关Meta信息。
③制作Sitemap文件
并且还要在Google Search Console后台或 Bing Webmaster后台提交Sitemap文件,定期更新Sitemap文件并告知搜索引擎。
如果有部分重点页面希望Google能尽早收录的,可以通过旧版Google Search Console的抓取工具进行提交并点击索引。一般情况不是受惩罚的网站或页面,一天内都能收录。但是该途径每天最多只能提交10个页面,而且谷歌已经宣布该工具在新版Google Search Console将取消,由“网址检查” 工具替代。
④增加页面的链接入口
链接入口包括站内链接及站外链接。站内链接添加如网站导航,页面底部的Footer,面包屑导航,网站侧边栏,正文内容,相关推荐等板块都可以。站外链接有多种方法及渠道:如维基百科(我们有专业Wikipedia词条创建服务,欢迎咨询(https://crossborderdigital.cn/contact-us/),Guestpost外联,品牌Link Reclamation,Resource Link等等,想了解更详细丰富的外链建设方法,可以参考这篇文章:8种获得优质外链的方法
⑤优化页面的URL格式及层级
尽量精简页面URL的长度,单词之间使用”-“连接符而不是空格或%等特殊字符,减少页面的层级;扁平化的网站结构更有利于爬虫抓取网站。
⑥正确利用301/302重定向及Canonical标签
对于下线页面或URL变更,建议使用301永久重定向将旧页面指向新的目标页,如果页面确定永久下线,也可以如实返回404标识码。针对内容相同的页面合理使用Canonical标签,有部分电商类网站,在产品聚合页下存在多个分页,如page 1, page 2, page 3…, 为了把权重都聚合在page 1页面,错误的把page 2, page 3等分页都Canonical 指向 page 1, 这就容易导致后面的分页不被索引。
⑦使用prev及next标签
针对大型的电商网站,如某品类下有多个分页的,可以在各分页的<head>部分加上 rel=”prev”(声明上一页)和rel=”next”(声明下一页),以便搜索引擎可以了解这个页面系列间的关系,并把更多的权重和排名给予列表页的第一页。
a. 在第1页http://www.abc.com/page1 的<head>部分添加:
<link rel=”next” href=”http://www..abc.com/page2″ />
b. 在第2页http://www.abc.com/page2的<head>部分添加:
<link rel=”prev” href=”http://www.abc.com/page1″ />
<link rel=”next” href=”http://www.abc.com/page3″ />
c. 在第3页http://www.vipme.com/mini-dresses_c101/page3的<head>部分添加:
<link rel=”prev” href=”http://www.abc.com/page2″ />
<link rel=”next” href=”http://www.abc.com/page4″ />
………
d. 在最后一页http://www.abc.com/lastpage 的<head>部分添加:
<link rel=”prev” href=”http://www.abc.com/lastpage-1″ />
注:第一页只用声明rel=”next”,最后一页只要声明rel=”prev”,其他页面两者都要作声明。