Googleでは検索結果のスニペットに日付が表示される場合があり、ブログなどの記事に公開日や更新日があると、その日付が表示されることがある。 私が運営しているいくつかのサイトでは、公開日と更新日の両方を書いている場合、検索結果に更新日が表示されているものもあったが、公開日のままのものもある。
できれば更新日を優先して欲しいと調べたら、アルゴリズムが自動で判別していて、コントロールするのは無理だとGoogleの人が言っているようなので、確実な方法はない。
だが、無理でもいろいろ試してみた。 「公開日」→「更新日」の順に書くからGoogleのボットが先に公開日を認識してしまうのかもと思い、書く順番を逆にしてみたがダメだった。
私のサイトには、そのページで配布しているソフトウェアのリリース日を書いているページがあり、なぜか検索結果にリリース日が表示されていた。 ある意味すごいというか、正しいというか。 また、ブログではないツール系のサイトで、その更新情報をページの下部に日付とともに書いておいたら、その日付がスニペットに表示されているものもあった。
いずれにしても、検索した人はおそらく新しい情報を好むだろうから更新日を優先して表示して欲しいところだ。
HTML5 では <time> (mozilla.org) というタグがあり、これを使って時間が書かれていることを伝えられる。 ただ、これは公開日などを伝えるものではなく、単に時間が書かれていることを表すに過ぎない。
日付の表記はいろいろあるが、例えば以下のように書く。
更新:<time>2018-06-01</time>
さらに念には念を入れて Date (schema.org) などの microdata を記述する。 dateCreated や datePublished は公開日、dateModified は更新日を示す。
公開:<time itemprop="dateCreated datePublished">2017-02-15</time> 更新:<time itemprop="dateModified">2018-06-01</time>
検索結果の上位に表示されるサイトでは日付をどのように記述しているのか調べた。
NAVERまとめは更新日しか書いていない。 ページ上部に「2017年07月22日」の形式で書かれている。 <time>タグは使っていない。 スニペットには概ねこの日付が表示されている。
Yahoo!知恵袋は質問と回答ごとに投稿日時が書かれている。 日付は「2017/7/22 23:36:47」の形式で書かれている。 <time>タグは使っていない。 スニペットには回答の投稿日が表示されているものもあれば、質問の投稿日が表示されているものもあるが、意外と回答の投稿日を拾っている。
Qiitaは投稿日を表示し、更新した場合はその日付を表示している。 ページ上部に「2017年07月21日に投稿」、「2017年04月25日に更新」など表示され、編集履歴も分かる。 <time>タグを使っている。 スニペットには概ねこの日付が表示されている。
MDN は気づきにくいが、ページの下部に更新日を表示している。 例えば、MDNの<time>要素のページでは「最終更新者: Flat, 2017/03/27 0:50:42」のように書かれていて、この日付が検索結果に表示されている。 <time>要素を使っている。
Wikipedia の更新日は分かりにくいが、各項目のページの下の方を見ると「最終更新 2017年7月22日 (土) 15:31 (日時は個人設定で未設定ならばUTC)」というように書かれている。 どの項目にも書かれているが、Wikipedia は特別扱いなのか、検索結果には更新日など日付は表示されない。 Googleは年月日表記でも認識できているようなので、表記の問題ではなさそうだ。 また、ページ上部の「履歴表示」タブから変更履歴を見ることもできる。
個人的には記事の更新日だけでなく、公開日も書いた方が良いというか、閲覧者に親切だと考えている。 変更履歴が分かればより良い。 紙の本も改訂後、初版の発行日を書いている。 ただ、記事に複数の日付を書いた場合、Googleが正しくそれを認識してくれるとは限らない点や、上述の大手サイトでも更新日しか書いていないサイトも多い点を考えると、記事には更新日だけ書くのが無難なのかもしれない。
Googleは高確率で日付を認識してくれるようなので、<time>要素は使っても使わなくても良いだろう。 ただ、Wikipediaの記事は更新日が表示されないし、スニペットに古い日付があると閲覧者にスルーされる可能性もあるので、日付を書かないのがサイトの運営上、アクセスしてもらうという点では最も良いのかもしれない。