wordpress」カテゴリーアーカイブ

WordPressで記事の最終更新日を簡単に表示し、SEOでも検索結果に反映されるようにする方法

そういえば、デフォルトのWordPressのテンプレートでは、最終更新日が出ていません。ないよりはあった方が見てくれるユーザに親切ですし、検索エンジンにも親切なようです。記事の「最終更新日」はGoogleの検索ロジックでも有効なパラメータであるというお話が昔からされています。最近では、Google Web Master toolにエラーとして出る可能性もある、hentry情報(microformats構造化データ)としても最終更新日や投稿日は重要なファクターです。

というわけで、簡単にWordPressサイトに最終更新日と投稿日を表示するようにしてみましょう。

やることは、
1, function.phpにコード追加。
2, single.php等該当のphpにコード追加。

以上となります。

基本的な内容は、公開日と最終更新日をページに表示させる | れんさばインフォから引用しています。ありがとうございました。

1, function.phpにコード追加。

WordPressの管理画面から、外観 > テーマ編集 と選択し、「function.php」を選択。

以下のコードを「function.php」の任意の箇所に挿入します。

/*
  get_the_modified_time()の結果が
  get_the_time()より古い場合はget_the_time()を返す。
  同じ場合はnullをかえす。
  それ以外はget_the_modified_time()をかえす。
*/
 
function get_mtime($format) {
    $mtime = get_the_modified_time('Ymd');
    $ptime = get_the_time('Ymd');
    if ($ptime > $mtime) {
        return get_the_time($format);
    } elseif ($ptime === $mtime) {
        return null;
    } else {
        return get_the_modified_time($format);
    }
}

2, single.php等該当のphpにコード追加。

<div align="right">
<br /><span class="entry-date updated"><?php if ($mtime = get_mtime('Y年n月j日')) echo '最終更新日:', $mtime; ?></span><br />
投稿日:<span class="entry-date entry-date updated"><?php the_time('Y年n月j日') ;?></span>
</div>

これで簡単に記事の投稿日だけでなく、最終更新日もでるようになります。また、span classを利用して、検索結果に反映されるmicroformatsにも対応しています。一度しか投稿が無い場合は、最終更新日は表示されないですが、その場合にも構造化データは entry-date updated としているのも特徴です。

ちなみに、「updated がありません」というウェブマスターツールの構造化データ(hentry)のエラーへの対応策としても、これ有効だと思います。私はまだ試していませんでしたが、ウェブマスターツールでテストしたら問題ありませんでしたのでこの方法で良いのだと思います。

まさにこの本のタグの話だと思います。
[amazonjs asin=”4839925445″ locale=”JP” title=”マイクロフォーマット ~Webページをより便利にする最新マークアップテクニック~ (Web Designing BOOKS)”]