ワードプレスで特定ページにアクセスしたときに強制的に403や404ステータスを返してページを表示しない方法を解説いたします。


401,402,403,404ステータスヘッダーとは?

ステータスヘッダーとはウェブサイトのページを表示する際にサーバーから返還するアクセスの可否等の状況を示す数値です。200の場合正常にサイトのページを出力できたことを示します。
401から404は表示エラーを示しています。

401 ページ表示のための何らかのログインができなかった場合に返します

402 支払いが必要なページで支払い情報が確認できなかった時に利用されるコードです

403 アクセスしようとしたページの閲覧が禁止されている場合に返還するコードです

404 アクセスしようとしたページが存在しない場合に返すコードです

これらのコードを返したページは検索エンジンからも排除されます。

ワードプレスで特定のURLにアクセスがあった場合にエラーコードを返し、強制的に閲覧を停止する

ワードプレスで任意のページにアクセスがあった場合に上記エラーコードを返還し表示を強制的に停止するコードは下記のようになります。
(テーマのfunctions.phpに記載すると動作します)

if (false !== strpos($_SERVER['REQUEST_URI'], 'URLに含む文字列')) {
    status_header(404);
    exit('アクセスできませんでした');
}

$_SERVER[‘REQUEST_URI’]は現在アクセスしているドメイン以下のURLが自動で入っていますので、strposでこのURLに特定も文字列が入っている場合にのみその下の処理を行います。

※URLに含む文字列の部分にアクセス禁止したいURLを入力します。

status_headerはワードプレスの組み込み関数でステータスヘッダーを設定するためのものです。この中に401~404のステータスを入力します。

最後にexit(‘アクセスできませんでした’); で表示を強制停止します。

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマのカスタマイズ、移行、バグ修正、復旧などのご依頼・ご相談はお気軽にWPドクターまでお送りください