Chrome の仕様変更により、リファラ(アクセス元URL)のうちドメイン以外が送信されなくなりました。以下のタグをHTMLファイル、HTMLテンプレートの<head>~</head>タグの中に追加すれば、URL全体が送信されるようになります。
<meta name="referrer" content="unsafe-url">
URL全体が送信されないとは、どういう事か?
例えば、URLが http://blog.livedoor.jp/newtesu/ のブログがあったとします。相互RSSを設置した osusume.html を作成し、ファイル管理画面から http://blog.livedoor.jp/newtesu/osusume.html にアップロードして、IFRAMEタグでブログに埋め込んだ場合を考えて下さい。
以前までは、この相互RSSのリンクがクリックされた場合、リファラが http://blog.livedoor.jp/newtesu/osusume.html になっていました。
現在はリファラが http://blog.livedoor.jp になっています。相互リンク先では、どのブログからのアクセスかを判別できません。
なお、本現象はHTTPS化とは関係がなく、早くて2020年9月のChromeバージョン85から始まっていた可能性があります。より厳密な説明は記事の最後に記載いたしました。
ご対応が必要な条件
- 【必須】ブログURLが blog.livedoor.jp で、HTMLファイルをご自身でアップロードされている ⇒ HTMLファイルの編集方法⬇
- 【必須】FC2ブログで、HTMLファイルをご自身でアップロードされている ⇒ HTMLファイルの編集方法⬇
- 【推奨】上記の条件に当てはまらず、HTMLファイルをご自身でアップロードされている ⇒ HTMLファイルの編集方法⬇
- 【推奨】livedoorBlog以外のブログサービスを使っている ⇒ テンプレートの編集方法⬇
※livedoorBlogのトップ、記事個別ページ等のHTMLが自動生成されるページには、PCでもスマホでも上記タグが自動で設置される事を確認しております。livedoorBlogの場合、ご対応が必要なのはご自身でアップロードされたHTMLファイルのみです。
※【必須】は迅速にご対応いただいたほうが良いものです。
※【推奨】は必ずしも対応は必要ではありませんが、アクセストレードに問題が生じた時に解析がしやすいので、上記タグの設置を推奨いたします。
[対応方法]HTMLファイルの編集方法
まず、そのHTMLファイルをダウンロードしてください。ダウンロードするには、ブログ管理ページの「ファイル管理」等からそのファイルを探して、リンクを右クリックし、「名前をつけてリンク先を保存」するのが最も簡単な方法です。その上で、テキストエディタ等でHTMLファイルを開き、</head>タグの直前に上記のタグを設置して保存し、再アップロードしてください。
※上記のように、必ずIFRAMEタグで埋め込むHTMLファイルに上記タグを設置する必要があります。ブログに上記タグが設置されていても、IFRAMEタグで埋め込まれたHTMLファイルに上記タグが設置されていなければ効果はありません。
[対応方法]テンプレートの編集方法
テンプレートの</head>タグの直前に上記のタグを追加して保存してください。PCとスマホでテンプレートが分かれている場合は、両方のテンプレートに追加してください。
より厳密な技術的な説明
いままでChromeは<meta rel="referrer">タグが設定されていない場合、デフォルトでno-referrer-when-downgradeを設定していました。これはHTTPS→HTTPはリファラを送信しないというものです。
Chromeバージョン85のアップデートでは、デフォルトでstrict-origin-when-cross-originに変わりました。HTTPかHTTPSかに関係なく、別オリジン(要は別サイト)に対しては、URLのドメイン名の部分だけしかリファラーとして送信しないというものです。
ですから、下記のタグで unsafe-url を明示的に指定する必要が出たという事になります。これはどのような条件下でもURL全体をリファラとして送信するというものです。
<meta name="referrer" content="unsafe-url">