人亦已歌 发表于 2023-6-23 20:10:45

SEO收录异常诊断:负载均衡架构导致的SEO问题及解决方案

<p>
        最近,本人负责的其中一个站点收录出现了异常,趁着周末有空讲述一下整个诊断过程。核心问题有两点,服务器架构和网站程序架构导致的;本篇仅分享服务器架构导致的收录异常。
</p>
<p>
        首先,介绍一下自己。本人就职于深圳某企业,长期混迹于乙方外包公司,众所周知seo外包公司接的是绝大部分是小企业网站,这些网站做的关键词往往也仅是改个TDK就完成排名的工作。
</p>
<p>
        再加上,目前绝大部分中小站点的架构很简单,开源CMS+单一云服务器(虚拟主机)+CDN(这还是有点运维能力公司)。鉴于以上经验,导致本人完全没有意识到服务器架构方面也能出现问题。一、收录异常的发现从(图1)可以和明显的看出,在3月中下旬收录是偏向正常的,问题出现在3.31日-4.25日之间出现了浮动,也就是说,这个区间一定是站点出现了问题导致收录异常。
</p>
<p style="text-align:center;">
        <img />
</p>
<p>
        本人开始按常规方法排查,特别是服务器日志有些参数没有排除注意,以至于导致了问题发现,具体如下:
</p>
<p>
        1.1、站长平台模拟爬虫抓取,正常。
</p>
<p>
        1.2、搜索引擎爬虫抓取数量在提升,偏向正常。这里有异常,排查伪蜘蛛爬虫在抓数据,真实百度爬虫确实也在增长。
</p>
<p>
        1.3、核心关键词排名浮动,但偏向且上升趋势靠前,目前核心大词处于前5名,正常。
</p>
<p>
        1.4、服务器日志分析,爬虫对应的request_uri值(相对地址),暂属正常,请看下文。
</p>
<p>
        1.5、服务器日志是阿里云的日志,http请求,7.18日、7.19日、7.20日以及7.26日出现小面积服务器500访问错误;但最多只出现有限的时间收录异常,不至于大范围不收录。
</p>
<p>
        在服务器访问日志分析中,一般需要注意的项是:爬虫抓取时间值,爬虫页面URL值,爬虫在页面抓取顺序,时间内爬虫抓取数量,另一说蜘蛛IP值有权重高低之分(本人不确定,故不参考)
</p>
<p>
        页面URL值:一般服务器日志是相对地址,本人诊断出现的问题在于忽略host值,真实抓取URL应该是,host+request_uri值组合。
</p>
<p>
        页面抓取顺序:可检验网站架构的爬行情况,大概可以知道爬虫在网站页面中的爬行顺序,可以辅助使用爬虫软件或者开发经典爬虫(PY,PHP等)的爬行情况作为参考
</p>
<p>
        时间内爬虫抓取数量:检验网站页面总量和时间段内抓取量的占比,判断网站的受欢迎程度。
</p>
<p>
        说到这里,交代一下站点的服务器架构:
</p>
<p>
        用的是负载均衡,文件服务器+数据服务器+前端服务器,数据服务器全部数据是由API接口、GET方式前端和app使用,网站URL是相对地址。服务器之间自然用的也是内网通讯。
</p>
<p>
        综上,可能大家也看出有忽略的参数,是1.4中提到的日志host值,因为是相对地址,host+request_uri才是抓取的完整地址。一直忽略的Host值,原来是API的二级域名(图2)
</p>
<p style="text-align:center;">
        <img />
</p>
<p>
        说到这里,大家可能已经基本上可以确定知道原因了。
</p>
<p>
        就是百度根本没有抓取到真实的页面URL,实际上抓取的是API域名+request_uri,
</p>
<p>
        即假设数据库服务器API给前端渲染的数据路径是api.name.com,走内网IP,
</p>
<p>
        抓取到的页面URL为:https://api.name.com/post/1.html
</p>
<p>
        真实应该是外网IP的URL:https://www.name.com/post/1.html既然核心问题已把握30?下一步自然是数据证明,主要从几个点。1、翻开发日志记录
</p>
<p>
        2、4月前后的服务器日志整理对比
</p>
<p>
        从1中发觉,4.13号负载均衡的数据服务器api取消代理,这样造成的后果是前端直接抓取了host主机值为api域名下的数据在前端渲染,因为是直接使用内网IP没经过代理,同时api二级域名为host主机值。
</p>
<p>
        从2中发觉,4月前后日志的host主机值出现了改变,由www.name.com变成了api.name.com。
</p>
<p>
        最终,问题就出现在host主机为api的站点,没有使用代理,也就是说只要api站点通过代理变成www的二级站点渲染即可。如果没有使用代理,百度GET返回的页面是内网IP,抓取到的也就是https://api.name.com/post/1.html 这个URL。解决方案:1、负载均衡的数据服务器api接口使用代理
</p>
<p>
        2、Head区增加标签
</p>
<p>
        3、前端渲染的HTML使用绝对路径
</p>
<p>
        4、开发个API接口推送数据
</p>
<p>
        本文完。鉴于本人仅是SEO,运维能力有限,单机服务器配置下站可以,负载均衡只是略微听过,如有运维方面错误之处请见谅。
</p>
<p>
        作者:深圳传说
</p>
页: [1]
查看完整版本: SEO收录异常诊断:负载均衡架构导致的SEO问题及解决方案