【実務・中級編】timeタグとdatetime属性 – HTML実践ガイド

なぜ今さら `

現場でコードレビューをしていると、日付の表示に `` やただのテキストをポンと置いているケースに未だによく出くわします。「動けばいい」というスタンスならそれでもいい。しかし、Webを「ドキュメントの集まり」から「検索エンジンやAIが理解できる構造化データ」へと昇華させたいなら、`

今日は、中級エンジニアが意外と曖昧にしがちな `

なぜ `` タグが必要なのか

結論から言えば、「人間が見る表現」と「機械が読むデータ」を分離するためです。

例えば、Webサイトの更新日を表示する際、「2024年10月24日」と書けば人間は理解できます。しかし、Googleのクローラーや、ブラウザの拡張機能、あるいはアクセシビリティツールにとって、その文字列が「いつ」を指しているのかを確定させるのは、自然言語処理のコストがかかります。

ここで `

datetime属性の「ISO 8601」完全攻略

`datetime` 属性には、基本的に ISO 8601 という国際標準規格のフォーマットで記述します。これが守られていないと、機械可読性はゼロになります。

実務でよく使うパターンを3つ覚えておいてください。

1. 日付のみ: `YYYY-MM-DD`
2. 日時まで: `YYYY-MM-DDThh:mm:ss`
3. タイムゾーン付き: `YYYY-MM-DDThh:mm:ss+09:00`

特に、日本時間を扱うなら `+09:00` の記述は必須です。これを忘れると、サーバーサイドのUTC時刻と混同されるリスクがあります。

実践的なサンプルコード

以下に、ブログの記事詳細ページなどを想定した「コピペで使える」ベストプラクティスな実装例を示します。

公開日:


最終更新:


キャンペーン期間:
から
まで

ブラウザやAIはどう処理しているのか?

ここがエンジニアとして面白いポイントですが、主要なモダンブラウザは、`

しかし、Google検索のインデックスプロセスにおいては別です。Googleは `datetime` 属性の値を見て、検索結果のカルーセルやスニペットに表示する日付を決定します。つまり、このタグを正しく書くことは、コンテンツの「鮮度」を検索エンジンに直接伝えるためのダイレクトなSEO施策になるのです。

また、最近ではブラウザの「リーダーモード」の実装において、`

シニアからのアドバイス:現場での「妥協点」を見極める

最後に、実務で迷うポイントを一つ。「フォーマットが複雑な場合、どこまで `datetime` に書くべきか?」という悩みです。

私の経験則ですが、「機械がその時刻を確定できる最小単位」まで記述すれば十分です。例えば、秒単位まで不明な記事なら、無理に `00:00:00` と書く必要はありません。

また、CMSでテンプレートを組む際は、PHPやJavaScript側で `date(‘c’)` (ISO 8601形式で出力する関数) を使うのが鉄則です。手動で `datetime` を打つのはヒューマンエラーの温床ですから、必ず動的なレンダリングに組み込んでください。

`

次のプルリクから、ぜひ `

コメント

タイトルとURLをコピーしました