concrete5でRSSフィードを使った自動投稿

菱川拓郎
菱川拓郎

CMSを使う大きな目的として、HTMLを直接記述しなくても、かんたんな操作でページを更新できることが挙げられます。一方、CMSはシステムですので、時には外部ソースを自動的に取り込むことで、人間がコンテンツを投稿する手間すら省くことができます。例えば、外部サイトの更新情報がRSSフィードとして提供されていれば、その情報をconcrete5に自動投稿するという連携が考えられます。

実は concrete5 には標準機能で「RSS表示」ブロックが用意されており、読み込みたいRSSフィードの情報をページに表示することが、かんたんにできてしまいます。

RSS表示ブロックのアイコン

RSS表示ブロックの設定画面のキャプチャ

ただ、このブロックはあくまでその時のRSSフィードの情報を画面に表示しているだけで、concrete5側にデータは残りません。別の手段として、定期的にRSSフィードの情報をconcrete5のページとして自動投稿することも可能です。concrete5側にデータが残ることで、過去にさかのぼれたり、絞り込み検索ができるようになります。

自動投稿には、弊社が開発した Import RSS Feed アドオンを使うことができます。アドオンをインストールすると、設定画面が追加されますので、取り込みたいRSSフィードのURLと、どのページタイプで取り込みたいか、どのページの下層に取り込みたいか、などの設定を行ってください。

Screen Shot 2019-08-21 at 13.46.14.png

設定ができたら、自動実行ジョブのページにアクセスします。ここに「RSSフィードインポート」というジョブが追加されていますので、「実行」ボタンをクリックすれば取り込みが完了します。

取り込み結果のキャプチャ

concrete5には、sitemap.xmlファイルの更新や、検索インデックスの更新など、負荷の重い定期的なバッチ処理を行うための仕組みが「自動実行ジョブ」です。cronなどサーバー上で定期的に処理を起動できる仕組みと連動することで、このRSSフィードの取り込みを定期的に自動実行することができます。

concrete5 の自動実行ジョブのサーバー側の設定方法 (レンタルサーバー別解説付き!)

「自動実行ジョブ」の仕組みが用意されているconcrete5は、このようなポータルサイトの構築にも適したCMSであると言えます。弊社ではRSSの他にも、APIやFTPを使ってサーバーに接続しダウンロードしたXMLファイルなど、様々なデータソースからconcrete5に自動で取り込むようなカスタマイズを多く手がけていますので、お困りの際はご相談ください。