Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

共有:
通知
すべてクリア

[解決済] no-referrer-when-downgrade を他の値に変更したい

17 投稿
4 ユーザー
16 Reactions
924 表示
(@ilovecocoon)
Active Member Registered
結合: 3年前
投稿: 9
トピックスターター  

meta要素で指定されている no-referrer-when-downgrade を他の値(no-referrer等)に変更したいです。Cocoonにはそういう機能は備わっていないと認識していますが、合っているでしょうか。

無いとすると、何か良い方法はないでしょうか。

私がわかる限りだと、次の2つの方法があるかと思います。

1.Cocoon親テーマのheader.phpの該当部分を書き換える
2.Cocoon親テーマのheader.phpを子テーマにコピーして、子テーマ側の該当部分を書き換える

でも1のやり方だとCocoonのアップデート時に無効化されてしまいますよね。

また2のやり方だとCocoon親テーマでheader.phpの変更があったときその変更を子テーマの古いheader.phpが上書きしてしまい、あまり好ましくないと思います。

1か2なら2を選ぶのですが、もっと良い方法があればヒントだけでもご教示いただけると嬉しいです(たとえばこういう関数があるよ等)。

(補足)次の2点は承知しています。
・a要素のrel属性やreferrerpolicy属性を使うことでもリファラを制御できること
・Cocoonには「a要素のrel属性にnoreferrerを指定する機能」が備わっていること
今回はあえてmeta要素の値を変更したいと考えています。

よろしくお願いいたします。


   
引用
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

おっしゃるとおり、Cocoon 設定では <meta name="referrer"> を変更できないです。

私であれば、フィルターフックの code_minify_call_back を使います。このフックを使えば、全ての HTML を対象に好きなように変更できます。

例えば、same-origin に変更する場合は、子テーマの functions.php に以下のコードを書きます。

add_filter( 'code_minify_call_back', function( $html ) {
  return str_replace(
    '<meta name="referrer" content="no-referrer-when-downgrade">',
    '<meta name="referrer" content="same-origin">',
    $html
  );
});

   
返信引用
はる
(@haruinoue)
Noble Member Moderator
結合: 4年前
投稿: 1090
 

2の方法が無難かなとは思うのですが一応案としてフィルターフックを使う方法があります。

試していないのでちゃんとできるか分かりませんが、Cocoonで実装されているフィルターフック「wp_head_minify」はheadの内容が通ると思うので、no-referrer-when-downgrade部分を置換することができると思います。

参考:【WordPress】フィルターフックとは?使い方やメリットを解説

 

追記:Akiraさんと被りました。


   
返信引用
(@ilovecocoon)
Active Member Registered
結合: 3年前
投稿: 9
トピックスターター  

Akira様、はる様、ご親切にどうもありがとうございます。

Akira様にご提示いただいたコードを使わせていただき、うまくいきました!

これ、すごく便利ですね。他の場面でも応用できそうです。ありがとうございました。


   
わいひら reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

meta referrerに関しては機能化するほどでもないけど変更したい人は変更したいかもしれませんね。
なのでより手軽に変更できるようにcocoon_meta_referrer_contentフィルターフックとして追加しておきました。
https://github.com/xserver-inc/cocoon/blob/f3b7b6a097e00199d4f6b73aa93d71b912c9ad10/header.php#L15

子テーマに以下のようにフックで変更できるようにしておきました。

//meta referrer contentの値変更
add_filter('cocoon_meta_referrer_content', function($content){
   $content = 'same-origin';
  return $content;
});

   
Akira reacted
返信引用
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

>> わいひらさん

ブラウザのデフォルト値は、プライバシー保護の強化を理由に 2020 年に no-referrer-when-downgrade から strict-origin-when-cross-origin に変更されました。

参考:Referrer-Policy - HTTP | MDN

参考:ブラウザのデフォルトの参照ポリシー

Cocoon で no-referrer-when-downgrade を使い続ける理由は何でしょうか?可能であれば、strict-origin-when-cross-origin への変更が望ましいように思います。もしくは <meta name="referrer"> タグは削除し、独自の Referrer-Policy を設定したい方は send_headers や .htaccess で設定するのでもいいかもしれません。

この投稿は1年前ずつAkiraに変更されました

   
わいひら reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

Cocoonを使用している人はアフィリエイトをやっている人が多いかと思います。
なのでASPにリファラを伝えて成果を確認しやすい方が良いのかなとそのようにしました。
オリジンのみの情報だとどのページで成果が発生したかASPのレポートページで確認できない(オリジン情報のみ表示される)ので完全なURLを取得できるようにしました。
アフィリエイト初心者の場合、レポートページのリファラ情報も成果発生ページとして結構有益な情報のため当時悩みましたがそのようにしたと思います。

この投稿は1年前ずつわいひらに変更されました

   
返信引用
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

なるほど。これは悩みますね。

A8 などは広告コードの <a> に referrerpolicy="no-referrer-when-downgrade" を追加していいと言ってはいますが、初心者の方は意味が分からないでしょうし。

追加してくださったフィルターフックを使えば簡単に strict-origin-when-cross-origin へ変更できるため、あとは各自の判断に任せるのがいいのかな。ただ、この判断も初心者の方には難しい…。


   
わいひら reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

そうなんですよね。
あと自分のサイトに他サイトのリンクを貼った時、リンク先のサイト管理者にどのページでリンクを貼ったかスタイル役割もあるかなと思って。
サイト管理者は個別記事のリファラーが来たら「どんなことが書いてあるんだろう」と気になって、良いことがあればサイト覚えてもらえると言ったようなコミュニケーションの側面もあると思っていて。

機能化するのもありなのかもしれませんが、それぞれの値の意味を知る人でないと設定はやっぱ難しそうなので。
とりあえず今回のフックで様子を見ようと思います。とりあえずデフォルトのno-referrer-when-downgradeで安全性は担保されているかなと。
あとはプライバシーの問題なんですが、ASPのレポートでページURLがわかることは、十分なメリットですし、ページURLがわかることでそのメリットを上回るデメリットもちょっと考えられませんでした(もしかしたら思いついてないだけであるのかも)。


   
返信引用
(@ilovecocoon)
Active Member Registered
結合: 3年前
投稿: 9
トピックスターター  

わいひらさん、フックの追加ありがとうございます!使わせていただきます!
(このトピックが進行しているとは気づいておらず、お礼が遅くなってしまいました)

>ページURLがわかることでそのメリットを上回るデメリット

これなんですが、私にとってはメリットを上回るデメリットがあるので参考までに書きたいと思います。

私はアフィリエイトをやっているのですが、「報酬発生に寄与した個別ページのURLを、ASPや広告主にできるだけ補足されたくない」と思うことがあるんです^^;

別に隠れて悪いことをしたいわけではありません。

しかしページのURLやコンテンツを「ASP担当者が他のアフィリエイターに教えてしまう」可能性や、「広告主が自社広告に流用する」といった可能性があり、積極的にリファラを渡すことは回避したい場合がある、という感じです。

では報酬発生に寄与したページのURLを自分自身が把握できなくていいのか?と指摘する方もいるかもしれませんが、その点はAnalytics等のアクセス解析を駆使することで別途把握できます。

meta要素のリファラポリシー設定をいじる以外にもリファラを渡さない方法はありますが、meta要素をいじることができれば簡単だと思ったため、このトピックを作り質問させていただいたという経緯でした。

(皆様ありがとうございました!)


   
わいひら reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

投稿者:: @ilovecocoon

私はアフィリエイトをやっているのですが、「報酬発生に寄与した個別ページのURLを、ASPや広告主にできるだけ補足されたくない」と思うことがあるんです^^;

上級者になればなるほどこれはあるかも。

投稿者:: @ilovecocoon

しかしページのURLやコンテンツを「ASP担当者が他のアフィリエイターに教えてしまう」可能性や、「広告主が自社広告に流用する」といった可能性があり、積極的にリファラを渡すことは回避したい場合がある、という感じです。

これも結構あるあるですよね…。

そうするとやっぱり手軽に変更できた方がいいですね。今後機能化しようと思います。ちょっと今入院中なので落ち着いたら実装したいと思います。

この投稿は1年前 2回ずつわいひらに変更されました

   
ilovecocoon reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

Cocoon設定の「SEO」タブあたりにと考えています。


   
ilovecocoon reacted
返信引用
(@ilovecocoon)
Active Member Registered
結合: 3年前
投稿: 9
トピックスターター  

わいひらさん、さっそくフックを利用させていただき、動作することを確認しました。ありがとうございます!

そして機能化までご検討いただき、ありがとうございます!

もしmeta要素のリファラ設定をCocoon設定で変更できるようになれば、Cocoonがアフィリエイト上級者に今まで以上に愛されるようになること間違いなしです。

設定の場所についても、おっしゃるように「SEO」タブ(の中のheadタグ設定あたり?)にあるとわかりやすくて良いと思います。

ちなみに私自身は、先にお伝えした動機でリファラ設定を変更する際は「strict-origin-when-cross-origin」にしたいと考えることが多いです。

この設定は皆様ご存じのように「ドメインをまたいで遷移したときに遷移元のトップページのURLだけを遷移先に伝える」というものですが、この設定にすることで次の運用を実現できます。

・ASPや広告主に向けて「CVしたユーザーの送客元は確かに提携アフィリエイターのメディアである」という最低限の情報を伝える
・しかし個別ページのURLまでは伝えない

おそらくアフィリエイターなら同じような発想になると思いますので、最低限「strict-origin-when-cross-origin」に設定変更できるようになっているとありがたいです。

・・・ですが、何とわいひらさんは入院をされているのですね・・・!

私が申すまでもないことですが、どうぞ、お体を第一になさってください。早く良くなりますことを心よりお祈り申し上げます!


   
わいひら reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

Cocoon設定の「SEO」タブにリファラー設定を追加しておきました。
フックもそのまま利用できます。
------------------------------------------------
https://github.com/xserver-inc/cocoon
開発中の最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。

WordPressでの手動アップデート方法はこちら
https://wp-cocoon.com/manual-update-of-cocoon-theme/
------------------------------------------------


   
ilovecocoon reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

とりあえずCocoonのデフォルトはno-referrer-when-downgradeとしましたが、半年ぐらい経ったらstrict-origin-when-cross-originに変更しようかとも検討中です。


   
ilovecocoon reacted
返信引用
(@ilovecocoon)
Active Member Registered
結合: 3年前
投稿: 9
トピックスターター  

@yhira わいひらさん、ありがとうございます!

「SEO」タブのリファラ設定、使わせていただきます。

>半年ぐらい経ったらstrict-origin-when-cross-originに変更しようかとも検討中です。

なんと、そうなんですね。

個人的には・・・デフォルトはno-referrer-when-downgradeのままのほうが嬉しいです!

理由は、わいひらさんが先に指摘されていたように「レポートページのリファラ情報も成果発生ページとして結構有益な情報のため」です。

デフォルトがno-referrer-when-downgradeであれば、

1.当初はno-referrer-when-downgradeのまま、つまりASP側にリファラを渡す形で運用する(ASPのレポートで手軽に成果発生ページを確認しながらサイトの改善を続ける)

2.十分な収益が出るようになる等、サイト運営が軌道に乗った段階でstrict-origin-when-cross-originへの変更を検討する

上記のような運用がスムーズにできて良いかなと思います。

また、「リファラの設定とかはよくわからない。ASPのレポートで手軽にリファラ情報が見れるほうがありがたい」と感じるユーザーのほうがおそらく多数派(というか大多数)だろうと想像します。

(とはいえウェブの潮流的にはstrict-origin-when-cross-originですから悩ましいですよね。テーマ開発者の方はこういう難しい判断を1つ1つやって仕様を決めていくのですから、本当に頭の下がる思いです。)

以上、何かの参考になれば幸いです!


   
わいひら reacted
返信引用
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17391
 

投稿者:: @ilovecocoon

個人的には・・・デフォルトはno-referrer-when-downgradeのままのほうが嬉しいです!

理由は、わいひらさんが先に指摘されていたように「レポートページのリファラ情報も成果発生ページとして結構有益な情報のため」です。

やっぱCocoonは初心者向けのテーマということでやっているので、初心者向けであればこちらの設定の方は優しいんですよね。
ここは僕も本当に迷っているところなので、ilovecocoonさんの書かれたことをおいに参考にさせていただこうと思います。

リファラ設定のそれぞれの利点と難点といえばこんな感じですね。

no-referrer-when-downgrade設定の利点
・ASPなどにデフォルトでリファラ情報が行くのでレポート機能からどのページで売り上げが発生したかわかりやすい
・リンク先のサイトにリファラ情報が行くので、リンク先のサイト管理者に記事を読んでもらえて、もし良い記事であればサイト覚えてもらえるかもしれない(よほど良い記事ならXポストとかしてもらえるかも)

no-referrer-when-downgrade設定の難点
・ASPの担当者などにはどのページから売れているかバレバレで、よくないASPとかだとライバルサイトのみ情報を渡される可能性もある(今はどうかわからないけど昔はASPの売り上げを上げるべく結構あったと聞く)
・リンク元記事を相手に伝えたくない場合でもアクセス解析等から伝わってしまう
・ブラウザデフォルトではない

上記の利点難点だと初心者向けには、おっしゃる通りno-referrer-when-downgradeが良いと思います。
上級者になれば美原情報の変更の必要性もわかると思いますし、設定から比較的手軽に変更もできるようになったのでこの仕様で良いのかもしれませんね。


   
ilovecocoon reacted
返信引用
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました