ページがハッキングされ隠しリンクを設置|Googleランキング急落の対処法

本文作者:Don jiang

あなたのウェブサイトが突然「隠しリンク型のスパム」にやられると、本当にヤバいことになります。軽い場合はGoogleの順位がガクッと下がって、アクセスが半減。重いと「危険なサイト」としてブラックリスト入りすることも。

ほとんどの人は異常に気づいた時にはすでに手遅れ状態。しかも、ページを削除したり、サーバーを止めたりすると、逆に状況を悪化させてしまいます。

私たちは8年間、実戦でSEOをやってきて、60件以上の「隠しリンク侵入」を解決してきました。その中で確立したのが、“72時間以内の被害制御+高速リカバリー”の標準手順です。

Screaming Frogでリダイレクトコードを特定したり、手動でリンクを削除してGoogleに修復報告を出したり(実際のテンプレあり)、悪質なリンクの影響を中和する「信頼コンテンツ」を出したりと、どの手順も3つの時間ポイント(24時間 / 3日 / 7日)を守ることが超重要です。

特に注意!過去7日で主要キーワードの順位が10位以上落ちていて、インデックス内に「?redirect=casino」みたいなURLが出てきたら、すでにハッキングされている可能性が高いです。まず最初のステップに進んで、チェックを始めてください。

页面被黑客挂暗链

あなたのサイト、本当に「隠しリンク」にやられてる?

隠しリンクの怖いところは、エラー画面も出ないし、サイトが落ちたりもしない点。だからこそ見落とされやすいんです。

ほとんどの人は、Google順位が半分以下に下がった後に初めて異常に気づきます。でもその時点では、すでに悪質なリンクが数週間表示されているかもしれません。Googleに「マルウェアサイト」としてマークされている可能性も。

私たちの経験では、70%以上の隠しリンクが「画像フォルダ」「古い投稿」「JSスクリプト」に埋め込まれていて、見た目ではまず気づけません。

コードがわからなくてもOK。10分以内に「寄生リンク」を見つけられる激安なツール活用法をご紹介します。

Google Search Console:公式警告をチェック

  • 「セキュリティと手動対策」→「手動対策」へ。「不自然なリンク」「ハッキングされたコンテンツ」などの赤い警告があれば、確定です。
  • 要注意:一部のハッカーは「問題なし」と偽装します。「セキュリティの問題」→「サンプルページを見る」で、対象URLをクリックして中にリダイレクトコード(<meta http-equiv="refresh" content="0;url=ギャンブルサイト.com">など)があるか確認を。

ウェブ管理ツール:隠しリダイレクトコードをスキャン

Screaming Frog(無料版で最大500URLまで)を使って、次の条件で絞り込み:

  1. 外部リンクが異常に多いページ(10個以上なら警戒)
  2. “style=display:none”付きのリンク(例:<a href="ギャンブルサイト" style="display:none">
  3. 外部JSを読み込んでるページ(例:<script src="http://怪しいドメイン.js">

スピード確認:Chrome拡張 Link Redirect Traceで301リダイレクトの実態を追跡しましょう。

検索インデックス:影のページを見破る

Google検索で以下のように調べてみてください:

site:yourdomain.com intitle:カジノ/くじ/アダルト  
site:yourdomain.com inurl:.php?ref=

「オンラインカジノセール」みたいな、自分が作った覚えのないページが出てきたら、すでにスパムページが埋め込まれています。

究極の確認方法:サーバーログ(/var/log/apache2/access.log)を開いて「.php?」で検索し、不審なアクセスを調べましょう(例:ベトナムやウクライナIPからのPOSTリクエストが連続)。

重要なヒント:もし/wp-content/uploads/2023/のような画像フォルダに隠しリンクが集中しているなら、画像アップロードの脆弱性を突かれた可能性があります。ファイル名に<?php eval(などのコードが含まれてないか確認を。

隠しリンクを完全削除する3ステップ

もし見つけたなら、最初の72時間が勝負です。多くの人があわててページを削除したり、全部再インストールしたりしますが、それは逆効果。Googleに「コンテンツ不安定」と判断されて順位がさらに落ちることも。

60件以上の実例から導き出された鉄則は:「まず証拠を集める→削除と並行して→Googleに復旧申請」です。

1. サイト全体をバックアップ:誤削除を防ぐ

特にバックアップすべきフォルダ:

  • /wp-content/uploads/(画像ファイル内にPHPコードが埋め込まれていないか確認)
  • /wp-includes/js/(jquery-migrate.min.jsなどが改ざんされていないかチェック)

おすすめのツール:

  • 宝塔面板(BTパネル)でワンクリックフルバックアップ(データベース含む)
  • Duplicatorプラグインでサイト全体をパッケージ化(キャッシュファイルは自動スキップ)

2. 悪意のあるコードを手動で削除する(高リスクの特徴付き)

以下のキーワードを全体検索してください

php
eval(base64_decode('暗号化文字列'));
 $k="ハッカーのパスワード";error_reporting(0);
<iframe src="http://悪意のあるドメイン" style="visibility: hidden;">  

優先的にチェックすべきファイル

  • .htaccess(例:RewriteRule ^.*$ http://ギャンブルサイト [R=301,L] が挿入されていないか確認)
  • header.php/footer.php(不審なJS呼び出しがないか確認。例:document.write("")

補助ツール

Dシールド(D_Safe)を使ってサーバーをスキャンすれば、system()passthru() などの危険な関数を含むファイルを自動でマークしてくれます。

3. 侵入経路を遮断:再感染を防ぐ

  • 管理画面のログインURLを変更(WordPress)
    WPS Hide Login プラグインをインストールして、/wp-admin/ をカスタムパス(例:/mylogin-2024/)に変更します。
  • 脆弱性の緊急修正
    • すべてのプラグインを最新版にアップデート(WPScan で既知の脆弱プラグインをチェック)
    • 使っていないテーマやプラグインを削除(特に名前が怪しいもの、例:wp-seo-optimize
  • サーバーの権限を強化
    bash
    コピー
    # アップロードディレクトリでPHPの実行を禁止
    find /サイトパス/wp-content/uploads/ -type f -name "*.php" -exec rm -f {} \;
    chmod 644 .htaccess  # 書き込み権限を制限  

重要なポイント:除去作業が終わったらすぐにLink Redirect Traceプラグインで全サイトをスキャンし、残留したリダイレクトコードがないか確認してください。もしデータベース(例えばwp_postsテーブルのpost_contentフィールド)に暗号化されたコードとして隠しリンクが保存されている場合は、Adminerツールを使って以下のSQLコマンドを実行してください:

UPDATE wp_posts SET post_content = REPLACE(post_content, '悪意のあるコード部分', '');  

Googleへ再審査を提出する

隠しリンクの除去は第一歩に過ぎません。48時間以内にGoogleへ有効な再審査申請を行うことが順位回復の核心です。

90%のサイト管理者が「証拠不十分」や「誤った言い回し」で再審査に失敗し、さらに二次の手動審査が発生(回復まで3〜6か月延長)してしまいます。

私はすぐに使える英語の申請テンプレートと、合格率を80%アップさせる「強力な証拠パッケージ」を提供しています。

1. Search Consoleで「手動対応」再審査を申請する

操作手順

「セキュリティと手動対応」→「手動対応」→「再審査リクエスト」をクリック。

英語の申請テンプレート(赤字部分は置き換えてください):

We have removed all spammy backlinks injected by hackers:  
1. Deleted malicious codes in .htaccess and footer.php (see screenshot_1.png).  
2. Blocked 142 suspicious IPs from Vietnam/Ukraine (access.log attached).  
3. Fixed the vulnerability via updating plugins (e.g. Elementor from 3.6 to 3.19).  
Request to revoke the manual penalty.  

必須添付資料

  1. 除去前後のコード比較スクリーンショット(WinMergeでファイル比較)
  2. サーバーの悪意あるIPブロックログ(時間、IP、攻撃経路を含む)
  3. Screaming Frogでの全サイト外部リンクスキャンレポート(PDF出力)

2. 「セキュリティ問題」レポートも同時に処理する

「セキュリティ問題」→感染したページをすべてチェック→「修正済みとしてマーク」をクリック。

クロール促進テクニック

URL検査ツールで感染したURLを入力→「インデックス登録をリクエスト」をクリック(1日最大50件まで)。

3. 再審査失敗を防ぐ隠れたテクニック

  • 「We apologize」などの謝罪表現は避ける(Googleは責任回避と見なします)。事実ベースで説明しましょう。
  • 第三者のセキュリティレポートを添付する(例えばSucuriSiteCheckのスキャン結果)で、サイトが安全であることを証明します。

サイトコンテンツを継続的に更新する

再審査申請後24時間以内にオリジナル記事を2本投稿してください(Googleは「積極的な管理」のシグナルとみなします)。

重要なポイント:7日経ってもGoogleから返答がなければ、「検索の見え方 → クロール最適化」機能でsitemap.xmlを再提出し、注釈欄に「Malware cleaned up, please recrawl critical pages like /contact-us/ and /blog/」と強調してください。

手動対応警告が解除されない場合は、28日後に同じ証拠で再提出してください(スパム検知の回避のため)。

低コスト防御設定チェックリスト

「防御にコストがかかる」というのは最大の誤解です。80%のハッカー攻撃は、更新されていないプラグイン、弱いパスワード、デフォルトの管理者パスなどの基本的な脆弱性を狙っています。

私たちは年間500元以下の予算で、顧客のサイトを2万回以上の悪意あるスキャンから防御した実績があります。

基本的なサーバー操作ができれば、1時間以内にサイト全体の強化が可能です。

1. 基本防御3点セット(無料)

リアルタイムファイル監視

  • 宝塔パネルの「ファイル改ざん防止」機能を使い(無料)、wp-config.php.htaccessなどの重要ファイルをロック。変更があればSMSで通知。

ブルートフォース攻撃防止

  • Wordfence(無料版)をインストールし、「リアルタイムトラフィック監視」を有効に。15分間に5回以上ログイン失敗したIPを自動でブロック。

自動クラウドバックアップ

  • UpdraftPlusでGoogleドライブに毎日バックアップを設定(7日分保存)。侵入されたらすぐにクリーンなバージョンに戻せます。

2. 必ず変更すべきサーバーの危険な設定

危険なPHP関数を無効化する

php.iniファイルを編集し、disable_functionsの後に以下を追加してください:

system,exec,passthru,shell_exec,proc_open,curl_multi_exec  

アップロードディレクトリの権限を制限する

# /uploads/でのPHP実行を禁止  
find /サイトパス/wp-content/uploads/ -type f -name "*.php" -delete  
chmod -R 755 /サイトパス/wp-content/uploads/  

サーバー情報を隠す
.htaccessの先頭に以下を追加してください:

apache
ServerSignature Off  
Header unset X-Powered-By  

3. ファイアウォールルール(月額コスト ≤ $20)

Cloudflare無料プランの設定

  • ルール1:/wp-admin/またはxmlrpc.phpを含むアクセスに対してチャレンジ(ホワイトリストIP除く)
  • ルール2:User-Agentにsqlmapnmapを含むリクエストをブロック

リスクの高い国のIP範囲をブロック

宝塔パネルの「ファイアウォール」で以下の拒否ルールを追加してください:

ベトナム:14.224.0.0/11  
ロシア:46.161.0.0/18  
ウクライナ:37.52.0.0/14  

重要なヒント:四半期ごとにWPScanで脆弱性スキャンを実行しましょう(コマンド:wpscan --url あなたのドメイン --api-token あなたのトークン)。
リスクレベルが中〜高のプラグインを優先して対応してください。
Nginxサーバーを使っている場合は、設定に以下を必ず追加してください:

location ~* ^/(uploads|wp-content)/.*\.(php|php5|phtml)$ {  
    deny all;  
}  

(画像ファイルを介したPHPコードの実行を完全に防ぎます)

「ワンクリック修復プラグイン」に頼らないでください — 人気のセキュリティプラグイン13種類を分析したところ、9種類で過剰な権限や誤削除の問題が見つかりました。
手動での防御設定(.htaccessルールやサーバー権限の設定)が唯一の確実な方法です。