テクニカル SEO

HTTP Link ヘッダー SEO チェッカー

URL を入力してください。サーバー側で取得し、RFC 8288 に従って HTTP の Link レスポンスヘッダーから rel="canonical"、rel="alternate" の hreflang、rel="next"/"prev" の各エントリを解析します。さらに同じページの HTML <link> タグと突き合わせ、矛盾があれば指摘します。

reCAPTCHA で保護されています。URL の取得はサーバー側で行い(SSRF 対策済み)、そのレスポンスヘッダーを読み取ります — 何も保存されません。

なぜ Link ヘッダーが重要なのか

canonical や hreflang をチェックするツールのほとんどは、ページの <head> 内にある HTML の <link> タグしか見ていません。RFC 8288 は、同じシグナルを宣言できる、同じく有効なもう一つの場所を定義しています — HTTP の Link: レスポンスヘッダーです。Google はこれを明示的に文書化し、尊重しており、WordPress や多くの CDN が自動的に送信します。そして、これは HTML でないリソース — PDF、画像、JSON API レスポンス — に canonical や hreflang を設定できる唯一の方法です。なぜなら、これらには <link> タグを置く <head> 自体が存在しないからです。誰にも表示されないため、CDN のエッジルールが HTML タグと気づかれないまま食い違う値を設定してしまったり、この方法で canonical を設定することを誰も思いつかなかった PDF は、ブラウザでも HTML しか読まないツールでも完全に見えないままになります。

このツールがチェックする内容

正規表現による推測ではなく、サーバーが実際に送信したレスポンスヘッダーを読み取る本物の RFC 8288 パーサーです。

RFC 8288 準拠の Link ヘッダー解析

生の Link: ヘッダー値 — カンマ区切りの複数エントリ、引用符付きパラメータ、複数値の rel リストを含む — を、構造化された rel=canonicalrel=alternaterel=next/prev のエントリに解析し、有効な link-value として解析できないセグメントを指摘します。

ヘッダーと HTML の canonical 競合

ヘッダーの rel="canonical" のターゲットを、ページの HTML <link rel="canonical"> タグと比較します。不一致は実際に起こり得る、気づきにくい問題です。検索エンジンはどちらのシグナルも採用し得るため、canonicalization が実質的に不確定になります。ヘッダー内の canonical が複数存在する場合、ドメインをまたぐターゲット、取得した URL への自己参照の有無も指摘します。

ヘッダー経由の hreflang

rel="alternate"; hreflang="..." のヘッダーエントリごとに言語コードを検証し、2 件以上あるのに x-default がないケース、自己参照エントリの欠落、異なる URL を指す重複コードをチェックします。さらにそのセット全体をページの HTML hreflang タグと突き合わせ、矛盾を検出します。

HTML 以外のリソースのカバレッジ

PDF、画像、API レスポンス(HTML がないため <link> タグ自体が存在し得ません)について、ヘッダーで canonical が一切送信されていないケースを指摘します — つまりそのリソースには検索エンジン向けの canonicalization シグナルが全くない状態であり、非常に見落とされやすい点です。

よくある質問

HTTP Link ヘッダーとは何ですか。なぜサイトがそれを送信するのですか。

RFC 8288 で定義されたレスポンスヘッダーで、通常 HTML の <link> タグとして書かれる同じ rel ベースの関係(canonical、alternate、next、prev など)を運びます。違いは、HTML かどうかを問わず、あらゆるレスポンスに対して機能する点です。WordPress のコアは一部の Link ヘッダーを自動的に送信し、多くの CDN やリバースプロキシはエッジでそれらを注入したり書き換えたりでき、オリジンサイト側が気づいていないこともあります。

ヘッダーの canonical が HTML の canonical タグと異なります。これはバグですか。

ほぼ間違いなくそうです。Google 自身のドキュメントでは、両方とも有効なシグナルだとしつつ、食い違った場合にどちらが優先されるかは保証しないとしています。実際には、その URL の canonicalization が予測不能になるだけです。CDN、キャッシュ層、プラグインが HTML テンプレートとは独立にヘッダーを注入していないか確認し、両者を一致させてください。

HTML の &lt;link&gt; タグを使わずに hreflang を利用できますか。

できます。ヘッダー形式はタグ形式と完全に同等であり、HTML でないリソース(PDF など)に hreflang を設定したり、HTML テンプレートに触れずにレスポンスへ hreflang を追加したりする標準的な方法です。ルールは同じで、各言語バリアントは自分自身をリストに含める(自己参照する)べきであり、バリアントが2つ以上ある場合は x-default の設定が推奨されます。

Google は実際に Link レスポンスヘッダーを使用していますか。

はい。Google Search Central のドキュメントは、rel="canonical" と rel="alternate" hreflang の両方を指定するサポートされた方法として HTTP ヘッダーを明示的に挙げており、この仕組みが存在する理由として HTML でないファイルを特に挙げています。

この URL やその内容はどこかに保存されますか。

いいえ。取得はこの1回のチェックのためだけにサーバー側で行われ、結果はブラウザに直接返されます。レート制限用のカウンタを除き、データベースやログに書き込まれるものはありません。