はじめに📝
Google Search Console 登録のために調べた Atom フィードの書式についての備忘録。
Atomフィードの書式例🧪
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Example Feed</title> <link href="http://example.org/"/> <updated>2003-12-13T18:30:02Z</updated> <author> <name>John Doe</name> </author> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <entry> <title>Atom-Powered Robots Run Amok</title> <link href="http://example.org/2003/12/13/atom03"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Some text.</summary> </entry> </feed>
Atomフィードの要素について🧩
要素の記載順序は仕様として定義されていない。任意の順序でOK。
要素 | feed | entry | 説明 |
---|---|---|---|
title |
必須 |
必須 |
フィードやエントリの人間が読めるタイトル |
id |
必須 |
必須 |
永久的で完全に一意的な識別子 |
updated |
必須 |
必須 |
フィードやエントリの(重要な)最終更新日 |
author |
必須[1] |
必須[2] |
作成者の情報。 |
link |
推奨[3] |
必須 |
|
summary |
|
推奨[5] |
エントリの要約や抜粋 |
category |
任意 |
任意 |
フィードやエントリのカテゴリ情報 |
rights |
任意 |
任意 |
権利情報 |
icon |
任意 |
|
フィードを象徴するアイコンへのURI |
published |
|
任意 |
エントリの作成日や利用開始日 |
atom:id 要素について
一度生成したら永久に変化しない値であることが要求される。難しい。
The 'tag' URI Scheme を利用するのがよさそう。
tag:<DNS or email>,<YYYY[-MM[-DD]]>:<URI文字列>
tag:example.com,2020-12-04:/blog/entry/123
atom:link 要素について
リンクの分類によって rel
属性値を指定する。
値 | リンク分類 |
---|---|
|
自身のフィード・エントリと同等のリソースへのリンクである場合 |
|
自身のフィード・エントリと別バージョンのリソースへのリンクである場合。 |
|
そのフィード・エントリに関するリンクならば何でも |
atom:author 要素について
<author>
<name>Alice</name>
<uri>https://alice.example.com</uri>
<email>alice@example.com</email>
<author>
必須 | 子要素 | 説明 |
---|---|---|
|
name |
作成者名 |
uri |
作成者に関連したURI |
|
|
作成者のe-mailアドレス |
atom:updated, published 要素の日時形式について
だいたい ISO 8601 形式と同じ。
<YYYY-MM-DD>T<hh:mm:ss>+<hh:mm>
2020-12-04T12:34:56+09:00
Atomフィードの検証🔍
W3C Feed Validation Service を利用する。
URLを指定したり直接ソースをコピペして検証できる。
直接ソースを書いて検証する場合、atom:feed
要素の <link rel="self" href="…" />
はドキュメント自身を指定できないので必ずエラーメッセージが表示されるっぽい。
フィード配信対象のページ🏠
<head>
セクションで作成したフィードへのリンクを指定しておくと利用者にフレンドリーでいいらしい。
(拡張機能などで簡単に購読できるようになるため)
<head>
<link rel="alternate" type="application/atom+xml" href="/feeds/atom.xml" title="Your Site Name" />
...
</head>
終わりに😎
以上でとりあえず Atom フィードが書けるはず。
atom:id
については難しくてどうするのがベストプラクティスなのかわかんない。
まあ、動けばいいやろの精神。Google Search Console では動いた。