Google検索結果に中国語や商品名のワードプレスの検索結果が登録されるSEOハックの新手法が確認されましたのでその対処方法を解説いたします。

ワードプレスの検索結果を任意の文字列で生成させ検索エンジンに勝手に登録してしまうSEOハック

弊社にいくつかのサイト運営者様にご相談いただいたSEOハックと思われる新手法です。この攻撃を受けてしまうと、中国語や、商品名で御社サイトで検索されて、その検索結果ページが検索エンジンに登録されてしまい、御社サイトの検索結果が大量のスパム生成ページで汚染されます。

この攻撃は下記のような方法で行われていると推測されます。

1 ハッカーが任意の検索文字列で御社サイトで検索を行う(?s=をドメインにくっつけて御社サイトにアクセスする)

2 その検索結果がワードプレスのサイト上で0でもそのページが生成される(ワードプレスの仕様です)

3 その検索結果のページを検索エンジンに引っ掛けて検索エンジンにIndex登録させる

なぜハッカーはこのような攻撃を行うのか?

新しい手法の為、理由は当社でも理由は完全にはわからない状況ですが、おそらく検索結果のページのタイトル等がハッカーが目的とするサイトのSEO向上効果をもたらすことを期待しているのではないかと考えられます。

もしくはGoogleなどの検索エンジンが存在しないワードプレス上の検索結果ページで汚染されることから、御社サイトの評判を下げたり検索ランキングを下げる為のブラックハットSEOの一環である場合がございます。

サイトが改ざんされていたりマルウェア感染している?

ハッカーが外部から御社サイトに侵入しなくても実現可能な手法なため御社サイトにマルウェアがある(改ざん)とは限りません。

ただ、御社サイトに不正なHTMLを置いて検索エンジンに引っ掛けてしまう改ざんの可能性もありますので、マルウェア検査や脆弱性検査を行っていただくことをお勧めいたします。
【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]

対処方法

現時点で考えられる対処方法はワードプレス内の検索結果を検索エンジンに登録されないようにnoindexメタタグを検索結果に挿入することです。

このことによってハッカーが勝手に生成した御社サイト内の検索結果ページが検索エンジンから除外されます。

※ワードプレス上の検索結果を検索エンジンに登録しないnoindexタグを付与するコードは下記のようになります。(functions.phpに記載すると動作します)
※WP上の検索結果を検索エンジンに登録しないように既に機能が組み込まれているテーマやプラグインもございます。またワードプレス5・7以上かつなんらかのSEOプラグインの干渉を受けない場合は検索結果が自動的にnoindex化されます。

add_action('wp_head', 'noindexsearch_result');
function noindexsearch_result() {
    if (is_search()) { 
    ?>
    <meta name="robots" content="noindex, nofollow" />
    <?php 
    }
}

ワードプレスサイト上で検索結果が存在しない場合にのnoindexにするには下記のようなコードにします

add_action('wp_head', 'noindexsearch_result');
function noindexsearch_result() {
    if (is_search()) {
        global $wp_query;
        if(empty($wp_query->found_posts)){
        ?>
        <meta name="robots" content="noindex, nofollow" />
        <?php 
        }
    }
}

※この不正なSEOハックの攻撃の対策は、近日中に【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除] に組み込みます予定でございます。

その際はまたサイトでお知らせいたします。

WordPress ワードプレスのマルウェア駆除・ハッキング対策のご依頼・ご相談はWPドクターまでお気軽にお送りください