Analog Studio

RSSの配信を始めました!ついでにRSS2.0の簡単な書式を説明します!

概要

RSS 配信を開始したので紹介します。

RSS配信用URL

以下 URL にて RSS を配信しています。
このサイトで紹介している Web 関連で役立つ情報などを配信していきます。

FeedlyでRSS登録

Feedly で登録するには以下ボタンをクリックして下さい。

Feedly に登録

InoreaderでRSS登録

Inoreader で登録するには以下ボタンをクリックして下さい。

Inoreader に登録

RSSの生成方法

RSS は RSS2.0 の書式に従って自動生成するスクリプトを PHP で自作しています。
記事を投稿するタイミングで必要な情報を RSS 用のファイル (rss.xml) に追加しています。

サイトマップのように記事をクロールして情報を取得するわけではないので、汎用性はありません。
このサイトの記事投稿機能の一部として動いています。

RSS2.0の書式

ついでなので、RSS2.0 の書式を簡単にまとめます。
指定できるオプションは他にもあるので気になる方は検索してみて下さい。

全体の構成

まずは、全体の構成を見ていきます。

<?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <!-- RSSの基本情報ここから --> <!-- RSSの基本情報ここまで --> <image> <!-- 画像情報ここから --> <!-- 画像情報ここまで --> </image> <item> <!-- 記事情報ここから --> <!-- 記事情報ここまで --> </item> ・・・ (記事はこの記述を繰り返す) ・・・ <item> <!-- 記事情報ここから --> <!-- 記事情報ここまで --> </item> </channel> </rss>

最初に XML のバージョンと文字エンコードを指定します。
バージョンは "1.0" として下さい。(1.1である必要が無いので1.0にすることを推奨されています)
文字エンコードは指定しても良いですが、指定しなくても自動で認識されます。
私は分かりやすいように書いています。

次に RSS のバージョンを指定します。今回は RSS2.0 の書式なので "2.0" を指定します。
あとは、サイト情報や画像情報、記事情報を記載します。

RSS基本情報

RSS の基本情報には以下の情報を登録しておけば良いでしょう。

項目 必須 情報の内容
title * RSS の名前 (サイト名など)
description * RSS で配信するサイトの簡単な説明
link * RSS を配信するサイトの URL
language - 使用言語 (日本語なら "ja" )
pubDate - 最新記事の投稿日時 (RFC822形式)
lastBuildDate - RSS ファイルの作成値日時 (RFC822形式)
generator - 作成ツール (テキストエディタなど)
webMaster - 管理者の連絡先 : メールアドレス (管理者名)
copyright - 著作権表示
<title>Web制作Tips | Analog Studio</title> <description><![CDATA[<div><img src="https://web.analogstd.com/tips/common/rss.png"></div>Web制作で役に立つ情報をまとめています。Webサイト制作も承りますので、お気軽にお問い合わせ下さい。]]></description> <link>https://web.analogstd.com/tips/</link> <language>ja</language> <pubDate>Tue, 20 Nov 2018 22:11:56 +0900</pubDate> <lastBuildDate>Tue, 20 Nov 2018 22:13:27 +0900</lastBuildDate> <generator>RSS Creator by PHP | Analog Studio (web.analogstd.com)</generator> <webMaster>admin@web.analogstd.com (Daisuke Yamamoto)</webMaster> <copyright>Copyrightc Analog Studio All Rights Reserved.</copyright>

RFC822 形式の日時は PHP だと date(DATE_RSS) という関数で取得することができます。
任意の時刻の場合は第2引数に strtotime() 関数などで1970年からの秒数をしていします。
例)2018/11/23 23:44:00 → date(DATE_RSS, strtotime('2018/11/23 23:44:00'))

<description> の <![CDATA[ ~ ]]> は、~に入る HTML タグなども文字列として扱うようにする XML での書き方です。
また、説明文の先頭に画像を挿入していますが、これは RSS リーダーにサムネイル画像を認識させる為です。
OGP タグ (SNS 等でシェアした時のサムネイルや説明文などを設定する <META> タグ) からサムネイルを表示してくれるリーダーもあるようですが、非対応のものは最初に現れた画像を使うことが多いのでこのように設定しています。

RSS画像情報

RSS のサムネイル画像の設定情報です。

項目 必須 情報の内容
title - RSS の名前 (サイト名など)
url - サムネイル画像の URL
link - RSS を配信するサイトの URL
width - 画像の横幅 [px]
height - 画像の縦幅 [px]
<image> <url>https://web.analogstd.com/tips/common/rss.png</url> <title>Web制作Tips | Analog Studio</title> <link>http://web.analogstd.com/tips/</link> <width>400</width> <height>400</height> </image>
単一記事の情報

RSS で配信する記事の情報をまとめます。

項目 必須 情報の内容
title - 記事タイトル
link - 記事の URL
description - RSS で配信するサイトの簡単な説明
author - 執筆者の連絡先 : メールアドレス (執筆者名)
category - カテゴリ名
pubDate - その記事の投稿日時 (RFC822形式)
<item> <title>Font Awesome 5 Free を疑似要素で使う方法と高速化のヒント</title> <link>https://web.analogstd.com/tips/posts/css/how2use-font-awesome5.php</link> <description><![CDATA[<div><img src="https://web.analogstd.com/tips/photo/upload/resized/181120141941-09070d6a.png"></div>SNSのアイコンなどを文字のように…(以下略)]]></description> <author>admin@web.analogstd.com (Daisuke Yamamoto)</author> <category>css</category> <pubDate>Tue, 20 Nov 2018 22:11:56 +0900</pubDate> </item>

RFC822 形式の日時は PHP だと date(DATE_RSS) という関数で取得することができます。
任意の時刻の場合は第2引数に strtotime() 関数などで1970年からの秒数をしていします。
例)2018/11/23 23:44:00 → date(DATE_RSS, strtotime('2018/11/23 23:44:00'))

<description> の <![CDATA[ ~ ]]> は、~に入る HTML タグなども文字列として扱うようにする XML での書き方です。
また、説明文の先頭に画像を挿入していますが、これは RSS リーダーにサムネイル画像を認識させる為です。
OGP タグ (SNS 等でシェアした時のサムネイルや説明文などを設定する <META> タグ) からサムネイルを表示してくれるリーダーもあるようですが、非対応のものは最初に現れた画像を使うことが多いのでこのように設定しています。

RSSの購読(シェア)ボタンの設置URL

RSS の購読をしてもらう為のボタンを自作する場合に必要になる URL は以下になります。
URL の部分はご自分の RSS ファイルアドレスに変更して下さい。

Feedly

一番有名で良く使われている Feedly は以下です。

https://feedly.com/i/subscription/feed/https://web.analogstd.com/tips/rss.xml

Inoreader

個人的に使いやすいなと思う Inoreader は以下です。

http://www.inoreader.com/?add_feed=https://web.analogstd.com/tips/rss.xml

まとめ

以上、RSS を配信しましたというおしらせと RSS2.0 についての簡単な書式をまとめました。 良かったら購読して下さいね!