Image

ナレッジベース → Webサイトリンク解析スクリプト

[スクリプト]
公開日: 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コードを含むページ以外のすべてのページが表示されます。

コンテンツの追加頻度に応じて、リンクの定期的な確認と分析を行うことで、訪問者にとってさらに快適なサイトにすることができます。





No Comments Yet