Image

知识库 → 网站链接分析脚本

[脚本]
出版日期: 20.10.2023

1.内部链接

用于分析网站上链接的脚本允许您获取有关服务器响应代码的报告并识别生成 404 错误(未找到页面)的损坏链接。

随着时间的推移,任何网站都会随着页面和连接链接的添加而发生变化,而很久以前添加的内容已经过时,这会导致访问者访问不存在的页面。 当您没有名片网站而是拥有大量页面的网站时,这一点尤其重要。

分析所有链接后,您将在报告中看到哪些页面包含损坏的链接,并且您将能够修复它们。

2. 外部链接

所有站点都通过链接以一种或另一种方式相互连接。 提供给其他网站的链接在一段时间后就会过时。 原因可能不同,例如结构发生变化、创建新站点或完全关闭。 由于您链接到第三方网站上的材料、脚本或服务,因此它不取决于您,而是由另一个所有者控制。

该脚本还分析从您的站点引出的外部链接的可用性。 该报告还将指出包含不再存在的过时链接的页面,这将使您有机会查看并更正此问题。

3. 安装脚本

在我们的示例中,我们在 Debian 12 上安装必要的软件包:php8.2 以及 phar 格式的验证脚本本身,我们将从 Linux 控制台运行该脚本。

apt install php php-xml
apt install wget
wget https://github.com/dantleech/fink/releases/download/0.10.3/fink.phar

4. 使用示例

指定您的域而不是domain.tld,并根据需要调整报告文件的路径。

php /root/fink.phar https://domain.tld -x0 -o /root/report.json

工作完成后,脚本会生成一份报告,您还可以实时观察抓取网站页面上指示的链接的整个过程。

在我们的示例中,一个包含 5,000 个页面的网站在 14 分钟内得到处理,这比使用所提供的在线服务要快得多。

4.1 我们来分析一下报告文件

apt install jq
cat /root/report.json | jq -c '. | select(.status==404) | {url: .url, referrer: .referrer}' | jq

该文件将指示损坏链接所在的页面,如下示例:

404 - https://domain.tld/some/olddate-page/removed
      (found at https://domain.tld/about/agreement)

4.1.1 输出除好的之外的所有内容

cat /root/report.json | jq -c '. | select(.status!=200) | {url: .url, referrer: .referrer}' | jq

在此示例中,将显示找到的所有页面(包含代码 200 的页面除外)。

根据添加内容的频率,定期检查和分析链接将使您的网站对访问者来说更加舒适。





暂时没有评论