WordPress のSEO対策の1つとしてオススメなのが
HTTPヘッダー情報の Last-Modified のフィールド値です。
WordPress のデフォルトでは、Last-Modified の値が出力されない為、
記事を修正したりページを更新しても検索結果に反映されなかったり
bot に正確に収集されないケースがあります。
これでは、折角のキーワード対策も台無しになります。
各種対策方法は、ありますが WordPress のコアクラスは、
バージョンアップ時などに上書きされてしまう為、
ここでは、テーマファイルにある header.php のカスタマイズ方法を公開します。
※簡易的な方法なので全てのケースは、検証していません
※ご自身の判断で使用してください
header.php ファイルをエディターで開いて先頭のPHPタグに以下のコードを記述してください
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
header('Cache-Control: private'); $_sw = 0; if (have_posts()) : while (have_posts()) : the_post(); if ($_sw == 0) { if (strtotime($post->post_modified) < getlastmod()) { header("Last-Modified: " . date("D, d M Y H:i:s", getlastmod()) . " GMT"); } else { header("Last-Modified: " . date("D, d M Y H:i:s", strtotime($post->post_modified)) . " GMT"); } $_sw = 1; } endwhile; endif; |
投稿記事の場合、最初の1件目を参照し
getlastmod (現在のページの最終更新時刻)と
$post->post_modified (投稿の最終更新時刻)を比較して
最新の日付を Last-Modified フィールド値としてセットします。
確認方法:
IEで確認する場合、以下のフリーソフトをオススメします。
ieHTTPHeaders
http://www.blunck.info/iehttpheaders.html
参考:
当ホームページの場合、以下のようなリクエストレスポンスを返します。
HTTP/1.1 200 OK
Date: Wed, 23 Nov 2011 14:44:55 GMT
Server: Apache
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Last-Modified: Tue, 23 Aug 2011 11:18:50 GMT
Cache-Control: private
Pragma: no-cache
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Length: 19986
Connection: close
Content-Type: text/html; charset=UTF-8