リンク切れチェッカー

無効なリンクはユーザーの信頼、SEO、読者の忍耐を削ります。ページのURLを貼り付けると、チェッカーがすべての<a href>をクロールし、各リンク先にリクエストを送ってHTTPステータス(200 OK、301 リダイレクト、404 未検出、500 エラー、タイムアウト)を報告します。リダイレクトチェーンも展開するため、最終的にエラーへ到達するものを見つけられます。出力はステータスで絞り込めるので、深刻なものから修正できます。

リンク切れチェッカーの仕組み

  1. 1

    ページのURLを入力

    デフォルトでは単一ページです。小さなサイトマップオプションを使うと、sitemap.xmlから最大50ページをキューに入れます。

  2. 2

    すべての外向きリンクを抽出

    内部リンク、外部リンク、画像、スクリプトをレンダリング済みのHTMLから解析します。

  3. 3

    HEADの後にGETをリクエスト

    各URLへまずHEADを送ります。HEADを拒否するサーバーには軽量なGETでフォールバックします。タイムアウトはリンクごとに10秒です。

  4. 4

    結果をステータス別に分類

    2xxは正常、3xxはリダイレクト(チェーン付き)、4xxはクライアントエラー、5xxはサーバーエラー、そしてDNS/タイムアウトの失敗に分類します。完了後はCSVでエクスポートできます。

HTTPステータス早見表

コード 意味 対処
200 OK(正常) 対処不要
301 恒久的に移動 リンクを最終URLへ更新
302 発見(一時的リダイレクト) 通常は問題なし。長いチェーンは要注意
307 / 308 厳格な一時的/恒久的リダイレクト チェーンに複数ホップがあれば更新
403 禁止 リンクは存在するがブロック中(ペイウォール、地域制限)
404 未検出 リンクを削除または置き換え
410 消滅 必ず置き換え(ページは恒久的に削除済み)
429 リクエスト過多 後で再確認。リンク先がレート制限中
500 / 502 / 503 サーバーエラー 再確認。リンク先の一時的な不具合
タイムアウト サーバーの応答が遅い 再確認。継続する場合はフラグを立てる

リダイレクトチェーン

複数のホップ(A → B → C → D)はレイテンシを増やし、PageRankを失わせ、クローラーを混乱させます。リンク先は常に元のリンクから1ホップ以内が理想です。チェッカーは2ホップ以上のチェーンを検出するので、元のhrefを最終的なリンク先へ更新できます。

よくある原因

  • 期限切れの外部記事 — ニュースサイトは劣化し、ブログは閉鎖されます。
  • HTTPS移行の名残 — かつてのhttp://のリンク先が、今はhttps://へリダイレクトしているケース。
  • 移動した商品ページ — ECサイトの再編成で被リンクが壊れます。
  • 名称変更されたセクションへのアンカーリンク — 自サイト上の#old-heading
  • 末尾スラッシュの不統一/page/page/はサーバー設定により301または404になることがあります。

速度を上げるコツ

  • 正確なレポートには1ページずつクロールします。大きなサイトマップは共有サーバーのレート制限に当たりやすいです。
  • 同じリンク先を繰り返し叩かないよう、ステータスを24時間キャッシュします。
  • ソーシャルメディアの共有URLは除外します。実際のリンク状態にかかわらず、ボットに403を返すことがよくあります。

よくある質問

デフォルトでは、指定した単一URL上の外向きリンクだけをチェックします。サイトマップモードでは一度に最大50ページをキューに入れます。大規模サイトの全体監査には、Screaming Frogのような専用デスクトップクローラーを使ってください。

一部のサーバーは、ブラウザのUser-Agent、Cookie、リファラーがないリクエストをブロックします。このチェッカーは最小限のヘッダーを送ります。誤検知が疑われる場合は、「ブラウザを装う」オプションで再試行してください。

はい。rel=“nofollow”リンクも、壊れていればUXを損なうためチェックします。dofollowだけを確認したい場合は結果画面で絞り込めます。

ほとんどのブログでは月1回、トラフィックの多いページやECサイトのページでは週1回が目安です。大きなコンテンツ移行の後は、翌日と1週間後に実行してください。

関連ツール