WordPress 5.1のnoopener noreferrer強制付与問題につきまして

Simplicityの特徴 フォーラム 要望・機能追加など WordPress 5.1のnoopener noreferrer強制付与問題につきまして

  • このトピックには6件の返信、2人の参加者があり、最後に きくにより8ヶ月、 3週前に更新されました。
6件の返信スレッドを表示中
  • 投稿者
    投稿
    • #61380
      きく
      ゲスト

      初めまして。きくというものです。

      https://wp-cocoon.com/community/blog-manages/wordpress-5-1%E3%81%AEnoopener-noreferrer%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

      上記質問と同様にWordPress 5.1にしてから投稿記事にnoopener noreferrerが強制付与される問題で悩んでおります。
      ただ私の場合phpが分からずどのようなソースコード書けば強制付与回避できるのか分からない状態です。

      https://nendeb.com/785

      参考になるかどうか分かりませんが上記を参考に以下のようなコード組んで見ました

      //強制付与されるnoopener及びnoreferrer削除
      
      function noopener_wp_targeted_link_rel( $rel_value, $link_html ){
       
          if( false === strpos( $link_html, home_url() ) ){
              $rel_value = 'noopener';
          }
          return $rel_value;
      }
      remove_filter( 'wp_targeted_link_rel', 'noopener_wp_targeted_link_rel', 10, 2 );
      
      function noreferrer_wp_targeted_link_rel( $rel_value, $link_html ){
       
          if( false === strpos( $link_html, home_url() ) ){
              $rel_value = 'noreferrer';
          }
          return $rel_value;
      }
      remove_filter( 'wp_targeted_link_rel', 'noreferrer_wp_targeted_link_rel', 10, 2 );

      正直phpには疎いので全く分からないのですがやりたいこととしては
      上記リンクに乗っていたソースコード参考にして
      noopenerとnonoreferrerが自分のHP以外のURLの時強制付与されないようにするといったことです。

      ですがこのソースコードでは強制付与が止まらず悩んでいるところです。

      なのでもしサポート外でありましたら誠に申し訳ないのですが
      noopenerとnonoreferrerの強制付与回避できるようなソースコードご提示いただくこと可能でしょうか?
      誠に差し出がましいお願いだとは存じておりますが何卒よろしくお願いいたします。

      後一応要望・機能追加項目としてトピック立ち上げた点としましては
      今後のアップデートでsimplicity側でnoopenerとnonoreferrerの強制付与回避機能
      お願いしたく立ち上げさせていただきました。

      以上でございますが何卒お願いできれば幸いでございます。

    • #61381
      きく
      ゲスト

      追記

      時期尚早かもしれませんが自己解決したのかもしれないのでご連絡差し上げました。
      以下のソースコードでnoopener及びnoreferrer強制付与止めること出来ました。

      //強制付与されるnoopener及びnoreferrer削除
      
      function no_wp_targeted_link_rel( $rel_value, $link_html ){
       
          if( false === strpos( $link_html, home_url() ) ){
              $rel_value = '';
          }
          return $rel_value;
      }
      add_filter( 'wp_targeted_link_rel', 'no_wp_targeted_link_rel', 10, 2 );

      ただ私も幾分素人なのでこのソースであっているかという確信はありません。
      もしよりよいコードありましたらご提示願えますと幸いです。

      以上、追記となりますが何卒よろしくお願い申し上げます。

    • #61385
      わいひらわいひら
      キーマスター

      そのコードで問題ないかと思います。
      個人的には、noreferrerがあるとリファラを取れなくなるので困りますが、noopenerはあった方がセキュリティ的に良いのかなと思います。

      • この返信は8ヶ月、 3週前にわいひら わいひらが編集しました。
    • #61387
      きく
      ゲスト

      わいひら様

      お世話になっております。きくです。
      お返事いただきありがとうございます。

      個人的に気になったのですが
      参考サイト様ではnofollow使っていますがnofollowはSEO対策で使われるものであり
      自サイトかそれ以外かで条件分岐必要ですが
      今回は強制付与されるnoopener及びnoreferrerの回避が目的のため
      条件分岐消し以下のコードにしました。

      //強制付与されるnoopener及びnoreferrer削除
      
      function no_wp_targeted_link_rel($rel_value){
          $rel_value = '';
          return $rel_value;
      }
      add_filter( 'wp_targeted_link_rel', 'no_wp_targeted_link_rel', 10, 2 );

      またnoopenerについてはセキュリティで必要なのはその通りだと思います。
      上記コードの空欄にnoopener付与すればそのまま自動で付与される形になりますので
      必要があれば使っていこうと思います。

      ただほぼないとは思いますがアフィリエイトリンクにnoopener付くと
      ASP側にアフィリエイトリンク改造とみなされる可能性もゼロとは
      言いかねないので個人的には手動でつけていこうと考えております。

      以上ではありますが他、過不足あればご指摘願えれば幸いです。
      何卒よろしくお願い申し上げます。

    • #61394
      わいひらわいひら
      キーマスター

      返信は、あくまで一般論なので、好きな設定で良いかと思います。

      一応、Simplicityはnoreferrerだけを取り除くようにしました。

      //強制付与されるnoreferrer削除
      add_filter( 'wp_targeted_link_rel', 'wp_targeted_link_rel_custom', 10, 2 );
      if ( !function_exists( 'wp_targeted_link_rel_custom' ) ):
      function wp_targeted_link_rel_custom( $rel_value, $link_html ){
        $rel_value = str_replace(' noreferrer', '', $rel_value);
        return $rel_value;
      }
      endif;
    • #61395
      わいひらわいひら
      キーマスター

      Simplicityを最新版の2.7.5にすると、処理が上書きされてしまう可能性があるので、処理の優先度を下げておくと良いかもしれません。

      add_filter( 'wp_targeted_link_rel', 'no_wp_targeted_link_rel', 11, 2 );

    • #61396
      きく
      ゲスト

      わいひら様

      お世話になっております。きくです。
      ご要望聞いてくださり誠に感謝いたします!

      Simplicity最新バージョンにして処理の優先度も下げたところ
      問題なく動くこと確認いたしました。

      またこの度は長々と付き合って下さり申し訳ございません。
      また何かありましたらよろしくお願い致します。

6件の返信スレッドを表示中
  • トピック「WordPress 5.1のnoopener noreferrer強制付与問題につきまして」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)