ワードプレスで特定ページにアクセスしたときに強制的に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ドクターまでお送りください