ゆるくはじめるWordPress.

RSS/Atomフィードでブログの更新情報を配信する

rss-atom-feed-top

ブログや企業のサイトによく設置されているオレンジ色のRSSボタン。フィードリーダーを使い始めるまではこれが何なのか正直よくわかっていなかったのですが、使ってみるとこれがとても便利なんです。今回はそんなRSS/Atomフィードについて使い方をまとめてみました。サイトのアクセスアップにも繋がるので、是非有効に使ってみてください!

RSSとは

『RSS』はブログやサイトの情報を簡潔にまとめてくれる機能の事で、『RSSフィード』をサイトに設置しておけば、これを利用して『フィードリーダー』でサイトの更新情報を受け取る事ができます。
直接サイトを訪れなくても更新の内容を知らせたり、受け取ったりできるので、サイトの管理者側、訪問者側どちらにもメリットがあります。


自動フィードリンク機能を有効化

functions.php

//自動フィードリンク
add_theme_support( 'automatic-feed-links' );

functions.phpに上記コードを追加すると、サイトのヘッダーにRSSフィードへのリンクが出力されるようになります。

ブラウザから購読

Firefox購読メニュー

ヘッダー内にフィードのリンクがあると対応ブラウザから直接フィードリーダーに登録できるようになります。
Firefoxにはデフォルトで購読ボタンが付いており、Chromeは『RSS Subscription Extension』などの拡張機能を追加することでアドレスバーにボタンが付いて購読できるようになります。

Chrome購読ボタン

RSSボタンを設置する

RSSボタンを設置しておくと、これも対応ブラウザからクリックする事で購読画面が表示されるようになります。サイトのヘッダーやサイドバーによく設置されていますね。


WordPressが生成するフィードの形式

WordPressは標準で様々な形式でフィードを生成できるようになっており、それぞれbloginfo()でURLを呼び出すことができます。

‘rdf_url’ RDF/RSS 1.0フィード
‘rss_url’ RSS 0.92フィード
‘rss2_url’ RSS 2.0フィード
‘atom_url’ Atomフィード

参考:WordPress フィード配信 – WordPress Codex 日本語版


フィード形式の違い

フィードの内容を見てみると形式によって微妙に出力される形が違います。RSS1.0の後継がRSS2.0という訳でも無く全く別のものなようで、調べてみると様々な紆余曲折を経てRSSのバージョンがいくつか誕生し、そこで出てきたユーザーの声を踏まえて新しく作られたのがAtomという事だそうです。うーん複雑…。

Atomが生まれた経緯はRSSが古い仕様かつRSS1.0/2.0の仕様策定で色々と揉めていたときにAtomを作ろうという動きになったようです。RSSのバージョンごとに非互換性であったり、仕様が明確になっていなかった事が利用者からの不満が多くありました。
RSSより便利なAtomデータの詳細と利用方法について簡単にまとめてみた – Web就活日記

結局はブログの更新情報の配信ならどれでも好きなものを利用していいとのこと。RSS2.0をおすすめするサイトが多かったので迷った場合はRSS2.0でよさそうです。もちろん複数ボタンを設置しても大丈夫。


ボタンの作り方

<a href="<?php bloginfo('rss2_url'); ?>" title="RSS">...</a>

bloginfo()と好きな画像やアイコン、テキストなどを組み合わせて作ればOK。
素敵なボタン素材を配布されているサイトがあったので一緒に載せておきます。

RSSボタン

WordPress用にとRSSボタンとFeedlyのボタンを自作してみたので配布 | CUBE-LOG


Font AwesomeのCSSを読み込んでいれば画像を用意しなくても簡単にボタンっぽいものが作れるので、こちらもサンプルを置いておきます。
←こんな感じ

<span class="fa-stack fa-lg">
  <i class="fa fa-square fa-stack-2x" style="color: orange;"></i>
  <i class="fa fa-rss fa-stack-1x fa-inverse"></i>
</span>

関連

600種類のアイコンが無料!Font Awesomeの使い方
メニューやボタン部分に文字だけじゃなくてアイコンがあったら、わかりやすくて便利ですよね。 アイコンがあると直感的に操作できて、見る側のストレスもぐんと減らすことができます。 F

不要なフィードを削除する

wp_head()が出力するフィードの種類は複数あり、各ページでそれぞれ違うものが出力されています。

  1. 投稿フィード
  2. コメントフィード
  3. 各記事のコメントフィード
  4. カテゴリーのフィード
  5. タグのフィード
  6. 投稿者のフィード
  7. 検索結果のフィード

中には出力したくないものもあるかと思うので、そんな時はremove_action()を使って削除します。

functions.php

remove_action( 'wp_head', 'feed_links_extra', 3 );

上記コードをfunctions.phpに追加すると3~7のフィードはヘッダーから削除する事ができます。
そしてさらに残りの2つからコメントフィードだけを削除したいとなると今のところ方法が無いようなので、その場合は下記のようにして一旦全てのフィードを削除します。

functions.php

//フィードリンク
add_theme_support( 'automatic-feed-links' );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );

add_theme_support()部分を削除するとフィードへのリンクは出力されなくなりますが、それだとTheme Checkで警告が出たのでそのまま残す形にしました。

その上でヘッダー(header.php)に直接、出力したいフィードのリンクを書き込みます。

header.php:例

<link rel="alternate" type="application/rss+xml" title="サイト名 &raquo; フィード" href="<?php bloginfo('rss2_url'); ?>">

管理画面での設定

フィードに関する設定

設定>表示設定からフィードに関する設定を行うことができるので、お好みで設定し直せば準備完了!今後は記事を投稿すればその概要がフィード配信され、購読してくれている方の元へ通知されるようになります。

スポンサーリンク

公開日: