但事实上,大多数中小站长的SEO优化都困扰在一个最基本的痛点上——低成本、可自行定制的又好用的工具就那么少啊!。而现今市面上的许多SEO的工具却都要动辄几千元的年费,可开源的却往往只能做到一个功能的单一。采用一系列的Python代码的实现手段,我们就能轻松的自制一套能够既能抓取百度的搜索结果,又能对关键词的竞争度的分析的SEO的查询系统,从而大大地帮我们省下了90%的工具的采购成本。
一、为什么要自己开发SEO工具?
但无论是目前市面上的5118、爱站等SEO工具都存在着三个较为致命的问题:一者数据的透明度都比较差,用户很难从中真正的把握出其排名的计算逻辑;二者其大多数的企业版的价格都相对较高(如某些seo的企业版年费都要超过5000元了);三者其也都存在着很大的灵活度的不足(无法针对某一特定的需求对其进行灵活的定制)。
用Python自建工具的优势很明显:
由此可见,其成本也就相对的极低,只需要一台基本的服务器就能轻松的支撑起一台2G的服务器了,例如以华为的云服务器为例,一台2G的云服务器的价格约为50元/月
基于将所有的原始数据都保存在自己独立的数据库中,我们就能有效的避免了由第三方的平台带来的数据的污染和被挖掘的风险
凭借对本地的服务行业的针对性地对地图类的关键词的抓取的功能的完善的推出,我们就可以更好的满足广大用户的个性化的需求
某家政服务站长用这套方案后,3个月内将核心词“北京保洁”从百度第8页优化到第2页,节省工具采购费用1.2万元。
二、核心功能模块拆解
(1)百度搜索结果抓取
依托于对百度的反爬机制的深度挖掘和对requests-html的巧妙运用,我们可以从百度的“眼”中抢先到来一份最为全面的“百度指数”,也可以通过此种方法获取百度的相关数据,达到爬取的目的。关键代码:
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.baidu.com/s?wd=SEO工具', headers={'User-Agent': 'Mozilla/5.0'})
results = r.html.find('.result') # 获取自然搜索结果
避坑指南:
必须设置随机延迟(建议2-5秒/次)
但当我们遇到那些充满变数的验证码时,就需要通过更为“灵活”的手段来实现了,比如说将请求的IP给切换一把(如芝麻代理API的API接口都可以实现)
(2)关键词竞争度分析
通过计算搜索结果前10页的域名分布率判断难度:
competition_rate = len(unique_domains) / total_results # 值越大竞争越激烈
借助对近几年的实战调研发现,医疗、环保等行业的关键词的平均竞争率均已达0.7以上,而机械等传统的制造业的关键词的平均竞争率却还仅低于0.13。
(3)页面SEO健康度检测
自动检查TDK标签、H1数量、图片ALT等基础项:
def check_seo(url):
soup = BeautifulSoup(requests.get(url).text, 'html.parser')
return {
'title_len': len(soup.title.string),
'h1_count': len(soup.find_all('h1')),
'img_alt': sum(1 for img in soup.find_all('img') if img.get('alt'))
}
三、完整工具搭建流程
步骤1:环境准备
考虑到目前部分的深度学习库的兼容性尚不完全,建议我们都统一使用Python 3.8的环境进行开发,避免因为版本的差异性所带来的不必要的麻烦
必备库:pip install requests-html beautifulsoup4 pandas
步骤2:数据采集
为了避免被百度的反爬虫机制封IP,我们每日的百度搜索词的抓取都应控制在100次以内
竞品网站收录量查询(通过site:域名指令)
步骤3:可视化看板
用Pyecharts生成三类关键报表:
通过对近期的关键词排名的周对周的对比可清晰的看出其趋势的走向
通过对外链的高效的监控尤其是对高质量的论坛外链的识别,对网站的外链质量的把控无疑对网站的整体的外链的优化起到了非常大的推动作用
页面体检评分(自动标红不合格项)
凭借对多个真实的案例的效果的对比验证,进一步确立了该系统的可靠性和有效性.
案例1:法律咨询站
痛点:无法判断“离婚律师”和“婚姻法律师”哪个词更有价值
凭借对百度指数的工具性抓取 ultimately 表明了其相对的搜索量高达23%的同时,其竞争却相对较少了40%,这无疑为我们将其作为下一波的推广对象提供了很好的依据和借口
经过对长尾词的集中优化后,我们的咨询量就取得了惊喜的65%的提升,初步的数据也让我们对此次的优化工作充满了信心和希望
案例2:跨境电商独立站
以产品页的收录率仅微不足道的15%为痛点,深感痛心之余,也不得不对其所产生的广告效果产生了极大的疑问
凭借自行开发的针对性工具的辅助下, ultimately我们发现了JS的渲染对爬虫的解析都造成了较大的影响
通过对SSR的改进 ultimately使我们将收藏的数据的收录率大大地提升到了89%之上
五、必须避开的三个大坑
IP被封风险:绝对不要用多线程并发抓取,建议配合代理IP池使用
但我们却发现了这样一个尴尬的现象:即便同一份数据在百度的移动端和PC端的结果也可能相差30%,这就意味着我们还需要对这两端的数据分别来做统计了
如今,对用户的手机号等隐私信息的无理抓取也逐渐被视为法律的“红线”,已有不少公司因此而被罚了50万元之外的巨款
六、进阶优化方向
当基础功能跑通后,可以增加:
自动推送新页面到百度站长平台(用官方API)
通过对SERP的精细的监控和对其特征的变化(如精选摘要的出现频率、知识图谱的更新等)的深入的分析.
将对ChatGPT的输出的关键词再经由人工的思维拓展和完善,为后续的相关工作提供更为全面的方向和思路
借助对这套系统的精心打造,该SEO工作室不仅将客户网站的平均的优化周期从原来的6个月大大地缩短到了2个月,而且其续费率也高达85%,可见其具有着极大的市场竞争力和广阔的发展前景。
总结
实际上,自己打造一款高效的SEO工具的门槛并不是那么的遥远,甚至核心的功能也就几百行的Python代码就能实现了,关键就看你能不能将其做的更优雅更高效了。比起每年都要掏出大笔的工具费去买最新的硬件来升级的中小型网站来说,这种长期的运营方案就特别的合适了。如今最让人高兴的就是你终于能够从“商业的秘密”中窥见了这些似乎神奇的算法参数的幕后了。