MALWARE GUIDE

WordPressが勝手に
海外サイトへリダイレクト
される原因と復旧方法

突然、訪問者が怪しい海外サイトへ飛ばされる——
これはマルウェア感染のサインです。原因・確認・復旧・再発防止をまとめました。

🔴 緊急度:高 🕐 読了目安:約8分 ✍️ RIRIWEB編集部
今すぐ無料相談する 📞 080-6659-6525
⚠️
感染が疑われる場合は、まず更新・投稿を停止してください。
操作を続けると感染が広がる可能性があります。バックアップを取り、アクセス制限をかけた上でこのページの手順を進めてください。

よくある症状のパターン

リダイレクト系マルウェアは、症状が一定ではありません。以下のような「特定の条件下だけ発生する」ケースが多いため、管理者が気づきにくいのが特徴です。

📱

モバイルだけリダイレクトされる

PCでは正常に見えるのに、スマートフォンからアクセスすると別サイトへ飛ばされる。

頻出パターン
🔍

検索経由だけリダイレクトされる

GoogleやYahooから流入した訪問者だけが飛ばされ、直接URLを入力した場合は正常。

頻出パターン
👤

ログインしていない訪問者だけ

管理者(ログイン済み)には症状が出ず、一般訪問者だけが被害に遭う。

気づきにくい
🌍

特定の国からのアクセスだけ

海外のIPアドレスからのみリダイレクトされ、国内からは正常に見える。

発見困難
🔁

初回訪問だけリダイレクトされる

クッキーを使い、同じユーザーが2回目以降はリダイレクトしない手口。

巧妙な手口
🕐

特定の時間帯だけ

夜間や特定の時間帯だけ動作するタイマー付きのコードが仕込まれるケースも。

時限式

リダイレクトされる原因

不正リダイレクトは、大きく分けて「ファイルへの不正コード挿入」と「データベースの改ざん」の2種類があります。複数同時に仕込まれていることも珍しくありません。

1

テーマファイルへのJavaScript挿入

functions.php や header.php など、全ページに読み込まれるテーマファイルに悪意あるJSコードを挿入する手口。難読化(obfuscate)されていることが多く、一見してわかりにくい。

// 実際の感染コード例(難読化済み)
eval(atob("dmFyIF9zdHJpbmc9IiI7..."));
2

データベース(wp_options)の改ざん

WordPressの設定を管理するwp_optionsテーブルのsiteurl・home・widget設定などに不正なコードや外部URLを埋め込む。管理画面から見ても発見しにくい。

3

.htaccess ファイルの改ざん

Apacheサーバーの設定ファイル(.htaccess)にリダイレクトルールを追記。モバイルUAや検索エンジン経由のみに絞った条件付きリダイレクトが仕込まれる。

# 悪意ある.htaccessの記述例
RewriteCond %{HTTP_USER_AGENT} (android|iphone) [NC]
RewriteRule ^(.*)$ https://malicious-site.com/ [R=302,L]
4

不正プラグインの設置

脆弱なプラグインの脆弱性を突いて侵入後、バックドア機能を持つ偽プラグインを設置するケース。有効化されていなくても実行されることがある。

5

wp-config.php・index.phpの改ざん

WordPressのコアファイル自体に不正コードを追記。感染範囲が広く、除去後も再感染するリスクが高い。

そもそも、なぜ侵入されるのか?

🔓
プラグイン・テーマの脆弱性
古いバージョンに既知の脆弱性が存在し、自動スキャンで狙われる。
🔑
パスワードの使いまわし・総当たり
admin/adminなどの弱いパスワードはブルートフォース攻撃の標的に。
🧩
nulled(改造版)テーマ・プラグイン
無料で配布されているnulledにはバックドアが仕込まれていることが多い。
🌐
共用サーバーの横断感染
同じサーバー内の他サイトが感染すると、自分のサイトにも波及することがある。

自分でできる感染確認の方法

「もしかして感染している?」と思ったら、まずこれらを確認してください。ツールを使えば技術知識がなくても発見できます。

STEP 1

シークレットモード+スマホでアクセスしてみる

ブラウザのシークレット(プライベート)モードで、かつスマートフォンから自分のサイトにアクセス。リダイレクトが発生するか確認する。管理者ログイン状態ではマスクされている場合があるため、必ずログアウト後に。

STEP 2

Google Search Consoleでセキュリティ問題を確認

Search Console →「セキュリティの問題」セクションを開く。Googleが検知した場合、ここに「不正なコンテンツ」「マルウェア」「フィッシング」などの警告が表示される。

STEP 3

Sucuri SiteCheckで無料スキャン

https://sitecheck.sucuri.net/ にサイトURLを入力するだけでマルウェアの有無を確認できる無料ツール。ただし、難読化されたDBへの埋め込みは検出されないこともある。

STEP 4

.htaccessと主要PHPファイルを目視確認

FTPクライアントや管理パネルのファイルマネージャーで、WordPressルートの .htaccess、wp-config.php、index.php を開いて確認。身に覚えのないコードやeval()・base64_decode()が含まれていれば感染の疑いが強い。

STEP 5

WordPressプラグイン「Wordfence」でスキャン

管理画面からWordfenceをインストールし、フルスキャンを実行。コアファイルとの差分を検出して改ざん箇所をリストアップしてくれる。ただし感染が深刻な場合はプラグイン自体が機能しないこともある。

⚠️ 注意:確認中も、感染したサイトを通じて来訪した訪問者は被害を受け続けます。確認と並行して、メンテナンスモードへの切り替えやWAFによるアクセス制限を検討してください。

復旧手順ステップ

感染が確認された場合の復旧手順を解説します。ただし、感染が深刻な場合や途中で判断が難しい場合は、自力での対応を中断して専門業者へ依頼することを強く推奨します。

01

バックアップを取る(最優先)

作業前に必ず現状のファイル・データベースをバックアップ。感染状態でも「復旧に失敗した際の戻し先」として必要。サーバーの自動バックアップとは別に手動でも取っておく。

使用ツール例:FTPクライアント、phpMyAdmin、UpdraftPlus
02

WordPressコアファイルを公式版で上書き

WordPress公式サイトからCoreファイルをダウンロードし、wp-admin・wp-includes ディレクトリを上書きアップロード。wp-config.phpは上書きしないこと。

参照:wordpress.org/download/
03

.htaccessを再生成・クリーニング

既存の .htaccess を削除し、管理画面「設定→パーマリンク」を保存して再生成。または最小構成の標準的な内容に置き換える。

04

テーマ・プラグインを公式版で置き換え

使用中のテーマ・プラグインをすべて公式から再ダウンロードして上書き。カスタマイズがある場合は、改ざん部分を特定して差分で修正する。使用していないテーマ・プラグインは完全削除。

05

データベースを洗浄する

phpMyAdminでwp_options・wp_posts・wp_usersなど各テーブルを確認。不審なJavaScriptコード、外部URLの埋め込み、見知らぬ管理者ユーザーなどを削除。SQLで一括検索・置換を行う場合はバックアップ後に。

-- 不正コードの検索例
SELECT * FROM wp_options WHERE option_value LIKE '%eval(%';
SELECT * FROM wp_posts WHERE post_content LIKE '%<script%';
06

パスワード・秘密鍵をすべて変更

WordPress管理者パスワード・DBパスワード・FTPパスワード・サーバーパネルのパスワードをすべて変更。wp-config.phpの認証キー(SECRET_KEY)も公式ジェネレーターで再生成。

https://api.wordpress.org/secret-key/1.1/salt/
07

Google Search Consoleで再審査リクエスト

Googleにフラグを立てられている場合、復旧後に「セキュリティの問題」から再審査をリクエスト。承認まで数日〜1週間程度かかることがある。

再発防止策

復旧後に対策を取らないと、数日〜数週間で再感染するケースも少なくありません。以下を必ず実施してください。

🔄

定期的なアップデート

WordPress本体・テーマ・プラグインは常に最新版を維持。更新前のバックアップも習慣に。

重要度:最高
🛡️

WAF(Web Application Firewall)の導入

Cloudflare・さくらのWAF等で不審なアクセスをブロック。多くのレンタルサーバーにオプションあり。

重要度:高
🔐

二段階認証(2FA)の有効化

WordPressログインに2FAを導入。パスワードが漏れても不正ログインを防げる。

重要度:高
🚫

ログインURLの変更・制限

デフォルトの /wp-admin/ /wp-login.php を変更。IPアドレス制限も効果的。

重要度:高
📂

ファイルパーミッションの適正化

wp-config.php は 600、その他のPHPファイルは 644 に設定。書き込み権限を最小化。

重要度:中
💾

自動バックアップの設定

UpdraftPlus等で毎日の自動バックアップをサーバー外(Google Drive等)に保存。

重要度:高

プロに依頼すべきケース

以下のような状況では、自力での対応リスクが高く、被害の拡大や不完全な復旧につながる可能性があります。

🔴
管理画面にログインできない
不正ユーザーにパスワードを変えられている、またはコアファイルが破損している可能性。
🔴
自力で復旧したが、また再感染した
バックドアが残っている可能性が高い。除去漏れを専門家が洗い出す必要がある。
🟡
Googleから「危険なサイト」警告が出ている
SEO・広告への影響を最小限にするため、迅速な再審査リクエストが必要。
🟡
EC・予約・個人情報を扱うサイト
情報漏洩のリスクがあり、自力の対応では責任が取れないケースも。
🟡
感染箇所がどこかわからない
DB・ファイル・サーバー設定・複数箇所に仕込まれている場合は、ツールだけでは検出できないことも。
RIRIWEB マルウェア復旧サービス

診断・お見積りは無料です

即日対応可。ファイル&DB両面の洗浄から、侵入経路の特定・封鎖、Search Console再審査まで
ワンストップで対応します。

¥22,000(税込)〜