SNSやサイトでのRSSフィードの出力や取得方法などについて解説しています。
RSSとは
RSSとは、ニュースやブログ、個人サイトなど各種ウェブサイトの更新情報を配信するための文書フォーマットのことです。RSSの正式名称はバージョンによって異なりますが、本記事でで主に解説しているRSS2.0は「Really Simple Syndication」という名称で呼ばれています。
RSSはRSSリーダーと呼ばれるツールを使用してフィードを購読することで、自動で情報を取得できます。
RSSはWordPress(以下WP)や各種ブログサービスなどで自動的に生成されるものもありますが、HTMLのように自分でテキストエディタを使用して作成することも可能です。
RSSには主に以下の種類・派生があり、とくにRSS1.0とRSS2.0は一見互換性があるようにみえますが、これらは開発者(企業)も仕様もまったく別の文書フォーマットです。以下は、それぞれのかなりざっくりとした特徴です。
種類 | 特徴 |
---|---|
RSS1.0 | テキストのみの配信 |
RSS2.0 | 文字の装飾やリンク設置などが可能 |
Atom | RSS2.0ベース / 配信と編集の2フォーマットが用意されている |
いろいろありRSSを配信しているサイトはかなり減っていましたが、現在また少しずつ増えているようです。
この記事では、現在主に利用されているRSS2.0を前提として以下掲載しています。
RSSの配信・取得方法
ソースコードの<head></head>
内に<link rel="alternate" type="application/rss+xml" ~>
と記述があれば、だいたいRSSフィードがが配信されています。
サイトによってはサイト内にRSSフィードへのリンクを貼ってくれているところもあります。
SNSでのRSS配信・取得方法
BlueskyやMisskey/Mastodonでは、以下でRSSを配信・取得できます。
Bluesky
アカウントのプロフィールページ末尾に/rss
をつける。
以下は当サイトのBlueskyアカウントのRSSフィードです。
https://bsky.app/profile/parts-tips.bsky.social/rss
ただしRSSを取得したいアカウントが「ログインしてないとpostを見れないようにする」に設定していると、RSSを取得できません(RSSフィードのURLにアクセスすると、エラーメッセージが表示されます)
Misskey/Mastodon
アカウントのプロフィールページ末尾に.rss
をつける。
てがろぐでのRSS配信・取得方法
にししふぁくとりーさまで配布している「てがろぐ」にもRSS機能が備わっています(スキンによって、以下title
やhref
の表示が違います)
<link rel="alternate" type="application/rss+xml" title="[サイト名] RSS Feed" href="https://[ドメインURL]/?mode=rss">
てがろぐでRSS機能を配信する場合は、管理画面の「設定」>「補助出力」のタブ「RSSフィードの出力」項目で設定します。
詳しくは公式ドキュメントをご確認ください。
- てがろぐ 使い方・設定方法 - にししふぁくとりー RSSフィードの出力
- てがろぐ カスタマイズ方法 - にししふぁくとりー RSSフィード用スキンの作り方・使い方
WPでのRSS配信・取得方法
WPも通常は初期状態でRSSフィードが配信されています。
<link rel="alternate" type="application/rss+xml" title="[サイト名] » フィード" href="https://[ドメインURL]/feed/"/>
<link rel="alternate" type="application/rss+xml" title="[サイト名] » コメントフィード" href="https://[ドメインURL]/comments/feed/"/>
WPの場合はコメントのRSSフィードも配信されます(投稿のカテゴリページの場合はカテゴリのフィードも)
サイト全体のフィードのみでよければ、以下の方法でコメントとカテゴリフィードを削除することが可能です。
注意事項
この方法はテーマファイル内の設定に関するファイルであるfunctions.php
を編集します。編集する際は事前に必ずバックアップをとってください。
また、既存のテーマをカスタマイズする場合は、動作に十分ご注意ください。
以下、必要箇所のみ記載しています。
<?php
/* ==================== */
/* RSSフィード調整 */
/* ==================== */
//いったんすべてのRSSフィードを<head>から削除する
remove_action('wp_head','feed_links', 2);
remove_action('wp_head','feed_links_extra', 3);
remove_action('wp_head','rsd_link');
//サイト全体のフィードのみ追加する
function meta_feed() {
echo '<link rel="alternate" type="application/rss+xml" title="' .get_bloginfo('name'). ' RSSフィード" href="' .get_bloginfo('rss2_url'). '"/>';
}
add_action('wp_head', 'meta_feed', 2);
?>
その他ブログサービス等でのRSS配信・取得方法
はてなブログやnote、しずかなインターネットなど、各種ブログサービスなどでは、RSSフィードが配信されています。
<link rel="alternate" type="application/rss+xml" title="[RSSフィードタイトル]" href="[RSSフィードのURL]">
クローラーによるRSSフィードへのアクセスを拒否する
自サイトの場合、クローラー(検索bot等)によるRSSフィードへのアクセスおよび検索エンジンでの表示を拒否するには、.htaccess
ファイルとrobots.txt
を利用します。クローラーの種類によっては万全でない可能性もありますが、Googleなど主要な検索エンジンクローラーに対しては有効かと思います。
.htaccess
ファイルおよびrobots.txt
ファイルは、サイトのトップページと同じ階層に作成・アップロードしてください。
.htaccess
RSSフィードがファイルとして配信されている場合(rss.xml
など)は、この方法が利用できます。この記述をすることにより、検索エンジンでの検索結果表示を拒否できます。
以下を.htaccess
ファイルに記載します。
注意事項
サーバーの.htaccess
ファイルを編集する際は、.htaccess
ファイルがすでに存在している場合は必ずバックアップを取ってください。
<Files "rss.xml">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
rss.xml
のファイル名は適宜修正してください。
サイト内のすべての.xml
ファイルを対象にする場合は、以下のように記述します。
<Files ~ "\.xml$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
余談ですが、.xml
以外の拡張子も対象にする場合は、以下のように記述します。
以下の例では、XMLファイルの他にMP4、各種画像類を対象にしています。
<Files ~ "\.(xml|mp4|jpe?g|gif|png|webp)$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
robots.txt
robots.txt
ファイルでは、クローラーに対してアクセスを制御します。robots.txt
ファイルはテキストエディタなどで作成できます(普通のtxtファイルです)
以下はRSSファイルの記述例です。上記の.htaccess
の方法とあわせて利用します。ファイル名は適宜変更してください。/
(スラッシュ)はじまりなので、サイトのトップページのある階層になります。
User-agent: *
Disallow: /rss.xml
以下はWPの記述例です。
User-agent: *
Disallow: /feed/
以下はてがろぐでの記述例です。
User-agent: *
Disallow: /[てがろぐのディレクトリ名]/?mode=rss
以上です。