小ネタです。
Wordpressで使っているテーマが記事の「公開日」だけしか表示してくれないので、「更新日」も表示するよう修正しました。
結論から言うと以下のようなコードをテーマに埋め込むだけです。
<span title="公開日">
公開日:<time itemprop="datePublished" datetime="<?php the_time('c');?>"><?php the_time('Y-m-d');?></time>
</span>
<?php if( get_the_time('Ymd') !== get_the_modified_date('Ymd')){ ?>
<span title="更新日">
更新日:<time itemprop="dateModified" datetime="<?php the_modified_date('c');?>"><?php the_modified_date('Y-m-d'); ?></time>
</span>
<?php } ?>
修正結果
「公開日」と「更新日」が異なる場合は以下のように両方表示するようになります。
「公開日」と「更新日」が同じ場合は「公開日」だけを表示します。
解説
WordPressで公開日と更新日を取得する
それぞれ次の関数が用意されており、テーマ内から利用できます。
- 公開日
- 表示する場合は
the_time()
、処理に利用する場合(戻り値として欲しい場合)はget_the_time()
- 更新日
- 表示する場合は
the_modified_date()
、処理に利用する場合(戻り値として欲しい場合)はget_the_modified_date()
引数はPHPのdate関数と同じようです。
検索エンジン対策
今回の目的は人間に対する情報を増やすというものですが、Google先生の検索結果に更新日を出したかったというのがあります。現在は以下のように公開日だけが表示されていますが、更新したらそっちの日付を出して欲しいじゃないですかw
というわけでdatePublished
で公開日、dateModified
で修正日をそれぞれ指定しています。AMPページの場合は構造化データとして用意してあげるのが良いみたいですが、このブログは基本PC向けなので今回はこれで様子を見ることにしました。
<time itemprop="datePublished" datetime="<?php the_time('c');?>"><?php the_time('Y-m-d');?>
<time itemprop="dateModified" datetime="<?php the_modified_date('c');?>"><?php the_modified_date('Y-m-d'); ?></time>
採用されるとは限らない
Googleの中の人いわく、これらの情報を表示したとしてもGoogleが公開日と更新日のどちらの日付を採用するかはアルゴリズムによって自動的に決定されるため、コントロールすることは出来ないそうです。
検索結果で表示させたい日付けをGoogleに直接伝える方法はない。
(中略)
しかし、アルゴリズムで自動的に処理する方を選んだ。最終更新日から取得するページもあれば、最初の公開日を取得するページもある。どの日付けを表示するのが最も適切かをアルゴリズムが判断する。
※「海外SEO情報ブログ」より
とは言え、やらないよりはやっておいた方が良いですよね。うまく機能してくれれば儲けものくらいの気持ちが良さそうです。
参考ページ
- テンプレートタグ/the time
- テンプレートタグ/the modified time
- Google 検索に対して公開日を指定する – Google Search Console ヘルプ
- 公開日と更新日の両方を構造化データでマークアップすることをGoogleは推奨 – 海外SEO情報ブログ
- Google検索結果のスニペットに表示される日付けはアルゴリズムによって完全に自動化、構造化データをマークアップしても指定できない – 海外SEO情報ブログ
このブログを応援する
お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。