こんにちは、あすてるです。
最近アフィリエイト業界で話題の『target=”_blank”』問題。
当初は一部の人(条件下)のみで問題になっていて、私自身も検証したところ特に問題が無かったので様子見をしていたのですが…
ここのところは多くの人が現象を確認していて、大手ASP各社も問題に対応し始めるなど動きが大きくなってきていますので、このタイミングで改めて問題と対処法をまとめておきたいと思います。
そもそも『target=”_blank”』とは?
まず今回話題となっているtarget=”_blank”問題を説明するにあたっては、そもそも『target=”_blank”』とは何か?についても説明しておかなければなりません。
target=”_blank”とは、HTMLタグの一種で、リンク先を別ウィンドウ(タブ)で新しく開くように指定するものです。
<a href="xxx.com" target="_blank">テキスト</a>
↑のような形で記述すると、リンクをクリックしたときに現在開いているウィンドウではなく新しくタブが開きページが表示されます。
ちょっとHTMLを勉強したことのある人なら知っていると思いますが、WordPressのビジュアルエディタでリンクを挿入すると『リンクを新しいタブで開く』オプションで設定できるので知らずに使っている人もいるかもしれません。
またWordPressを使用しているとテーマによっては設定で自分で指定しなくても自動的に外部リンクは全て別ウィンドウで開くようになっているものもあるかと思います。
基本的に内部リンクは同じウィンドウ内で遷移して、外部リンクは別ウィンドウで新たに開くというのが現在のWEBの世界の慣習というか主流ですね。
特にアフィリエイトサイトやSEOを意識したサイトの場合、成果の計測や離脱率の観点から外部リンクは別ウィンドウで…というのが常識と言うか暗黙の了解になっているところがあります。
target=”_blank”問題…何が問題なのか?
で、そんなtarget=”_blank”なのですが。
最近リンクにtarget=”_blank”が付いていると、一部条件下で広告主のCVページへ遷移しない・正常に動作しないという現象が見られるようになりました。
CVページへ遷移しないというのはどういうことかというと、通常アフィリエイトサイトから広告主のサイトへ飛ぶ場合、
- 自分のアフィリエイトサイト
- 広告主のサイト
- 申し込みボタンやフォーム
という順番になると思いますが、この3番や状況によっては2番の段階で、うまく広告主のページに飛ばない、飛んでもボタンなどが動作しないということです。
ということは、せっかくサイトに訪れて、ユーザーが商品購入やサービス申し込みへ進む気になったのに、肝心申し込みができないということで。
つまり本来は発生するはずだったアフィリエイトの成果が知らずに発生しなくなっていた…ということになるわけです。
最初は一部SNSアプリを経由した場合のみ現象が確認されていたのですが、最近では普通にPCやスマホのWEBブラウザから検索しても現象が再現されることもあるようで…これは知らない内に成果に大きく影響が出ているのかもしれないと話題になったということです。
target=”_blank”問題はなぜ起こるのか?
ではこのtarget=”_blank”問題、どんなときに起きてしまうのか?ということなのですが…
残念ながら100%こうだ!という条件は現時点でわかっていません。
人によってWEBサイト閲覧の環境も違うので、現象が再現できることもあればできないこともあり。
また同じ環境でも問題が発生する場合もあればしない場合もあったりといった状況です。
(※実際に私も疑わしいと思われる条件下で現象の再現を試みましたが問題なく遷移可能でした)
なので、どういう人は100%安全でどういう人は危険!とは言い切れないのですが…
わかっているのは、どうもtarget=”_blank”のセキュリティ上の問題だということらしいのです。
そもそもtarget=”_blank”はセキュリティ的に脆弱性があると言われていて、そのままtarget=”_blank”を利用するとリンク先がフィッシングサイトに利用されたりといった危険性があるとのこと。
まあ実際にtarget=”_blank”が原因で深刻な問題が発生したと聞いたことはありませんし、問題が起きていないからこそこれまではそんなに話題になっていなかったのでしょうが…。
ともかく、私もセキュリティの専門家ではないので詳しい仕組みのことまではわかりませんが、target=”_blank”をそのまま使うのは状況によってはあまりよろしくないようです。
そのため、これまでは放置されていた?target=”_blank”のセキュリティについて、各WEBブラウザやアプリ内ブラウザの開発元がここにきて一斉に対応してきたということらしく。
その対応というのが、target=”_blank”を利用して危険性があるパターンの場合、リンク先に遷移させなかったりということですね。
だからセキュリティ対策されたブラウザ(バージョン)とそうでないブラウザを使っている人によって、現象が発生したりしなかったり…ということだったんですね。
そんなに重要なことなら事前に大々的に告知してくれれば良いのに、と思いますが…突然ここにきて各社が対応し始めたためにひと騒動起きてしまったというわけです。
target=”_blank”問題の2つの対処法
原因がわかったところで、「じゃあtarget=”_blank”はどうすれば良いの?」となるでしょうが、対処法としては2パターン考えられます。
その対処法と言うのが、
- target=”_blank”を削除
- rel=”_noopener”を追加
上記2つです。順番に説明していきます。
1.target=”_blank”を削除
まず1パターン目、target=”_blank”を削除するという方法。
これが一番シンプルでわかりやすく、確実です。
そもそもtarget=”_blank”が問題になっているんだから、削除してしまえば良いという発想ですね。
削除すれば当然問題なくCVページに遷移・動作するようになりますので。
ASP各社の方針・対応を見ても、リンクからtarget=”_blank”を削除するところが多いように思えます。
2.rel=”noopener”を追加
ただ、target=”_blank”を削除すれば同じウィンドウ内で外部サイトへと遷移することになります。
これだと外部サイトへ遷移した時点で自サイトからは離脱することになるのでその点が気になるという人や、なんとなく今まで外部リンク=別ウィンドウと思っていたのに同じウィンドウで遷移するのは感覚的に気持ち悪い…なんて人もいるでしょう。
そういった人は、target=”_blank”を使用する際に併せてrel=”noopener”を追加することでも問題の回避が可能です。
<a href="xxx.com" target="_blank" rel="noopener">テキスト</a>
こんな感じで。
rel=”noopener”は、まさにtarget=”_blank”の脆弱性を回避するのもので、付与することでtarget=”_blank”のセキュリティ上の問題を解決できるようになります。
実際に今回の騒動でtarget=”_blank”のみでは正常に動作しなかったページも、rel=”noopener”を追加することで正常動作するようになったとの話もあります。
ちなみにWordPressではけっこう前からtarget=”_blank”を使用すると自動的にrel=”noopener”が付与されるようにもなりました(4.7.4以降)。
ただしこれはバージョンによって細かく動作が異なっていたり、自分で色々設定していると付与されないこともある(リダイレクト設定しているとか)ので注意が必要です。
また、一部rel=”noopener”に対応していないブラウザもあったり、そういう場合はさらにrel=”noreferrer”を付けなければいけなかったり(こちらもWordPressでは自動付与)なのですが、noreferrerが付いていると今度は文字通り『リファラ』の取得ができない=どのページから成果が上がったかわからないということにもなるので…このあたりちょっとややこしくて難しい問題ではあります。
手動で修正しても良いけど面倒なので…
target=”_blank”を削除するにせよ、rel=”noopener”を付与するにせよ、手動でいちいち作業をするのは確実ではありますがかなり手間でしょう。
特に数百ページあるような大規模サイトだったり、1サイト当たりのページ数は少なくてもサイトを大量に持っている人なんかは、手作業だと対応だけで何日もかかってしまうかもしれません。
そんな人はWordPressの場合、プラグインを使って該当部分を一括で置換してあげるのが楽かと思います。
特定の文言を一括置換できるプラグインとしては『Search Regex』が有名です。
また『WP External Links』は外部リンクにnoopenerやnoreferrerを付けるかどうかなど細かく設定できて、すでに設置してあるリンクにも有効なのでこちらで設定を見直すというのも良いでしょう。
個々のプライグインの詳細は解説しませんが、検索すればすぐにわかりやすい解説サイトが色々出てきますので検索してみてください。
※テーマによってはすでに対応済みのものも
ちなみに使用しているテーマによっては、テーマ標準の機能としてtarget=”_blank”に対する設定が備わっているものもあります。
たとえば有料テーマのaffigerではtarget=”_blank”の削除機能がありますし、cocoonではtarget=”_blank”には自動的にrel=”noopener”が付与されるようになっています。
target="_blank"リンクのnoopener問題は、Cocoonの場合は「Cocoon設定→本文→外部リンク設定→追加rel属性」にある「target="_blank"の際はnoopenerを追加 」が有効になっていればおそらく問題ないと思います(デフォルトで有効)。 pic.twitter.com/XBkS1aCcS7
— わいひら@寝ログ (@MrYhira) August 8, 2019
affingerやcocoonは作者自身もアフィリエイターで、アフィリエイターやブロガーに人気の高いテーマなので今回の問題にもいち早く対応してくれましたが、他のテーマでも今後のアップデートで機能が搭載される可能性も十分にありますので、自分の使用しているテーマのアップデート情報などは定期的にチェックするようにしましょう。
target=”_blank”問題のまとめ
というわけで長々と説明してきましたがもう一度要点をまとめておくと、
ということですね。
せっかく頑張って記事を書いて・サイトを作って・本来なら成果になっていたはずのものが、自分の努力とは関係ない部分の影響で消えてしまっていた…なんてことだと非常にもったいないですから、ぜひ一度設定を見直してみてください。
0から月収10万円を達成するメール講座!
アフィリエイト初心者でもゼロからアフィリエイトを体系的に学べるメール&動画講義を作成しました。
登録者限定のプレゼントもご用意していますのでぜひ活用してくださいね。
コメント