忍者ブログ
16 August

クロールエラーをなくしたい 404.phpを作る ワードプレス

404.phpを作る


index.phpをコピーしてファイル名を変更する
<p>指定されたページは存在しませんでした</p>
<a href="<?php echo home_url(); ?>">トップページへ戻る</a>
とでも書き込む

.htaccessの先頭
ErrorDocument 404 /index.php?error=404
と書き込む
wpが入ってるフォルダを作っているなら
ErrorDocument 404 /blog/index.php?error=404
などと書きこむ
※wpがインストールされてるフォルダ内の.htaccessに書く
上の階層にもあるしよくわかんなくて色々やった

page.php single.php archive.php index.php(記事があれば)の先頭(get_headerの上)に
<?php if (!have_posts()) {
header("HTTP/1.1 404 Not Found");
include (TEMPLATEPATH . '/404.php');
return; } ?>

と書き込む
※404.phpに書いてはいけない。適当に書いたら存在しないページが真っ白になった。
http://www.koikikukan.com/archives/2007/05/21-022525.php

wpのテンプレを使用すると、記事のとこには大抵「記事がなかったらこの文を出す」っていう命令があると思います。でもそれだと404をgoogleにだしてないということになるらしいので、無いページは無い!ということをGoogleに伝えるために、記事がない場合は404.phpを出すようにするコードです。

既に削除したり変更したスラッグってありますよね。
WPは簡単にページが作れるので作っちゃ捨て、みたいなとこあると思います。
でも一定期間おいといてその間にクロールがきちゃってURL拾われるとやばいです。
削除したあとにまたクロールが来てページがないよーって言われます。
この404クロールエラーは検索結果に影響しないってGoogleがいってるのでほっといていいと思うんですが、色々と煩い人もいるのでなくす必要がある人もいるかと思います。

手っ取り早く404クロールエラーをなくすのはrobots.txtでクロールが来ないようにブロックすることみたいです。でもWPで適当に記事作って捨ててるとゴミがたくさん404エラーで出てきてrobots.txtが汚くなります。なんかそれは嫌なんですよね。

次に無いページからリダイレクトすることです。
でもそれは「ソフト404エラー」といってあまりよろしくないらしいです。
リダイレクトは古いURLから新しいURLに飛ばすのが本来の使い方っぽい?
でもWPは初期設定で.htaccessにindexにリダイレクト命令が書き込まれています。
だから色々設定が必要なんです。

どこかの誰かが間違ったURLを貼り、そのリンクを誰かがクリックしたとしても404クロールエラーが出るそうです。どうしようもないよね。私のせいじゃないんですけど。
使ってるスラッグがおかしくて機能してないならともかく、削除していらないスラッグのことでエラーでてどうこういわれるとかイライラするわ。
PR