哥几个,最近我网站遇到个事儿,真是把我折磨得够呛,好几天吃不好睡不香的。啥事儿?就是我的网站导航,在谷歌搜索结果里死活不出来!你网站好好一个导航栏,搜索结果里就光秃秃一个主页链接,点进去才能看到别的页面,这不等于瘸了一条腿吗?用户体验大打折扣,流量也肯定受影响。我当时就懵了,这可咋整?
刚开始我以为是谷歌抽风了,毕竟这事儿也不是没见过。就想着等两天看看,结果等了三天,还是一样。我就知道,这肯定是我自己网站哪儿出了幺蛾子。于是我撸起袖子,决定自己动手排查一下。
检查第一步:网站的基础结构有没有问题
我想到的是最基础的几个点:
- 网站地图(Sitemap): 我赶紧跑到谷歌站长工具(Google Search Console)里去瞅了一眼,发现我的Sitemap提交是没问题的,而且显示已经成功抓取。但是,我还是不放心,重新生成了一个最新的Sitemap,又重新提交了一遍。想着,万一旧的有啥隐患。
- *文件: 这个文件可是管着搜索引擎能不能爬你网站的重要关卡。我立马打开网站根目录,把这个文件扒拉出来仔细瞧了瞧。没发现有啥“Disallow”的指令把我的导航页面给禁了。一切看起来都正常。
- 导航的HTML代码: 我是不是把导航写得太复杂了?用了太多JavaScript?谷歌对那种纯JS渲染的导航一直都不太友我赶紧查看了我网站导航的代码,发现我就是用的最普通的HTML <ul><li><a>那种结构,很标准。不应该是这个锅。
检查第二步:谷歌爸爸到底看到了
光看自己网站的代码肯定不够,得看看谷歌“眼里”我的网站是啥样。我又回到了谷歌站长工具:
- URL检查工具: 我随便挑了一个我网站上,理论上应该在导航里出现的页面链接,扔到“URL检查”工具里跑了一遍。这个工具能模拟谷歌抓取和渲染你的页面,然后告诉你谷歌看到了什么。结果显示,谷歌是能抓取到这个页面的,而且渲染出来的页面也正常,导航条好好的在那儿摆着。这下我更蒙圈了,既然看得到,为啥不显示在搜索结果里?
- 抓取报告: 我又看了下“索引”下面的“覆盖率”报告,瞅瞅有没有什么页面被排除或者有什么错误。一切正常,没啥大问题。这说明谷歌对我的网站整体抓取和索引是正常的。
深入排查:是不是有啥隐藏的猫腻?
前面的检查都白搭了,这让我开始有点抓狂。我反复在谷歌站长工具里捣鼓,突然,我在一个不起眼的地方发现了一个可能的“猫腻”。
在“URL检查工具”里,除了看渲染结果,还有一个“页面资源”的选项。我点进去一看,好家伙!里面有几个关键的CSS和JS文件,居然显示“无法加载”!这可把我吓出一身冷汗。虽然我的导航是纯HTML写的,但是它的样式和一部分交互可能依赖这些CSS和JS。如果这些文件谷歌爬不到,那它在渲染的时候,就可能把我的导航当成一坨没用的东西,或者直接忽略掉!
我赶紧跑去检查那几个无法加载的CSS和JS文件的路径,发现它们所在的目录,我之前为了测试,在`*`里写了一条禁止抓取的指令!我当时脑子里只想着不让谷歌爬那些无关紧要的文件,没想到会影响到页面的正常渲染,进而影响到导航的识别。真是自己给自己挖了个坑!
解决问题:豁然开朗,动手改!
找到问题所在,我这心里就豁然开朗了!立马打开`*`文件,把那条禁止抓取CSS和JS文件的指令给删了。然后,保存文件,重新上传到服务器。
改完之后,我立刻又回到谷歌站长工具,用“URL检查工具”再次检查了我的页面。这回所有的CSS和JS文件都显示“已加载”了!渲染出来的页面也跟我的网站一模一样,导航条亮堂堂地在那儿。然后我再次提交了Sitemap,并且使用了“请求编入索引”的功能,让谷歌尽快重新抓取我的网站。
收尾与等待
这事儿弄完,虽然松了口气,但我也知道,谷歌更新索引是需要时间的。我能做的就是等待,并且每天都到谷歌搜索里搜搜自己的网站,看看导航条是不是出来了。大概等了两三天,有一天早上我习惯性地一搜,我的网站导航,那些子页面的链接,齐刷刷地显示在搜索结果下面了!那一刻,我简直想给自己鼓掌!
所以说,遇到这种导航不显示的问题,别慌张。一步步来,从最基础的Sitemap、`*`,到站长工具里的URL检查,细致地把谷歌“看到”的东西和你的预期对照起来。很多时候,问题就藏在那些不起眼的细节里,等着你去把它揪出来!
