ウェブサイト内に無料ブログのRSSを読み込ませて新着記事化する

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

昔からブログを運営している方はアメブロで記事を更新している人も多いですよね。ただ、アメブロはサイバーエージェントが提供する外部ASP型のブログサービスなので自社HPなどウェブサイトと連携させることが得意ではありません。あくまでもアメブロ内でのお知らせを前提とした無料ブログサービスとなっています。

下記ではウェブサイトにRSSを読み込ませる方法を解説いたします。

ウェブサイト内に無料ブログのRSSを読み込ませて新着記事化する

XMLというファイルを使えばウェブサイトと無料ブログを連携ができるのでご紹介させていただきます。ワードプレスであればウィジェットから紐づけることも可能です。PHPで読み込ませると好きな場所にアメブロの新着記事を表示することもできるのでアメブロをお知らせで使っている人はぜひご一読くださいませ。

そもそもRSSって何だろう?

大半の無料ブログでは「RSS」という仕組みを準備してくれています。カンタンに言えばウェブサイトから指定することで最新投稿を自動で取得できるシステムですね。元になるのはXMLファイルとなります。

ワードプレスも「RSSで使用するXMLファイルが裏側で作られる仕組み」なのでRSSについて詳しく知りたい方はぜひ併せてチェックしてくださいね。RSSは新着の記事を知らせるために使われるものなので無料ブログにも搭載されています。連携させるにはRSS用ファイル「XML」を読み取らせるだけでOKです。

ワードプレスでRSSを読み込む

WordPressで立ち上げたウェブサイト内からRSS(XML)を読み込ませるには大きく2つの方法があります。

1. ウィジェット機能を活用する
2. PHPで読み取ってから出力する

もっとも手軽なのは「1」ですね。

1. ウィジェット機能を活用する方法

最新のワードプレスでも動きます。

もちろん、バージョン5以前のクラシック型ウィジェットでも使えます。

RSSまでのURLを入力するだけでウィジェットに表示できます。

ちなみにURLはブログごとで違います。アメブロのRSSは下記がベースです。

http://feedblog.ameba.jp/rss/ameblo/example/rss20.xml

アメブロ上に記事が投稿されているブログではRSSの中身も同時作成されています。

実際にウィジェットへ出力されるタグのサンプルです。ちなみにURLやタイトルは自動で取得されます。

<section id="block-5" class="widget widget_block widget_rss">
<ul class="wp-block-rss">
<li class="wp-block-rss__item"><div class="wp-block-rss__item-title"><a href="#">記事タイトル5</a></div></li>
<li class="wp-block-rss__item"><div class="wp-block-rss__item-title"><a href="#">記事タイトル4</a></div></li>
<li class="wp-block-rss__item"><div class="wp-block-rss__item-title"><a href="#">記事タイトル3</a></div></li>
<li class="wp-block-rss__item"><div class="wp-block-rss__item-title"><a href="#">記事タイトル2</a></div></li>
<li class="wp-block-rss__item"><div class="wp-block-rss__item-title"><a href="#">記事タイトル1</a></div></li>
</ul>
</section>

ただ、上記の「example」は記事が1つも投稿されていないのでXMLが出来上がっていません。ちなみにウィジェットではXMLファイルが空の場合はエラーを出力する仕組みとなっています。下記がエラーです。

エラーが発生しました。フィードの配信が停止している可能性があります。再度お試しください。

記事があれば自動で記事リンクが読み込まれます。日付を表示させる場合は「2」の方法で設定してください。

2. PHPで読み取ってから出力する

もしウィジェットでのRSS連携がご希望ならこの先を読み進めなくてもOKです。たとえば「日付も同時表示したい」とか「何も該当記事がなければ出力されないようにしたい」ならカスタムが必要となります。

上記のような新着のボックスをウェブサイト内に埋め込みたい場面がありますよね。各タイトルをクリックするとアメブロ等の無料ブログサービスの記事ページに飛んで画面が切り替わるといった流れです。

アメブロからRSSを読み込んで日付と記事のタイトルリンクを出力するためのスクリプトをご紹介いたします。タイトルが空の場合と広告のタイトルを含まない処理を考えて配慮しています。出力タグの編集もしやすくシンプルに仕上げていますのでぜひご活用くださいませ。お知らせ部分のタグは念のため「dl」にしています。

💻受講料無料でプログラミング習得

⇒ 完全無料のプログラミングスクール - 手に職をつけて安定的に働きたい人へ -
<?php

	// RSSfeedのURL設定(RSSへのURL)
	$rssdata = simplexml_load_file("http://feedblog.ameba.jp/rss/ameblo/example/rss20.xml");

	// 読込み最大MAX件数
	$num_of_data = 5;
		
	// 出力内容を空に初期化
	$outdata = "";
				 
	// 設定した読込み件数分だけ取得を繰り返す
	$i = 0;
	while($i < $num_of_data){
		
		//記事1個取得
		$myEntry = $rssdata->channel->item[$i];
		//タイトル取得
		$myTitle = $myEntry->title;

		if(substr($myTitle,0,3) !="PR:"){

			// 日付取得し通常タイプに変換
			$myDate = $myEntry->pubDate;
			$myDate = strtotime($myDate); 
			$myDate = date('Y年m月d日',$myDate);
				
			// リンクURL取得
			$myLink = $myEntry->link; 

			// タイトルが空ならストップ
			if($myTitle == ""){
				break;
			}

			// 出力内容に日付けを挿入
			$outdata .= "<dt>" . $myDate . "</dt>\n";
			// 出力内容にリンク付きタイトルを挿入
			$outdata .= "<dd><a target=\"_blank\" href=" . $myLink . ">" . $myTitle . "</a></dd>\n";

		}
			
		// タイトル頭が「PR:」ならMAX件数増加
		if(substr($myTitle,0,3) =="PR:"){
			$num_of_data++;
		}

		$i++;

	}

	//すべてを出力する
	echo "<dl>" . $outdata . "</dl>";

?>

あとはCSSをお好みで整えれば完成です。日付とタイトルを縦並びまたは横並びで微調整してみてください。お知らせボックスは「ul」で作りたいのであれば適宜タグを変更してもらえればOKです。

お知らせはウェブサイトのデザインに合わせて変更すると見栄えも良くなりますね。

まとめ

本日は「アメブロとウェブサイトを紐づける方法」を解説させていただきました。まとめると2パターンです。

・簡易的に表示させるだけならウィジェットを活用する
・日付も表示させるならPHPで読み込んで画面を作り込む

日常的に更新のお知らせをアメブロから配信している場合はRSS連携させると効率的な運用が可能となります。運営側としてもアメブロで記事を更新するたびにウェブサイトを編集する必要も一切ありません。

ぜひご活用くださいませ。

最新式の無料プラグインを事前公開

WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
改良されたプラグインを確認する

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報はもちろんお好みの機能をいただければ専属スタッフが心を込めて対応させていただきます。まずはお気軽にお問い合わせくださいませ。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください