使用Python脚本分析你的网站上的SEO元素
撰稿马尼克斯德芒克 上2019年1月, Sooda internetbureau
Python就是自动执行重复性任务,为您的其他搜索引擎优化(SEO)工作留出更多时间。没有多少SEO使用Python来解决问题,即使它可以为您节省大量的时间和精力。例如,Python可用于以下任务:
- 数据提取
- 制备
- 分析和可视化
- 机器学习
- 深度学习
我们将主要关注本文中的数据提取和分析。将为每个脚本指示所需的模块。
Python SEO分析器
用于分析您网站的非常有用的脚本称为“ SEO分析器 ”。它是一个全面的网站爬虫,分析以下信息:
- 字数
- 页面标题
- 元描述
- 页面上的关键字
- 警告
- 缺少标题
- 缺少描述
- 缺少图像alt-text
这非常适合快速分析您的基本SEO问题。由于页面标题,元描述和页面上的关键字是重要的排名因素,因此该脚本非常适合清楚地了解可能存在的任何问题。
使用SEO分析器
在为此脚本安装必要的模块(BeautifulSoup 4 + urllib2)并将Python更新到3.4+之后,您在技术上已准备好使用此脚本。但是,Json或工作变体可用于导出从SEO分析器中获得的数据。安装脚本后,这些是您可以使用的命令:
seoanalyze http://internetvergelijnk.nl/
seoanalyze https://telefoonvergelijk.nl --sitemap https://telefoonvergelijk.nl/sitemap_index.xml
如上例所示,对于 internetvergelijk 和 telefoonvergelijk ,可以抓取网站或网站的XML站点地图进行SEO分析。另一种选择是从分析中生成HTML输出而不是使用json。这可以通过以下命令完成:
seoanalyze http://internetvergelijk.nl/ --output-format-html
如果已安装json并想要导出数据,请使用以下命令:
from seoanalyzer import analyse output = analyse(site, sitemap) print(output)
您还可以选择替代路径,将分析作为脚本运行,如下例所示:
这将在运行-output-format html脚本后将文件导出为html。此seoanalyze脚本非常适合优化页面标题,元描述,图像和页面关键字。它也比Screaming Frog快得多,所以如果你只是在寻找这些信息,那么运行seoanalyze脚本会更有效率。
链接状态分析器
使用Python进行搜索引擎优化的另一种方法是使用一个脚本来抓取您的网站并分析您的URL状态代码。这个脚本叫做Pylinkvalidator,可以在这里找到)。如果您使用Python 3.x运行它,它只需要BeautifulSoup。如果您运行的是2.6或2.7之类的2.x版本,则不需要BeautifulSoup。
但是,为了加快爬网速度,安装以下库可能很有用:
1)lxml - 加快HTML页面的爬行(需要C库)1)gevent - 使pylinkvalidator能够使用绿色线程1)cchardet - 加快文档编码检测速度
请记住这一点,它们对于抓取较大的网站非常有用,并且只是为了增强链接状态分析器。
该脚本基本上做的是爬行网站的整个URL结构,以便分析每个URL的状态代码。这使得它对于更大的网站来说是一个非常漫长的过程,因此建议使用可选的库来加速这一过程。
使用链接状态分析器
Pylinkvalidator有很多不同的使用选项。例如,您可以:
- 显示进度
- 抓取属于其他主机的网站和网页
- 仅抓取单个页面及其链接的页面
- 只抓取链接,忽略其他链接(图片,样式表等)
- 使用比默认值更多的线程或进程来抓取网站
- 更改您的用户代理
- 抓取多个网站
- 检查robots.txt
- 爬行的身体标签和段落标签
显示进度-P
或被--progress
推荐,如果没有它,你会发现自己想知道什么时候你的爬行没有任何视觉标志。用于爬网更多线程(-- workers='number of workers'
)和进程(-- mode=process --workers='number of workers'
)的命令也非常有用。
当然,该脚本还有更多可供选择的选项。以下示例显示了一些可能的用途:
pylinkvalidate.py -p http://www.example.com/
上面的函数抓取网站并显示进度。
pylinkvalidate.py -p workers=4 http://www.example.com/
此函数使用多个线程抓取网站并显示进度。
pylinkvalidate.py -p --parser=lxml http://www.example.com/
此函数使用lxml库以便在显示进度时加快爬网速度。
pylinkvalidate.py -P --types=a http://www.example.com/
上述功能仅抓取<a href>
您网站上的链接(),忽略您网站上的图片,脚本,样式表和任何其他非链接属性。在抓取大型网站的网址时,这也是一项非常有用的功能。脚本运行完毕后,您将获得一个状态代码为4xx和5xx的网址列表,这些网址是通过抓取您的网站找到的。除此之外,您还将获得链接到该页面的URL列表,这样您就可以更轻松地修复损坏的链接。常规爬网不显示任何3xx状态代码。有关可以从哪些URL访问的详细信息,请尝试以下功能:
pylinkvalidate.py --report-type=all http://www.example.com/
这提供了有关页面状态代码以及链接到页面的所有其他页面的信息。
一个非常有用的SEO工具,您可以用来抓取您的网站以查找损坏的链接(404)和服务器错误。这两个错误都可能对您的SEO工作有害,因此请务必定期抓取您自己的网站以尽快修复这些错误。
结论
虽然这些脚本非常有用,但在SEO世界中,Python有很多种用途。挑战自己创建脚本,使您的SEO工作更有效率。有很多Python脚本可以让您的生活更轻松。有用于检查你的hreflang标签,规范,robots.txt等的脚本。因为在今天这个时代,谁可以自动完成手动呢?