WordPressで投稿記事の公開日を最終更新日を表示させる方法を記します。
またSEO的にもベターな書き方なんかもご紹介します。
公開日と最終更新日の表示
まず、なにも考えずに表示だけさせる場合のご紹介。
テンプレート内に以下のよう書きます。
公開日
1 |
<?php the_time('Y/m/d');?> |
最終更新日
1 |
<?php the_modified_date('Y/m/d') ?> |
公開日・最終更新日を表示させる目的
理由は2つ!
- SEO対策として有効
- ユーザーにいつ書いた記事なのかを伝える
SEO対策として有効
Googleは新しい情報を評価しているようです。
記事をその時に合わせて修正・加筆するなどリライトして「最終更新日」をGoogleに伝えるようにすることがSEO対策となります。
ユーザーにいつ書いた記事なのかを伝える
情報を求めているユーザーは古い記事より新しい記事を好む方がいます。
僕の場合、WEBの技術系記事を検索することが多々あるんですが、古い記事だと今は使えなかったり、より良い書き方があったりします。
そういったことから僕はGoogle検索する時には↓↓の画像の赤枠部分にある日付をチェックします。
上記2つの理由から投稿記事に公開日・最終更新日を表示させることって、自分にもユーザーにもメリットがあるんです。
そうなるとより良く公開日・最終更新日を表示させたほうが良いですよね!?
では、ここからより良い書き方をご紹介しまっす!
timeタグで囲んで属性を付与する
Googleさんに時間を丁寧に伝えるために以下のものを付与します。
- HTML5のtimeタグで公開日と最終更新日を囲みます。
- datetime属性
- itemprop=”datePublished”
- itemprop=”dateModified”
「時間」はココに書いてありますよ~っ伝えます。
正確な時間は「2021-02-26T00:53:21+09:00」などと伝えます。
公開日ですよ~って伝える
更新日ですよ~って伝える
公開日
1 2 3 |
<time itemprop="datePublished" datetime="<?php the_time('c');?>"> <?php the_time('Y.m.d'); ?> </time> |
出力結果
1 |
<time itemprop="datePublished" datetime="2021-02-26T00:53:21+09:00">2021.02.26</time> |
最終更新日
1 2 3 |
<time itemprop="dateModified" datetime="<?php the_modified_date('c');?>"> <?php the_modified_date('Y/m/d') ?> </time> |
出力結果
1 |
<time itemprop="dateModified" datetime="2021-02-26T00:53:18+09:00">2021/02/26</time> |
公開日と最終更新日の両方を表示する時は上記の書き方で良いんですけど、投稿記事を更新していないと両方とも同じ年月日になるので一工夫します。
投稿記事を更新していない場合は公開日を表示。更新している場合は更新日を表示
functions.phpに追記
1 2 3 4 5 6 7 8 9 10 11 |
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); } } |
テンプレートタグに設置
1 2 3 4 5 6 7 8 9 10 11 |
<?php if (get_mtime('c') == null) : ?> <time class="entry-date date" itemprop="datePublished" datetime="<?php the_time('c');?>"> <?php the_time('Y.m.d'); ?> </time> <?php endif; ?> <?php if (get_mtime('c') != null) : ?> <time class="update date" itemprop="dateModified" datetime="<?php the_modified_date('c');?>"> <?php the_modified_date('Y/m/d') ?> </time> <?php endif; ?> |
まとめ
短めのコードでメリットしかない時間の表示方法のご紹介でした。
コピペしたらそのまま利用できるので皆さんも是非利用してみてください。