WordPressで運用していると、ある日突然、トップページは正常なのに下層ページ(投稿・固定ページ・カスタム投稿)だけがすべて404エラーになる——という現象に出くわすことがあります。原因の多くは「パーマリンク設定が外れる」こと。設定を保存し直せば直るのですが、やっかいなのは自分では気づきにくい点です。
そこで当社では、公開中のページが404になった瞬間にメールで知らせるWordPressプラグイン「404 Notify」を開発し、無料で配布することにしました。この記事では、その仕組み・設定・導入方法をわかりやすく解説します。
目次
パーマリンク外れで下層ページが404になる問題とは

WordPressの下層ページは、パーマリンク設定にもとづいて内部的にルーティング(リライトルール)されています。このルーティングが何らかのきっかけで壊れると、トップページは正常なのに投稿や固定ページだけが404になる、という状態が起こります。まずは、なぜこの現象が起きるのか、そしてなぜ見逃しやすいのかを整理しておきましょう。
パーマリンクが外れる主な原因
パーマリンク外れは、特別な操作をしていなくても起こり得ます。プラグインの更新や有効化・無効化、テーマの切り替え、サーバーの移行、そして.htaccessの書き換えなどをきっかけに、リライトルールが一時的に壊れてしまうことがあるためです。
運営者からすると「何もしていないのに急にページが表示されなくなった」ように見えるのが、この不具合のわかりにくいところです。原因が多岐にわたるぶん、事前に完全に防ぎ切るのは難しいのが実情です。
パーマリンクが外れやすいタイミング
- プラグインの更新・有効化・無効化:リライトルールに影響する処理が走ったとき
- テーマの切り替え:URL構造に関わる設定が変わったとき
- サーバー移行・環境変更:設定が引き継がれず初期化されたとき
- .htaccessの書き換え:リライト記述が消えた・上書きされたとき
直し方は簡単。でも「気づけない」のが本当の問題
パーマリンク外れの直し方自体はとてもシンプルです。管理画面の設定 > パーマリンクを開き、「変更を保存」を押すだけでリライトルールが再構築され、多くの場合はその場で復旧します。ところが本当に厄介なのは、その症状がいつ発生したのかを運営者が能動的に知る手段がほとんどない、という点です。
毎日サイトの全ページを巡回している運営者はまれで、気づいたときには数日分のアクセスを取りこぼしていた、というケースは少なくありません。検索エンジンのクロール中に404が続けば、SEO評価に影響する可能性もあります。
404対策の鉄則は「直す速さ」より「気づく速さ」
パーマリンク外れは復旧作業そのものは数秒で終わります。だからこそ勝負を分けるのは、いかに早く異常に気づけるかです。検知を仕組み化しておけば、機会損失を最小限に抑えられます。
監修者
小森 健
「404 Notify」プラグインの概要
「404 Notify」は、実在する公開ページが404になったときだけ、指定アドレスにメール通知するプラグインです。パーマリンク外れの典型的な症状をピンポイントで検知することに特化しており、気づく遅れによる機会損失を防ぎます。GitHubで公開しており、無料でご利用いただけます。
404 Notifyの基本情報
- 種別:WordPressプラグイン(無料)
- 役割:実在する公開ページの404をメールで通知
- 動作要件:WordPress 5.5以上 / PHP 7.4以上
- ライセンス:GPLv2またはそれ以降
- 配布元:GitHub(Releasesページ)
エンジニア
遠野 涼真
仕組みと特徴|“実在ページの404”だけを通知する理由
404 Notifyの最大の特徴は、通知の精度です。サイト訪問者が404に遭遇したとき、そのURLをデータベースで直接照合し、「公開ステータスのページとして実在するのに404が返っている」場合に限って通知します。これはまさにパーマリンク外れで起きる典型的な症状であり、無関係なノイズを鳴らさないための核心的な仕組みです。
無意味な通知を出さないための設計
通知の精度を支えているのが、通知対象を絞り込むフィルタリングです。ボットが機械的に叩く存在しないURL、拡張子付きのURL(.phpや画像ファイルなど)、攻撃スキャンに特有のパス(wp-contentやxmlrpcなど)は、はじめから通知対象外としています。
そのため通知が届いたときは「本当に対処が必要な状態」である可能性が高く、いわゆるオオカミ少年になりません。存在しないURLへのアクセスまで通知していては、重要な異常が埋もれてしまうからです。
404 Notifyが通知する/しないの基準
- 通知する:公開中のページとして実在するURLが404になっている
- 通知しない:もともと存在しないURL(ボットのアクセス等)
- 通知しない:拡張子付きURL(.php・画像ファイルなど)
- 通知しない:攻撃スキャン特有のパス(wp-content・xmlrpc等)
参考までに、一般的な404通知プラグインは次のような弱点を抱えがちです。404 Notifyはこれらを避ける設計にしています。
一般的な404通知プラグインにありがちな弱点
- あらゆる404を通知するため、ボット由来の通知が大量に届く
- 通知が多すぎて、肝心のパーマリンク外れが埋もれてしまう
- 同じ状態で何度も通知が飛び、メールボックスが荒れる
メールの連投を防ぐロック機能
通知の精度と同じくらい大切なのが、通知の“量”のコントロールです。404 Notifyは一度通知を送った後、設定した時間(初期値24時間)だけロックをかけ、同じ状態で何通もメールが飛ぶのを防ぎます。ロック時間は用途に応じて自由に変更できるため、テスト時は短く、通常運用時は長めに、といった調整も可能です。これにより、通知が“うるさすぎず・見逃さない”ちょうど良いバランスを保てます。
表示速度・SEOへの影響はほぼゼロ
通常のページ表示では冒頭の判定のみで処理を終えるため、サイト速度への影響はほぼありません。404発生時だけ軽量なDB照合が1回走る設計です。フロントのHTMLには一切手を加えないため、表示やSEOへの影響もありません。
エンジニア
遠野 涼真
通知メールの内容
実際に届く通知メールには、対処に必要な情報がひととおりまとまっています。404になったURL、該当する投稿のタイトルとID、リンク元(リファラ)、検出日時に加えて、対処方法(パーマリンクの再保存)まで案内されるため、メールを見てすぐに復旧作業へ移れます。件名・本文は差し込みタグを使って自由に編集できます。
通知メールで使える差し込みタグ
- {url}:404になったURL
- {post_title}:該当する投稿・ページのタイトル
- {post_id}:該当投稿のID
- {referer}:リンク元(リファラ)
- {date}:検出日時
- {site_name}:サイト名
- {lock_hours}:設定中のロック時間
Webデザイナー
桐生 沙耶
設定画面でできること

設定は管理画面の設定 > 404通知から行います。通知先や文面はもちろん、除外条件や対象の投稿タイプまで、サイトの構成に合わせて細かく調整できます。導入後にまず触っておきたい主な項目を整理しました。
設定画面でできること
- 通知先メールアドレス:複数指定可(1行1件で入力)
- 件名・本文テンプレート:差し込みタグで自由に編集
- ロック時間:0〜720時間で変更(0はテスト用でロック無効)
- 除外キーワード:ボット・攻撃対策として通知対象外の文字列を編集
- 許可する拡張子:.htmlパーマリンクのサイトなどに対応
- 対象の投稿タイプ:カスタム投稿タイプを含め監視対象を選択
さらに、動作確認や運用中のメンテナンスに役立つボタンも用意されています。
動作確認・運用に便利な機能
- テストメール送信:ロックなしで即時送信し、受信環境を確認できる
- ロック状態の確認・解除:現在のロック状態を確認し、その場で即時解除できる
監修者
小森 健
インストール方法とダウンロード

プラグインはGitHubのReleasesページから配布しています。下記のリンクから最新版のzipを取得し、通常のプラグインと同じ手順でアップロードするだけで導入できます。無料でご利用いただけます(ライセンス:GPLv2以降)。
▼ 404 Notify(最新版)ダウンロード
・最新版zipを直接ダウンロードする
・Releasesページを開く
- 上記リンクから最新の
notify-404.zipをダウンロードします。 - WordPress管理画面で「プラグイン > 新規追加 > プラグインのアップロード」を開き、ダウンロードしたzipを選択します。
- インストール後に有効化すると、設定 > 404通知 に設定画面が追加されます。
- 通知先メールアドレスを入力し、テストメール送信で受信を確認したら準備完了です。
エンジニア
遠野 涼真
動作要件・注意点
導入前に、確実に通知を受け取るために押さえておきたいポイントがあります。404 Notifyはサーバーのメール送信環境に依存するため、環境によっては通知が届かないことがあります。トラブルを避けるためにも、次の点を確認しておきましょう。
注意:確実にメールを受け取るために
あわせて、このプラグインの役割の範囲についても理解しておくと安心です。
注意:本プラグインは「通知のみ」です
エンジニア
遠野 涼真
よくある質問(FAQ)
404 Notifyの導入を検討される際に、よくいただく質問をまとめました。他の404通知プラグインとの違いや、通知の頻度、サイト表示やSEOへの影響、対応する投稿タイプなど、仕様や運用面で気になる点があれば、まずはこちらをひととおりご確認ください。
普通の404通知プラグインと何が違いますか?
いちばんの違いは「通知の精度」です。一般的なプラグインはあらゆる404を通知するため、ボットや存在しないURLへのアクセスでも通知が飛び、重要な通知が埋もれがちです。404 Notifyは「実在する公開ページが404になった場合」だけを通知するため、パーマリンク外れのような本当に対処が必要な状態だけを見つけやすくなっています。通知疲れを起こさず、必要なときにだけ気づける点が最大のメリットです。
通知が来すぎることはありませんか?
その心配はほとんどありません。一度通知した後は設定時間(初期値24時間)ロックがかかり、同じ状態でメールが連投されるのを防ぎます。加えて、対象外のパスやボットのアクセスも最初から除外しているため、無意味な通知はほぼ発生しません。ロック時間は0〜720時間の範囲で自由に調整できるので、サイトの運用スタイルに合わせて最適化できます。
サイトの表示速度やSEOに影響しますか?
影響はほぼありません。通常のページ表示では冒頭の判定だけで処理を終えるため、速度への負担はごくわずかです。実際に処理が走るのは404が発生したときだけで、その際に軽量なDB照合が1回行われるのみです。フロントのHTMLには一切手を加えないため、表示崩れやSEOへの悪影響もありません。パフォーマンスを重視するサイトでも安心してお使いいただけます。
カスタム投稿タイプにも対応していますか?
対応しています。設定画面で監視対象の投稿タイプを選択できるため、通常の投稿・固定ページに加えて、カスタム投稿タイプも監視対象に含められます。また、.htmlパーマリンクのサイト向けに、通知対象に含める拡張子を指定することも可能です。ECサイトの商品ページや実績・事例などをカスタム投稿タイプで運用しているサイトでも、サイトのURL構造に合わせて柔軟に設定できます。
まとめ|404の見逃しを「仕組み」で防ぐ
パーマリンク外れによる下層ページの404は、直し方は簡単でも「気づけない」ことが最大のリスクです。404 Notifyを入れておけば、公開ページが404になった瞬間にメールが届き、機会損失を最小限に抑えられます。無料で導入できるので、WordPressサイトの“保険”として、まずはお使いのサイトに設置してみてください。
この記事のまとめ
- パーマリンク外れで下層ページが404になる不具合は「気づけない」ことが最大のリスク
- 404 Notifyは「実在する公開ページの404」だけをメール通知する無料プラグイン
- ボット・攻撃・存在しないURLは通知対象外で、通知疲れを起こさない
- ロック機能でメール連投を防止。表示速度・SEOへの影響もほぼなし
- GitHubから無料でダウンロード可能(WordPress 5.5以上/PHP 7.4以上)
監修者
小森 健
本記事の監修者
ピークスマーケティング株式会社
代表取締役 小森 健
本記事の監修者
ピークスマーケティング株式会社 代表取締役
小森 健
ベンチャーから大手広告代理店まで、Web制作・デジタルマーケティング領域に従事。
複雑なWebサイト制作、LP制作、比較サイト制作、ECサイト構築、動画制作を中心に、情報設計・デザイントンマナ設計を起点としたフロントエンド設計・CSS・PHP実装まで一貫して対応。
本記事では、Web制作の実務経験をもとに、内容の正確性と実務での再現性の観点から監修を行っています。