ブログのRSSを取得してサイトに読み込む方法まとめ
※当サイトはWeb広告を利用していますブログの新着情報をニュースやお知らせのように、サイトに読み込みたいときがあります。
その方法は、以下のような条件によって実装方法が異なります。
・外部ドメインのブログのRSSを取得して表示
・内部ドメインのブログのRSSを取得して表示
・ドメイン内部のWordPressの新着情報を取得して表示
このページでは、それぞれのケースで、ブログのRSSを読み込むための、最適な方法をめとめました。
目次
Google Feed APIは使用不可
これまでは、Google Feed APIを使用するのが一般的でした。簡単に実装できたので、私も複数のサイトで使ってました。
参考:Google Feed APIを使って外部ブログのRSSを表示する方法
しかし、突然に表示されなくなる問題が発生し、2016年頃には正式に廃止が発表されました。2017年の1月には実際に表示されなくなっていますので、代替手段で修正しましょう(後ほど紹介)。検索すると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を取得して表示
同ドメインの内に構築しているブログであれば、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を読み込んでみてください。