- Googleマップで思い出を振り返ろう!タイムライン機能の設定手順
WordPress利用者は今すぐチェック!サイト内検索結果ページに『noindex』設定をしていないとスパム攻撃の対象となり危険です
WordPress利用者は今すぐチェック!サイト内検索結果ページに『noindex』設定をしていないとスパム攻撃の対象となり危険です
この記事は公開から1年以上経過しています。
こんにちは、チーフクリエイターのSHOJIです。
WordPressユーザーのみなさん『サイト内検索』って利用されていますか?
SEO対策的にも重要視されるサイト内検索機能は、ネット上でとても多くの紹介ブログ記事が存在していて、機能を利用している方もそうでない方も、一度位は紹介記事に目を通された経験があるのではないでしょうか。
そんなサイト内検索なんですが、知識がないまま機能を利用していると、想像すらしていなかった恐ろしい事態を招く危険性があるのですが、残念ながらその危険性に関する記事はほとんど見受けられません。
実は大規模サイトを制作するようなWebサイト制作会社でさえ、サイト内検索に対する正しい設定をしていないがために、海外からのスパム攻撃対象となってGoogleの評価を落としてしまっている大手企業サイトが数多く存在しているのが現状なのです。
そこで、今回お届けするWebの豆知識は『WordPress利用者は今すぐチェック!サイト内検索結果ページに『noindex』設定をしていないとスパム攻撃の対象となり危険です』と題して、問題点から対処法について詳しくご紹介したいと思います。
- \\ 目 次 //
- サイト内検索とは
- サイト内検索を狙ったスパム攻撃
- 実際に被害を受けている現状
- 自サイトの確認
- 検索結果ページの対策
- 最後に
サイト内検索とは
サイト内検索とは、ユーザーが求めているコンテンツやページ等をキーワードから検索するためのシステムで、購買に直結するECサイトでは、サイト内検索機能を導入すると、ユーザーが目当ての商品を探しやすくなることでコンバージョン向上に繋がります。
また、ユーザーがどのようなキーワードを検索したかといった『データ収集』が可能になるため、ユーザーニーズを分析してサイト改善に役立ちます。
古くは大規模サイトで設置されることが多かったのですが、近年では小中規模サイトでも見かけることが多くなりました。
WordPressやWixにJimdoといった、テンプレートや汎用テーマ等を活用すれば専門知識がなくてもノンコーディングでホームページが作成できるCMS(コンテンツ管理システム)の普及による影響が大きく、サイト内検索機能が標準で内臓されているものが多いことも要因となっています。
サイト内検索を狙ったスパム攻撃
前述のとおり、あらかじめ用意されたテンプレートを活用すれば、専門知識がなくてもある程度のWebサイトが制作できるようになったことによる弊害も生じています。
その一つが、今回ご紹介するサイト内検索機能を狙ったスパム攻撃です。
悪意ある第三者がサイト内検索機能を利用して不当な文言を検索することでGooglebotをクロールさせ、その『検索結果ページ』を検索インデックスに登録させてしまうことを目的としています。
この攻撃によって、標的となったWebサイトのGoogle評価を故意に落とすことが可能となったり、特定のWebサイトのSEO系被リンク獲得が可能となってしまい、攻撃を受けたWebサイトにとって全くメリットがないだけでなく、場合によっては大ダメージを受けてしまう危険性があるのです。
実際に被害を受けている現状
サイト内検索を狙ったスパム攻撃を受けた際、インデックス登録されてしまう危険性があるのが、サイト内検索結果ページにて『noindex』設定がされていない場合です。
noindex設定されていないページがインデックス登録される可能性がある件については、Webサイト制作に携わる方であれば持ち合わせている知識だと思います。
ですが、WordPress標準のサイト内検索機能において、検索結果ページにnoindex設定がデフォルトでされていない件について、広く知られていないことも事実です。
そのため、知らずにサイト内検索が実装されているテンプレートをデフォルトのまま利用しているサイトや、オリジナルテーマであっても検索結果ページにnoindex設定をせずに公開しているサイトがWeb上に多く存在しており、その多くがスパム攻撃を受けてしまっているのが現状です。
自サイトの確認
WordPressユーザーでサイト内検索機能を利用している方に限らず、ECサイトの検索機能を利用していたり、ご自身で構築されたサイトで検索結果ページにnoindex設定をせずに公開している方は、是非一度「自サイトURL/?s=」をGoogleで確認してみてください。
WordPress標準のサイト内検索結果ページは「サイトURL/?s=検索キーワード」というURLで表示される仕様のためです。
すでにスパム攻撃を受けてインデックス登録されてしまった場合は、存在すべきでない自サイト内のページ(検索結果)が、下の画像のように検索結果で表示されてしまいます。
仮にスパム攻撃されてなかったとしても、ユーザーが検索したキーワードによる検索結果ページが表示されているかもしれません。
そのまま放置しておくと最悪の場合、低品質コンテンツが多いサイトとしてGoogleの評価を落としてしまい、検索順位に悪影響を及ぼす可能性があるため、すぐに対処することをお勧めします。
検索結果ページの対策
繰り返しお伝えしたように、まずはGoogleなどの検索エンジンにインデックス登録させないことが大前提となります。
つまり、検索結果ページにおいて「インデックス登録させない」という絶対命令を出せばいいわけで、noindex(正式にはnoindex,follow)を指定するだけという実にシンプルな対策です。
① metaタグで直接記述する
ご自身でオリジナルテーマを作成されている場合、一番手っ取り早いのがこの方法だと思います。
基本中の基本、head内にmetaタグで『noindex,follow』を記述してあげることで、検索エンジンに対して「インデックス登録はせずにサイト内のリンクのみ辿ってください」と指示することが可能になります。
② head内にphpタグを設置する
実はこのスパム攻撃、サイト内検索結果ページのみを対象とするわけでないところが恐ろしい点で、万が一、サイト内検索機能を利用していなかったとしても、404エラーでリダイレクトされた先のエラーページがnoindex設定されていなかった場合も同様に、検索エンジンにインデックス登録されてしまう可能性があります。
したがって、検索結果ページだけでなく404エラーページについてもnoindex設定をしておく必要があるのですが、phpの知識がある方はhead内に下記のタグを設置することで、両ページへの設定を同時に行うことができます。
③ functions.phpを編集する
②と同様に、functions.phpに下記フック関数を追記することで両ページへの設定が同時に行うことができます。
④ プラグインを利用する
noindexを設定するためだけに新たなプラグインをインストールするのはお勧めしませんが、すでに対応するプラグインをインストールしている場合は、該当する項目を確認してみましょう。
例えば、WordPressで広く利用されている『All in One SEO Pack』をインストールしている場合[検索の外観]→[アーカイブ]→[Search Page]→[検索結果に表示]→[いいえ]と、設定することで検索結果ページへのnoindex設定が簡単にできます。
最後に
いかがだったでしょうか?言われてみれば当たり前のことなんですが、実は当たり前すぎて知識を持った方でも見落としがちな部分になります。
初心者の方で注意すべき点は、noindex設定の取り扱いを誤ってしまうとサイト運営において致命的なダメージを被ってしまうという部分です。基本中の基本、簡単であればあるほど注意して設定を行うことが必要です。
また、「検索入力ボックスを非表示しているから大丈夫」なんて思っている方は特に要注意です!
そもそも、スパム攻撃は検索ボックスにわざわざ入力するわけではなく、手あたり次第不特定多数のURL末尾に『/?s=不当な文言』を付与してWeb上に拡散させるため、例え検索ボックスを非表示にしていたとしても、noindex設定のされていない検索結果ページが表示されてしまえば、すべてが攻撃対象になりえるのです。
そのため、404エラーページについても同じことが言え、noindexを設定していなければ今回ご紹介したサイト内検索結果ページへのスパム攻撃の対象になる可能性があるのです。
こうした点から、WordPress標準のサイト内検索機能を使わず、Googleカスタム検索をWordPressへ導入する方も多いのですが、無料で利用しようとすると検索結果上部にサイトとは無関係な広告が表示されてしまうため、こちらについても強くお勧めできません。
まずは、自サイトの検索結果ページにおけるnoindex設定を確認し、簡単にできるところから早急に対策を行うことが重要だと思います。
[Webの豆知識]関連記事
Service
Contact
インフォコネクトに相談してみませんか?
経営コンサルティングからITサービス活用支援、ホームページ制作などに関するご依頼や、ご質問・ご相談など、なんでもお気軽にお問い合わせください。