ワードプレス404エラーページのヘッダーで404ステータスを返す
2009年8月末、 80codeサーバで運営中のワードプレスがgoogleウェブマスターツールで未確認の状態になっているのに気付きました。 確認用htmlファイルを再アップロードして確認をやり直してもダメで、 理由は「404ページのヘッダーで200ステータスを返す」からだそうです。
実際googleウェブマスターのヘルプには 「Googleでは404ページのヘッダーで404ステータスを返すサイトのみ確認を行っています。」と書かれています。
このような場合、サーバ設定を変更するかメタタグによる確認をするよう書かれていますが、 ワードプレスのカスタマイズで何とか出来ないか調べてみました。
するとこのサイトの記事に対処法がありました。
まずワードプレスの「管理」→「ファイル」→一般ファイルの「.htaccess」の一番上に
ErrorDocument 404 /index.php?error=404
と記述し、さらに
「表示」→「テーマエディタ」の右側に羅列されているファイルの
・ページ(page.php)
・シングルポスト(single.php)
・アーカイブ(archive.php)
の一番上にそれぞれ
<?php if (!have_posts()) {
header("HTTP/1.1 404 Not Found");
include (TEMPLATEPATH . '/404.php');
return; } ?>
を追加。 これによって、 そもそも404.phpの内容が表示されていなかった管理人のワードプレスが404.php通りのエラーページを表示するようになり、 そのエラーページも404ステータスを返すようになりました。 (Firefoxやgoogleクロムだと毎回404.phpの内容が表示されますが、IEだ簡易エラーメッセージが表示されます。)
そしてgoogleウェブマスターツールでもちゃんと「確認」に成功しました。