35歳で会社を辞めて独立したまめのブログ

まめー

ブログのRSSを取得してサイトに読み込む方法まとめ

※当サイトはWeb広告を利用しています

ブログの新着情報をニュースやお知らせのように、サイトに読み込みたいときがあります。

その方法は、以下のような条件によって実装方法が異なります。

・外部ドメインのブログのRSSを取得して表示
・内部ドメインのブログのRSSを取得して表示
・ドメイン内部のWordPressの新着情報を取得して表示

このページでは、それぞれのケースで、ブログのRSSを読み込むための、最適な方法をめとめました。

スポンサードリンク

Google Feed APIは使用不可

これまでは、Google Feed APIを使用するのが一般的でした。簡単に実装できたので、私も複数のサイトで使ってました。

参考:Google Feed APIを使って外部ブログのRSSを表示する方法

しかし、突然に表示されなくなる問題が発生し、2016年頃には正式に廃止が発表されました。2017年の1月には実際に表示されなくなっていますので、代替手段で修正しましょう(後ほど紹介)。検索するとGoogle Feed APIを使った方法が結果に出てきますが、今後は使用できません。

参考:Google Feed API

RSSを取得する方法

外部ドメインのブログのRSSを取得して表示

外部のブログサービスやWordPress、別ドメインのRSSを読み込みたいならこの方法です。

外部ドメインのRSSを読み込もうとすると、Ajaxのクロスドメイン制約という問題から、セキュリティーエラーが出てしまいます。そのため、クロスドメイン制約を回避する手段を用いる必要があります。具体的には、PHPかJSONPを使うことになります。

もしも、プログラミングの知識がない場合は、ブログパーツを使う方法もあります。

PHPのライブラリで実装

rss-phpというPHPのライブラリを使って実装する方法。プログラミングが苦手な人でも、わかりやすくてお手軽です。

特にカナリエさんの記事は、日付、画像、タイトル、リンクとよく使う記述のサンプルがあるのでおすすめです。私は、Google Feed APIの代替として、この方法を選びました。

ただし、拡張子がhtmlであればphpに変更する必要があります。それに伴って、htaccessでのリダイレクト処理も必要になります。

参考:【カナリエ】ブログのRSSを読み込んで新着記事を表示!PHPを使ってみました

参考:「Google Feed API」の代替として「rss-php」でRSSやAtomフィードを取得・表示する

jQuery + PHPで実装

PHPで外部ドメインのRSSをxmlで取得して、それをjQueryで表示させる方法 です。

RSSの読み込みためのjs、phpファイルを作成して、取得したいページにスクリプトを読み込めば表示されます。jQueryを使っているので、 拡張子がhtmlのままでも使えます。

参考:【jQuery + PHP】クロスドメイン対応版:Google Feed API

WordPressの関数で実装

WordPressで構築されたサイト・ブログに読み込むのであれば、WordPressの関数で実装できます。

参考:【WordPress】外部サイトのRSS情報を取得して表示させる方法

ブログパーツで実装

必要事項を入力するだけで、簡単にRSS表示用ブログパーツを出力できます。

ただし、ある程度、フォーマットが決まってくるのとサービスが終了すると使えなくなる可能性もあります。

参考:RSS Feed Widget

スポンサードリンク

ドメイン内部のブログのRSSを取得して表示

同ドメインの内に構築しているブログであれば、jQueryで対応できます。

参考:【jQuery】緊急案件:Google Feed API が廃止になっているので代替案を紹介します

参考:Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

ドメイン内部のWordPressの新着情報を取得して表示

少し論点がずれますが、同ドメインの内に構築しているWordPressのサイト・ブログであれば、RSSを使わなくても新着情報を読み込めます。

新着情報を読み込みたいhtmlに以下のコードを記述します。

<?php require_once ('./wp/wp-load.php'); ?>

※wp-load.phpへのパスは適時書き換えてください。

こうすることで、WordPressのテンプレートタグが使えるようになります。後は、好きなように記事の日付なり、タイトルなりを読み込んでください。

参考:WordPressと静的ページを共存させてindex.htmlにWPの更新を表示させる方法

Google Feed APIが廃止になって、緊急対応を求められるケースもあると思います。実装しやすい方法で、RSSを読み込んでみてください。