ラピッドウィーバーサイトに ARC WEB のページランキング スクリプトを導入する方法


RW5.x検証済み
このエントリの内容は RapidWeaver 5.x を使用して検証、カスタマイズされた時のものですが、このバージョンでの動作を保証するものではありませんのでご注意下さい。また、表示の無いバージョンでは動作しない、エラーが出ないという意味ではありません。
以前、以前アクセスの多い順にエントリを紹介するブログパーツを設置して気がついたらやめていたんですが、やめた理由が思い出せないのでもう1回やる事にしました(笑)。

ARC WEB のページランキング スクリプトを導入

前回と同様、ARC WEB のページランキングスクリプトを導入することにしました。ますはページランキングの申し込みをします。
ACR WEB ページランキング紹介

申し込みを済ませると、ランキング設置タグとページ解析タグが発行されます。


ページ解析タグをフッタに挿入する

ページ解析タグは全てのページに挿入しないといけないのですが、1ページづつ挿入するのもある程度の規模になってくると大変な作業になってしまいます。Google Analytics と違って画像を含む解析タグですので併用も出来ません。

ラピッドウィーバー内で、全ページに画像を含む同じ情報を反映できる場所が1箇所だけあります。それはサイト設定メニューの中のフッタ入力欄です。通常はコピーライトなど著作権表示をすることに使いますが、この入力欄にはHTMLタグなども挿入する事が出来ます。今回はもとからあるコードに以下のコードを追加しました。これで既存のページも新規ページも解析タグを適用する事が出来ました。

© 2006-2011 <a href="http://www.recasin.com/" rel="external">RECASIN</a> All Rights Reserved. <A href="http://www.ziyu.net/" target="_blank"><IMG SRC="http://pranking6.ziyu.net/img.php?自分のID" alt="ブログパーツ" border=0 width=35 height=11></A>


ランキング表示タグをサイドバーに挿入する

次にページランキングを表示するタグを挿入します。ほとんどの方がサイドバーに挿入すると思いますが、稀にCSSが完全に無視される場合があります。これはテーマが原因だと思いますが解除する方法はわかりませんでした。

レイアウトはテーブルでされていますので、一時的な?対処法としてランキングタグ全体をdivタグで囲ってCSSを適用する方法をとってみました。このサイトでは具体的には以下のようにしています。

ランキングタグをdivタグで囲う

<div id="pageranking">ページランキングタグ</div>

CSSをページインスペクタに追加する

/* ページランキング */
#pageranking td {
	color: #797979;
	background-color: white;
	padding:5px 3px 3px 3px;
	line-height:130%;
}

#pageranking a:link { color: #579BC4; }
#pageranking a:hover { color: #BA4293; }
#pageranking a:visited  { color: #579BC4; }


ページランキングの編集画面でページのURLにタイトルを付ける 準備編

ページランキングは通常のページはもちろん、ブログページも対象となります。多分、この作業が面倒だったからやめたような気もします。現時点で一番簡単に出来る方法を書いておきますね。

ブログのエントリ数が多い場合はRSSフィードを読み込んでタイトルを自動で付ける

ページランキングの編集画面にはRSSフィードを利用してURLとエントリのタイトルを自動設定出来る機能がありますが、このRSSフィードがそのままでは使い物になりません。

ラピッドウィーバーのブログが出力するRSSフィードのエントリURLはかなり曲者

目にした方もいらっしゃると思いますが、ラピッドウィーバーがRSSフィードに出力するエントリのパーマリンクは以下のような個別エントリIDが付く仕様になっています。

http://rapidweaverfan.net/files/110707.php
#unique-entry-id-569

ページランキングに表示されるのは http://rapidweaverfan.net/files/110707.php 形式のアドレスになるので、エントリIDの付いたURLにタイトルを付けてもランキングには反映されません。そのためには、編集画面で読み込むRSSファイルから全てのエントリIDを削除する必要があります。

準備として全てのエントリを含むRSSフィードを出力する

まず、ブログページのRSSフィードの設定で、メインページのみ にチェックが入っていたらチェックを外します。念のためにカスタムフィールドのチェックも外しておきましょう。チェックを外したら1回ブログを更新します。更新が終わったら設定を元に戻しても大丈夫です。

サーバーにアクセスしてXMLファイルをダウンロードする

全てのエントリが書かれたRSSフィードのXMLファイルをダウンロードしてください。通常は以下のディレクトリにあるはずです。

http://example.com/files/blog.xml

blog.xml のファイル名はユーザーにより異なります。


ページランキングの編集画面でページのURLにタイトルを付ける 編集編

以下のページから RW BlogID Deletion というアプリをダウンロードして、blog.xml をXMLファイルをドロップしてください。

ダウンロード・AppsRapidWeaverで簡単HP作成
(中身は単純なPerlの正規表現を使った頂き物のスクリプトですが、素人にはそれだけでも本当に有り難いです。)

すると、エントリIDの削除された blog.xml と blog.xml.bak というバックアップファイルが生成されます。

次に、エントリIDの削除された blog.xml の名称を変更します。blog2.xml などで構わないでしょう。この blog2.xml を先ほどのサーバーの同じ場所に戻します。(別にどこでも構わないのですが)

ページランキングの編集画面で blog2.xml を読み込む

タイトル自動設定というボタンをクリックして、RSSファイルのURL ところに先ほどの blog2.xml へのURLを入力して設定ボタンをクリックします。

http://example.com/files/blog2.xml

すると、ブログエントリの全URLタイトルが付いたのを確認できると思います。これで一応の作業は終了しました。


ページが増えたりブログを更新したらどうするか?

最大の問題はここですが、ランキングにURLだけを表示させても構わない方は放置すればいいですが、タイトルを付けたい場合はページランキングの編集画面から手動でつけていくしかないですね。
多分、これが嫌になったらまたランキングを外すと思います(笑)。
blog comments powered by Disqus