PHPでRSSフィードを自動作成できるライブラリ使ってみた

RSSフィードは次の場合に必要になります。

  • ページのインデックスを速めたい
  • SEO的にも良さそうなので導入したい
  • feedlyとかで新着情報を発信したい

僕自身もRSSFeedを自サービスに組み込みたかったんです。

ただ自力で実装するなんてほぼ不可能。
そこで便利なライブラリを見つけました。

その名も RSSGenerator というライブラリ

これが本当に便利で使いやすかったので、
ここではPHPでRSS/フィード作成する方法をまとめます。

RSSGeneratorというライブラリの使い方

1.composerからインストールする

まずはインストールから

このライブラリはGitHubで公開されてます。

composerなら次コマンドを打つだけです。

これでインストール完了

2.RSSフィードを出力するコード例

このライブラリは本当に使いやすいです。

例えば https://example.com/ がサービスURLだとします。そしてそこの https://example.com/feed でRSSフィード配信することになったとしましょう。

その場合、次のようなコードを書けばOKです。

▼ RSSフィードを作成&出力

まあこういう風に全部直書きはありえないですが・・・当然ながらDBから最新データを10件なり20件なりひっぱてきて、それを動的にフィード追加していくというのが現実的ですね。

大事なポイントとしては header('Content-Type: text/xml');  を指定しておくこと。これで人間が見た時でもXMLとして整形して表示できます。あと最後に echo $feed_render();  とすることで生成したRSSを出力するのも忘れずに。

そしてSearch Console の【サイトマップ】=>【新しいサイトマップの追加】の追加からRSSフィードを登録するだけです。実際に自動出力したサイトマップを登録してみたら上手くいきました。

RSSとして正しい形式か検証(validate)する

最後に念のためRSSを検証します。

使用するツールはこちら

ここに生成されたRSSをコピペします

▼ このような感じでそのまま貼り付け

Feed Validation Service - ここに自動生成したRSSフィードをそのまま貼り付け

▼ Congratulation! と出れば問題なし

Feed Validation Service - このように「Congratulation!」とすればRSSフィードとして問題なし

上画像のように「Congratulation!」とすればRSSとしては何の問題もないということです。もし「Sorry」と出てしまったなら致命的な文法ミスがあるので、RSS出力設定に問題がないか確認してください。

RSSフィード出力はライブラリを使おう!

もちろん人力でもフィード出力できます。

ただ色々細かな仕様を学ばないといけないし、面倒です。

それなら最初からライブラリを使う方が賢いですね。

以上、PHPでのRSSフィード出力でした。ではまた(^^)/~~~

PHP

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください