スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランスエンジニアとしての実体験から、フリーランスエンジニアに関するノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

アフィリエイトのリンク切れチェッカー3種を58本のURLで実測比較してみた

※提携先広告を含む場合があります

この記事の結論3行まとめ

  • 404だけを探すチェッカーでは、ASP広告終了ページ40本中、実際に404を返すのはわずか5本
  • 自作ツールKakureLinkは40本を全件検出、正常リンク5本の誤検知は0件(2026年9月時点の自己測定)
  • 誤検知は見逃しより実害が大きい。生きているリンクを疑わせる方が収益への影響が直接的

現役沖縄フリーランスエンジニアのmahです。

リンク切れチェッカーって結局どれも同じでしょ、って自分でも半分思ってたんですが、実際に58本のURLで測ってみたら数字が全然違いました!
404じゃないと「正常」判定されちゃうケース、自分のブログにもありそうで怖いです。
それ、実はほとんどのASPで起きてます。というわけで実測した記録をまとめました。

この記事では、実際に使ったテストURLセットの中身と、3種類のリンクチェッカーで測った検出率・誤検知率の結果を紹介します。

なぜ404を探すだけでは見つからないのか?

ASPの広告案件が終了すると、リンク先は404ではなく「この広告は終了しました」という正常な200のページに置き換わることが多いからです。

ブラウザで開けばページは表示されるし、普通のリンクチェッカーも「正常」と判定します。でも成果は二度と発生しません。私はこれを「隠れリンク切れ」と呼んでいて、検出するWebツールKakureLinkを個人開発しています。

開発を進める中で「既存のリンク切れチェッカーはこの層をどこまで拾えるのか」がずっと気になっていて、先日まとめて実測しました。この記事はその記録です。

検証に使った58本のURLセット

HTTP 200で返る広告終了ページ40本・偽IDトラッキング10本・正常リンクなどのコントロール8本、計58本を集めて3種のチェッカーで実測しました。

  • グループA (40本): HTTP 200 で返る各ASPの広告終了ページへの直リンク。もしもアフィリエイトのexpirationページ、バリューコマースのdefault_banner、アクセストレードのinvalid_link.cgiなど
  • グループB (10本): 実在しないIDを入れたトラッキングURL。リダイレクトを追跡して遷移先を見ないと判定できないタイプ
  • グループC (8本): コントロール。素の404/500/DNS不在の3本と、A8.net・楽天市場などの正常なトップページ5本(誤検知の確認用)

なぜKakureLinkに有利な条件なのか?

このセットはKakureLinkが登録済みの終了ページ一覧をもとに作ったもので、KakureLinkに最大限有利な条件での比較になります。「他のツールがダメ」という話ではなく、「この層は終了ページの見分け方を知らないと原理的に拾えない」を確かめるための実測として読んでください。

チェッカー3種の検出結果は?

KakureLinkは200で返る終了ページ40本を全件検出、正常リンクの誤検知は0件でした。ASP対応型は18本検出も正常リンクを1件誤検知、汎用型は実404の5本しか拾えませんでした。

以下は、実在する58本のテストURLをもとにした自己測定の結果です(2026年9月時点、テストセットはKakureLinkが登録済みの終了ページ一覧から作成)。比較したのは KakureLink、ASPの終了検知を持つ別のチェッカー(ASP対応型)、ステータスコードベースの一般的なチェッカー(汎用型)の3つです。

観点 KakureLink ASP対応型 汎用型
200で返る終了ページ 40本の検出 40 18 5(実際に404を返すもののみ)
偽IDトラッキング 10本の検出 8 6 0
正常リンク5本の誤検知 0 1 0

汎用型は素の404だけ拾って、200で返る終了ページは全部「正常」判定でした。これは実装が悪いのではなく、ステータスコードしか見ない仕組みではそうなるしかない、という話です。

ASP対応型は40本中18本を検出していて、ちゃんと同じ問題意識で作られているのが分かります。ただ、正常な楽天市場のトップページを「ASPの期限切れ」と誤検知していたのが気になりました。見逃しは「切れたリンクが残る」だけですが、誤検知は生きている正常なリンクを張り替えさせる方向に働くので、実害としてはこちらの方が重い気がします。

自分のツールにも見逃しはあった

あるASPの終了ページ文言が未登録で、公開時点ではValid判定のまま見逃していました。

ちなみにこの実測、自分のツールの粗も普通に出ました。見逃していたのは「サイトオーナーが既に削除されています」というエラー文言です。その日のうちに追加し、再測定で検出されることを確認しています。既知の終了ページと照合する検出方式は「知らない終了ページは拾えない」が宿命なので、この地道な追加を続けるしかありません。

JavaScriptで遷移するリンクはなぜ判定できないのか?

ページを200で返しつつJavaScript実行後にリダイレクトするタイプは、JSを実行しないクローラーでは判定できないためです。

どのツールでも原理的に無理な層もありました。58本中1本はこのタイプで、どのツールも「正常」のままでした。

まとめ

  • 404を探すだけのチェックでは、ASPの広告終了はほぼ見つからない(40本中、実404はわずか5本)
  • 終了ページのURL・文言をどれだけ知っているかが検出力を決める
  • 誤検知は見逃しより実害が大きい。正常リンクを疑わせないことも検出力と同じくらい大事
自分のツールが一番良いです、で終わらせず、見逃した1件もちゃんと直して書きました。良ければKakureLinkも覗いてみてください!

あわせて読みたい

隠れリンク切れとは?収益を密かに奪う見えない問題を徹底解説

www.malanka.org

「隠れリンク切れ」対策入門:ASP広告の終了を見逃さない最新ツール活用ガイド

www.malanka.org

無料で出来る!「隠れリンク切れ」を根絶する定期チェック術

www.malanka.org

よくある質問

今回の実測に使った58本のURLは公開されていますか?
検証用に独自収集したテストセットのため公開していません。KakureLinkが登録済みの終了ページ一覧をもとに作った、KakureLinkに有利な条件であることは本文の通りです。
他のリンクチェッカーと併用する意味はありますか?
あります。汎用型チェッカーは純粋な404やサーバーエラーの検出は得意なので、KakureLinkのようなASP特化ツールと役割を分けて併用するのが現実的です。
KakureLinkは無料で使えますか?
登録不要で月3回まで無料です。記事URLを入れてCheckを押すだけで使えます(2026年9月時点)。