ブログから出力されるRSSデータ(index.rdf 、atom.xml 、index.xmlなど)を読みとって自分のページ内に表示するCGIが複数ある。
とくに便利なのが
SSI利用が可能な大黒屋本舗の「RSSI.cgi」
複数のRSSを1つにまとめて再出力してくれるにししふぁくとりーの「mergerss.cgi」
の2つである。
複数のブログからRSSで読み取ったデータを1つにまとめ、そのまとめたRSSの内容を時系列に並べ替え自分のホームページトップの内容にテキストとして表示させることができるのだ。
単にRSSを表示させるCGIはほとんどがJAVAスクリプト利用のものなのでSEO効果は見込めなかったが、RSSI.cgiならSSI(サーバーサイ ドインクルード)で動くのでindex.shtml内にテキストとして表示されSEO効果が高い。しかし、複数ブログのRSSを表示させる場合は1つのブログに1つのcgiを1対1で対応させる必要がある。そのため、複数ブログのRSSを表示するときは複数の表示ブロックが必要となるし、まとめて表示ができないため時系列の表示ができなかった。
ここで、複数のブログのRSSデータの内容を時系列に並べ 替えて、1本のRSSに編集した状態でRSS出力できるCGIのmergerss.cgiとの組み合わせが効果を発揮する。mergerss.cgiは複数のブログのRSSをまとめて1つのRSS出力にすることができるのが特徴だ。
この2つを組み合わせることにより、複数ブログのRSS内容を記事ごとに時系列に並べて自分のホームページ(ブログ)に表示することが可能になる。
2つのCGIのそれぞれの使い方は、下部のそれぞれの説明を参照しただくことにして、ここではいきなり2つのCGIを組み合わせて使う方法を説明する。
最小限必要なファイルだけで構成したフォルダとファイル構成
■rssフォルダ
┃┣mergerss.cgi [755]
┃┣rss.dat [666]
┃┗RSSI.cgi [755]
┣■feedフォルダ
┣■tempフォルダ
┃┗RSSI.tmp [644]
┗■XMLフォルダ
┣FeedPP.pm [644]
┗TreePP.pm [644]
必ず書き換えないと作動しないファイルは、rss.dat(新規作成)とRSSI.cgiの2つである。
書き方の例は以下のとおり。
▼rss.datの書き方の例
#RDF%UTF-8@showhttp://www.tohda.jp/atom.xmlhttp://tohdamikio.com/index.rdfhttps://dm2.co.jp/index.xml
~以下読みたいRSSファイルを列挙する
▼RSSI.cgiの書き方の例(変更が必要な部分のみの抜粋)
my @callfrom = ( # 呼び出しを許可するサーバ名を '~','~',と列挙する'http://www.tohda.com/',
'https://dm2.co.jp/');my $CR = 'no'; # 下部のスクリプト名(+リンク)の表示# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## デフォルト設定 (引数渡しをしない場合のデフォルトオプション)my $def_url = 'http://www.tohda.com/cgi-bin/rssi/mergerss.cgi?rss.dat'; # 読み込むRSSのURLmy $def_line = 10; # 表示件数my $def_enc = 'utf8'; # 表示ページの文字コード('utf8','euc','jis','sjis')my $def_tlen = 0; # タイトルの文字数 ( 0 で全て表示)my $def_len = 100; # 概要の文字数 ( 0 で全て表示)
rss.datは新規作成で、RSSI.cgiは必ず書き換えないと作動しない。
逆にいえばこの2つのファイルの設定さえやれば、とりあえず作動するはずだ。
CGIの設定が完了すれば、表示させるページ(index.shtml)の任意の場所に
<!--#exec cmd="./RSSI.cgi" -->
というタグを埋め込むだけでよい。
SSIが効くかどうかは各自が使っているサーバによるので注意が必要です。
さくらインターネットの場合はindex.shtmlならSSIの利用はOKとなる。
(※index.htmlではないので注意すること、htmlの前にsがついています)
作動しているサンプル
遠田ドットコム
http://tohda.com/
「▼遠田の関連サイトよりrss表示」の下部がこの2つのCGIを連携させて表示している箇所です。
SSI利用が可能な 大黒屋本舗の「RSSI.cgi」
設置方法は、大黒屋本舗の「RSSI.cgi」からプログラムをダウンロードし解凍し、rssi.cgiをテキストエディタで編集し、FTPで自分のサーバにアップロードする。
#!/usr/bin/perl
perlのパス:サーバ環境にあわせて書き換えて下さい
use Jcode;
Jcode.pm の呼び出し:サーバに Jcode.pm がインストールされていればこのままにしてください
インストールでなく FTP 等で追加アップロードした場合は
require './パス/Jcode.pm';
のようにして呼び出してください
my $SSIcall = 'cmd';
SSIで呼び出す方法
呼び出し方法が '#exec cmd' か '#exec cgi' かで 'cmd'、'cgi' を指定して下さい
my $dir = 'feed';
feedデータ保存ディレクトリ:任意に変更して下さい
mmy $check = 60;
更新間隔(分):任意に変更して下さい
読み込む RSS の最終更新時間が設定時間以内ならば
サーバローカルに保存してあるデータを読み込みます
my $TimeZone = +9;
設置するサーバのタイムゾーンです
GMTに対しての数字なので、日本にあるサーバなら +9のままで大丈夫です
my $dir_temp = 'temp';
テンプレート設置ディレクトリ:任意に変更して下さい
my $def_temp = 'RSSI.tmp';
デフォルトテンプレート名:テンプレートを指定しなかった際に使用するテンプレートを指定します
my $CDATA = 'cut';
<![CDATA[ ]]>を削除する場合は 'cut' にして下さい
'cut' 以外は<![CDATA[ ]]>タグが有効になります
my $HTMLTAG = 'cut';
html のタグを削除する場合は 'cut'、無効化は 'off' にしてください
'cut','off' 以外はタグがそのまま出力されます
my @callfrom = (
'http://www.daikoku-ya.org/',
'http://127.0.0.1/',
);
jsRSS++ スクリプトの呼び出しを許可するサーバを列挙します
列挙したサーバ以外から呼び出すと 'Bad Call!!' となります
こちらも設置がすめば動作方法は簡単。設置方法は、にししふぁくとりーの「mergerss.cgi」からプログラムをダウンロードし解凍し、サンプルデータを参考にrss.datをテキストエディタで作成し、FTPで自分のサーバにアップロードする。
rss.datの書き方の例
#RDF
%UTF-8
@show
http://www.example.com/feeds/rss.xml
http://www.example.com/feeds/atom.xml
くわしくはそれぞれの作者のホームページを参照ください。
フェイスブックの「いいね」はいいですね。
![]()
|
遠田幹雄の業務経歴書の請求はこちら
のメールフォームからどうぞ
それぞれSSLのフォームになっています。