WordPressのセキュリティチェック!知らないURLから漏れる情報と確認・対策

WordPressのセキュリティチェック!知らないURLから漏れる情報と確認・対策

WordPressには、自分で作った覚えのないページURLが自動でいくつもできています。そこから投稿者の名前やエラーの中身が見えてしまい、攻撃の手がかりになることがあります。

当記事では、情報が漏れる仕組みと、自分のサイトでの確かめ方・対策を、初心者向けにわかりやすく解説します。

目次

「知らないページURL」とは?WordPressが自動で作るページ

2026年10月30日、WordPressのサイト制作を手がける方がSNSで、「把握していないページURLにエラーが出て、サーバーの内部の情報の手がかりが見えていることがある」という趣旨の投稿をしていました。

WordPressは、記事や固定ページを書くだけで、管理している人が意識していないページも自動で用意します。代表的なものを、WordPress公式ドキュメントで確かめられた範囲で紹介します。

投稿者のページ(投稿者アーカイブ)

投稿者ごとに、その人が書いた記事を一覧にするページです。WordPress公式のテーマの説明では、投稿者ページの表示に投稿者の「ナイスネーム(URL用の名前=スラッグ)」が使われることが書かれています。公式のプロフィール画面の説明にも、投稿者アーカイブのURLにはユーザー名がよく含まれる、とあります。

REST API(外のアプリとやり取りするための窓口)

REST APIは、アプリや別のサービスがWordPressのデータを読み書きするための窓口です。公式の資料によると、ユーザーの情報を返す窓口(/wp-json/wp/v2/users)では、ふだんの表示用の項目として、ID・名前・スラッグ・投稿者ページのURLなどが返されます。メールアドレスやログイン用のユーザー名は、編集用の項目として分けられています。

添付ファイルのページ・検索結果・フィード

  • 添付ファイルのページ:画像などごとに作られるページ。公式によると、WordPress 6.4以降に新しく作ったサイトでは最初から無効です
  • 検索結果のページ:どんな検索語でも結果のページが表示されます
  • フィード:記事の更新を知らせる配信用のページ。最初から複数用意されています

プラグインやテーマのファイルもURLで開ける

プラグインやテーマは「wp-content」フォルダの中にあり、ファイルの名前が分かれば、ブラウザでURLを開けることがあります。

>>テンプレート階層(WordPress公式ドキュメント・英語)

※投稿者ページのURLにスラッグが使われるのは、WordPressの関数(投稿者ページのURLを作るget_author_posts_url)の仕組みによるものです

>>REST APIのユーザーの項目一覧(WordPress公式ドキュメント・英語)

WordPressのどこから情報が漏れる?よくある6つの手がかり

攻撃する側は、まずサイトの情報を集めます。WordPressで見つかりやすい手がかりは次の6つです。

1. 投稿者のスラッグ(ログイン名と同じだと狙われやすい)

公式の関数の説明によると、URL用の名前(スラッグ)を特に決めずにユーザーを作ると、ログイン名をもとに自動で作られます。スラッグはログイン名を少し加工して作られるため、英小文字と数字だけのログイン名なら、ほぼ同じ形になります。つまり、何も対策していないと、投稿者ページのURLやREST APIから、ログイン名の見当がついてしまうことがあります。ログイン名が分かると、総当たりでパスワードを試す攻撃の的になりやすくなります。

2. PHPのエラー表示(サーバーの場所やプラグイン名)

WordPressのデバッグ(不具合を調べる)設定がオンのままだと、エラーが起きたときに、ページにPHPのエラーがそのまま表示されます。エラーの文には、サーバーの中のファイルの場所や、プラグインの名前が含まれることがあります。PHPの公式マニュアルも、画面にエラーを出す設定は開発のためのもので、インターネットにつながる本番のサーバーでは使うべきではないとしています。

3. 公開されたままのdebug.log

WordPressのデバッグの記録(WP_DEBUG_LOG)をオンにすると、公式ドキュメントによれば、ふつうは「wp-content/debug.log」にエラーが書き込まれます。この場所は、ふつうブラウザから開ける場所なので、消し忘れるとURLを開くだけで中身を読まれるおそれがあります。WordPressの「サイトヘルス」も、公開される可能性のあるファイルに記録していないかを確かめています。

4. readme.txtなどに書かれた版の番号

WordPress公式のプラグイン置き場に登録されたプラグインには、説明書きのファイル(readme.txt)が付いていて、公式の書き方の決まりでは、そのプラグインの安定版の番号を書く欄があります。版の番号が分かると、脆弱性(セキュリティ上の弱点)が残る古いままのサイトを探す手がかりにされることがあります。

5. フォルダの中身の一覧

Webサーバーの設定によっては、フォルダのURLを開いたときに、表紙になるファイル(index.html など)がなければ、中のファイルの一覧を自動で表示します。Apache(よく使われるWebサーバーのソフト)の公式マニュアルにも、この動きが説明されています。

6. 消し忘れのバックアップ・テスト用ファイル

作業用のバックアップや、サーバーの設定を確かめるテスト用ファイルを、公開される場所に置いたままにしているケースです。中に設定やサーバーの情報が書かれていると、そのファイル1つで多くの情報が分かってしまうことがあります。作業が終わったら必ず消しておきましょう。

>>エラー処理の実行時設定(PHP公式マニュアル)

>>サイトヘルスのデバッグ設定の確認(WordPress公式ドキュメント・英語)

>>Optionsの設定(Apache公式マニュアル・英語)

WordPressのセキュリティチェック!自分のサイトで確かめる方法

必ず「自分が管理しているサイト」だけで行う

ここで紹介する確認は、必ず自分が管理しているサイトだけで行ってください。他人のサイトで試すと、不正アクセスの下調べと疑われるおそれがあります。

ブラウザで開いて確かめるURLの一覧

自分のサイトのアドレスの後ろに、次の部分を付けてブラウザで開きます。開くだけなので、サイトが壊れることはありません。

開くURL(サイトのアドレスの後ろ)何が分かるか安全な状態
/?author=1投稿者ページに移り、URLに投稿者のスラッグが出る(パーマリンクが「基本」のままのサイトや、記事のないユーザーでは移らないことがある)スラッグがログイン名と違う
/wp-json/wp/v2/users投稿者の名前とスラッグ出てくる名前がログイン名と違う
/wp-content/debug.logエラーの記録「見つかりません」などで中身が出ない
/wp-content/plugins/(プラグインのフォルダ名)/readme.txtプラグインの版の番号番号が見えても最新版になっている
/wp-content/uploads/フォルダの中身の一覧一覧が出ない(真っ白・アクセス拒否)
作業で作ったファイルの名前消し忘れのファイル「見つかりません」になる

※プラグインのフォルダ名は、サーバーのファイル管理画面で確かめられます

管理画面の「サイトヘルス」でも確かめられる

WordPressの管理画面の「ツール」→「サイトヘルス」でも、一部を確かめられます。公式の資料によると、エラーが訪問者に表示される設定や、誰でも見られる場所にエラーを記録する設定になっていると、注意の項目として表示されます。

AIオタクで試したところ(2026年10月30日)

当サイト(AIオタク)でも、2026年10月30日に、URLを開くだけの確認をしてみました。

確認したこと結果
投稿者ページ(/?author=1)投稿者ページに移り、投稿者の名前(スラッグ)がURLに出た
REST API(/wp-json/wp/v2/users)同じ投稿者の名前が見えた
プラグインのreadme.txtプラグインの版の番号が見えた
WordPress本体の版・debug.log・フォルダの一覧・消し忘れのファイルどれも見えなかった

名前や版の番号が見えること自体は、WordPressのふつうの動きでもあります。大切なのは、見えた名前がログイン名と同じになっていないか、見えた版が古いままになっていないかを確かめることです。

WordPressのセキュリティ対策6つ

気になる点が見つかったら、次の順に対策しましょう。WordPress公式ドキュメントの内容をもとにしています。

1. エラー表示をオフにする

デバッグの設定は、サーバーにある「wp-config.php」という設定ファイルに書かれています。公式ドキュメントは、本番のサイトではデバッグの設定や道具を使うことを勧めないとしていて、WP_DEBUGは最初からオフ(false)です。ふだんは次のようになっているかを確かめましょう。

define( 'WP_DEBUG', false );

不具合を調べるために一時的にオンにするときは、公式の例のように、画面には出さずに記録だけ残す設定にします。書く場所は、wp-config.phpの「編集はここまで」という趣旨のコメント行(英語または日本語)より上です。WP_DEBUGの行は最初から書かれているので、すでにある行を書き換え、同じ設定を2回書かないようにしましょう。

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

公式の例には、PHP側の表示設定もオフにする1行なども含まれます。変える前には必ずバックアップを取り、公式ドキュメントを確かめてください。書き間違いでサイトが表示されなくなることもあるので、自信がない場合は制作会社などに相談しましょう。

>>WordPressでのデバッグ(WordPress公式ドキュメント・英語)

2. debug.logを公開される場所に置かない・消す

公式ドキュメントによると、WP_DEBUG_LOGには、trueの代わりにファイルの場所を書くことで、記録の保存先を変えられます。調べものが終わったら、デバッグの設定をオフに戻し、wp-contentの中のdebug.logを消しておきましょう。

3. ログイン名と、表示される名前を分ける

公式の強化ガイドは、管理者のユーザー名に「admin」のような、狙われやすい名前を使わないよう勧めています。また、公式のプロフィール画面の説明によると、ユーザー名(ログイン名)はプロフィール画面からは変えられず、記事に出る名前は「ブログ上の表示名」で選べます。

  • 「ユーザー」→「プロフィール」で「ニックネーム」をログイン名と別のものにし、「ブログ上の表示名」をそのニックネームにする
  • ただし、表示名を変えても、投稿者ページのURLに使われるスラッグは自動では変わらない(スラッグはユーザーを作ったときにログイン名から作られるため)
  • スラッグやログイン名そのものを変えるには、プラグインやデータベースの作業が必要になる。公式の強化ガイドが紹介しているのはログイン名(データベースのuser_login)の書き換えで、スラッグ(user_nicename)は別の項目なので、ログイン名を変えてもスラッグは変わらない(上級者向け・バックアップ必須)

なお、REST APIを丸ごと止めるのはおすすめできません。公式のよくある質問は、管理画面の機能がREST APIに頼っているため、無効にすべきではないとし、代わりにログインした人だけが使えるようにする方法を紹介しています。

>>プロフィール画面の説明(WordPress公式ドキュメント・英語)

>>REST APIのよくある質問(WordPress公式ドキュメント・英語)

4. 本体・プラグイン・テーマを更新し、使わないものは消す

公式の強化ガイドは、WordPressを常に最新版にしておくこと、プラグインを常に更新しておくこと、使っていないプラグインは削除することを勧めています。テーマも、使っていないものは消し、使っているものは更新しておきましょう。

▶ 関連記事:WordPress 7.1.4が公開!22件の脆弱性を修正、自分のサイトは対象?更新の手順

5. 作業用のファイルを消す

作業用のバックアップやテスト用ファイルは、作業が終わったらすぐに消します。バックアップそのものは大切なので、公式の強化ガイドが勧めるように、公開される場所ではなく、信頼できる別の場所に保管しましょう。

6. 2段階認証やセキュリティ対策のプラグインを使う

公式の強化ガイドは、追加の守りとして2段階認証(パスワードのほかに、スマホのアプリなどでもう1つ確認する仕組み)を勧めています。セキュリティ対策のプラグインは、更新が続いているかを見て選びましょう(当記事では特定の製品をおすすめしません)。

>>WordPressの強化(WordPress公式ドキュメント・英語)

レンタルサーバーの守りでできること

レンタルサーバーでは、サーバー会社の守りの機能も使えます。主な2社の公式マニュアルで確認できた内容です(2026年10月30日時点)。

ConoHa WINGの場合

機能内容
WAFWebアプリの弱点を突く攻撃からサイトを守る機能。コントロールパネルの「サイトセキュリティ」→「WAF」で「利用設定」をオンにする
海外アクセス制限管理画面・REST API・XML-RPCなどへの海外からのアクセスを制限(公式によると最初からすべてオン)
ログイン制限短い時間に何度もログインがあると自動で制限(「管理画面ログイン」をオンにする)

>>WordPressのセキュリティの設定をする(ConoHa WINGサポート)

>>WAFの設定をする(ConoHa WINGサポート)

エックスサーバーの場合

機能内容
WAF攻撃の種類(スクリプトの埋め込み・データベースを狙う文字列など)ごとに、検知して止める設定ができる
国外アクセス制限管理画面・REST API・XML-RPCなどへの国外からのアクセスを制限(公式によると初期設定はオン)
ログイン試行回数制限短い時間に続けてログインに失敗すると制限し、総当たりの攻撃を防ぐ(初期設定はオン)
IPアドレス制限登録したIPアドレス以外から管理画面に入れないようにする(初期設定はオフ)

>>WordPressセキュリティ設定(エックスサーバー マニュアル)

>>WAF設定(エックスサーバー マニュアル)

サーバーの守りだけに頼らない

エックスサーバーのマニュアルも、WAFは不正なアクセスを100%防ぐものではなく、ソフトを最新版にするなどの根本的な対策も必要だとしています。サーバーの守りは、ログインを狙う攻撃や海外からの攻撃を減らすのに役立ちますが、エラー表示や消し忘れのファイルは、自分で直すしかありません。ほかのサーバーを使っている人も、マニュアルで同じような機能を確かめてみましょう。

▶ 関連記事:PHPの脆弱性「PHP2Shell」に注意!ファイアウォールにも侵害の跡、WordPressのサイトは大丈夫?

▶ 関連記事:Contact Form 7の脆弱性に注意!6.2.4で修正、添付欄の不具合は6.2.4.1で解消

※2026年10月30日時点・WordPress公式ドキュメント、PHP公式マニュアル、Apache公式マニュアル、ConoHa WINGサポート、エックスサーバーのマニュアルの情報より

【まとめ】WordPressのセキュリティチェックは「自分のサイトで、開いて確かめる」から

WordPressは、投稿者のページやREST APIなど、管理する人が意識していないページを自動で作ります。まずは自分のサイトでURLを開いて、ログイン名・エラー・debug.log・古い版・消し忘れのファイルが見えていないかを確かめ、見つかったものから対策しておきましょう。

記事の情報について

AIの技術・サービス・ルールは変化が速く、本記事の予測や見通しは将来を保証するものではありません。各サービスの仕様・料金は公式サイトで最新の情報をご確認ください。本記事の情報は2026年10月30日時点のものです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIの最新ニュースを、AI初心者にもわかりやすく届けるメディア「AIオタク」の編集部です。ChatGPT・Claude・Gemini・Grokなど、各社の新しいモデルや機能の発表を毎日チェックしています。記事は、各社の公式ブログ・ヘルプページ・リリースノートなどの一次情報で事実を確かめてから書いています。運営者自身も、ひとり法人の仕事で記事作成やマーケティングにAIを毎日使っている、AIの「オタク」です。「結局、自分には何が変わるの?」がわかる記事を目指しています。

目次