MT-Ranking は管理画面から簡単にランキングを作成できます。
MTタグを利用して表示項目をカスタマイズすることが可能です。
Movable Type 7系、8系で動作します。
-
MT-Ranking
ランキングをかんたんに作成価格:11,000円(税込)※stores.jp へ移動します
機能・特徴
MT-Rankingは、ページのアクセスランキング、アクセス数を記録、表示する機能を提供し、Movble Type で運用されている自社メディアにランキングを簡単に実装できます。プラグインによって拡張されるMTタグを利用して表示項目を設定することが可能です。
追加されるテンプレートタグ
- MTRanking
ランキングを出力するためのブロックタグです。 - MTRank
MTRanking内で利用します。ランキング順位を出力します。 - MTRankDescription
MTRanking内で利用します。計測対象のページのOG:Descriptionを参照し出力します。 - MTRankImageUrl
MTRanking内で利用します。計測対象のページのOG:Imageを参照し出力します。 - MTRankPageView
MTRanking内で利用します。計測対象のページのページビュー数を出力します。 - MTRankTitle
MTRanking内で利用します。計測対象のページのOG:Titleを参照し出力します。 - MTRankType
MTRanking内で利用します。計測対象のテンプレートの種類を出力します。記事、ウェブページ、コンテンツデータ、インデックステンプレートが対象となります。 - MTRankUrl
MTRanking内で利用します。計測対象のページのパーマリンクを出力します。 - MTRankingPost
計測対象先のテンプレートに設置することでランキング集計用の JavaScript スクリプトが自動で出力されます。 - MTRankingScript
ランキング集計用のスクリプトファイル名を出力します。
v1.21で追加されたタグ
- MTEntryPageView
特定の記事、ウェブページのページビュー数を出力します。記事アーカイブ、ウェブページアーカイブでは id を指定しなければ現在の記事を対象にします。
モディファイア id(任意):出力する記事のIDを指定します。 - MTContentPageView
特定のコンテンツデータのページビュー数を出力します。コンテンツデータアーカイブでは id を指定しなければ現在のコンテンツデータを対象にします。
モディファイア id(任意):出力するコンテンツデータのIDを指定します。 - MTTemplatePageView
特定のインデックステンプレートのページビュー数を出力します。コンテンツデータアーカイブでは id を指定しなければ現在のコンテンツデータを対象にします。
モディファイア id(任意):出力するテンプレートのIDを指定します。
v1.21で追加されたモディファイア
- include_sites
複数のサイトの記事をまとめてランキングに表示したい場合に利用します。 - category
特定のカテゴリに絞ってに表示したい場合に利用します。 - tag
特定のタグに絞ってに表示したい場合に利用します。
v1.4で追加されたモディファイア
- days
指定した日数以内に作成された記事またはコンテンツデータに絞って表示したい場合に利用します。 - type
daysと組み合わせて、指定することで絞る対象のデータを指定することが可能になります。
v1.6で追加されたモディファイア
- use_entry_title
MTRankingPost タグに 1 を指定にすると、記事タイトルを参照する事が可能になります。
ランキングの集計対象
- ブログ記事
- ウェブページ
- コンテンツデータ
- インデックステンプレート
※月別、年別、カテゴリーアーカイブは集計対象にはできません。
インストール
ダウンロードしたファイルを解凍すると、「mt-ranking.cgi」と「plugins」フォルダができます。
「mt-ranking.cgi」をMovable Typeのインストール先の「mt」ディレクトリにアップロードします。
「plugins」の中に「MT-Ranking」フォルダがありますので、Movable Typeのインストール先の「plugins」ディレクトリにアップロードします。
※クラウド版をご利用の場合には、「mt-ranking.cgi」は「plugins」の中の「MT-Ranking」フォルダ内にアップロードしてください。
使い方
1.利用するサイトのプラグイン設定から保持期間やCORSの設定をします。
- 保持期間
アクセスデータを保持する期間を指定します。0 を指定すると削除されません。 - ランキングデータを初期化する
押下すると保持されたランキングデータをクリアします。 - CORS: Allow origin
別ドメインからスクリプトを呼び出す場合、CORS 制限に抵触するため Access-Control-Allow-Origin で返すドメインを登録します。
管理画面と出力先のドメインが等しい場合は設定は必要ありません。
設定例:https://media.wim.jp - CORS: Allow methods
Access-Control-Allow-Methods ヘッダーとして出力する値を設定します。
初期値は*です。 - CORS: Allow headers
Access-Control-Expose-Headers ヘッダーとして出力する値を設定します。
初期値は*です。 - CORS: Expose headers
Access-Control-Expose-Headers ヘッダーとして出力する値を設定します。
初期値は*です。
2.集計対象のテンプレートにMTRankingPostタグを設置します。
※ランキング導入時など、プレビューを計測対象から外したい場合にはプレビューテンプレートを除外して設置します。
<mt:unless name="preview_template">
<mt:RankingPost>
</mt:unless>
3.以下を参考にランキングの出力を記述します。
<mt:Ranking>
<mt:if name="__first__"><table></mt:if>
<tr>
<td><mt:if tag="RankImageUrl"><img src="<mt:RankImageUrl>" width="200"></mt:if></td>
<td><mt:Rank></td>
<td><a href="<mt:RankUrl>">[<mt:RankTitle escape="html">]</a> (<mt:RankPageView> views)</td>
<td><mt:RankDescription></td>
<td><mt:if tag="ranktype" eq="entry"><mt:If tag="EntryCategory"><mt:EntryPrimaryCategory>in <mt:CategoryLabel></mt:EntryPrimaryCategory></mt:if></mt:if></td>
<td><mt:if tag="ranktype" eq="entry"><mt:EntryIfTagged>with <mt:EntryTags glue=", "><mt:TagName></mt:EntryTags></mt:EntryIfTagged></mt:if></td>
<td><mt:if tag="ranktype" eq="content_data"><mt:ContentLabel><mt:ContentFields field="title"><mt:ContentFieldValue escape="html"></mt:ContentFields field="title"></mt:if></td>
</tr>
<mt:if name="__last__"></table></mt:if>
</mt:Ranking>
カテゴリでランキング結果を絞り込みたい場合のサンプル
<mt:Ranking category="カテゴリ名">
<mt:if name="__first__"><table></mt:if>
<tr>
<td><mt:if tag="RankImageUrl"><img src="<mt:RankImageUrl>" width="200"></mt:if></td>
<td><mt:Rank></td>
<td><a href="<mt:RankUrl>">[<mt:RankTitle escape="html">]</a> (<mt:RankPageView> views)</td>
<td><mt:RankDescription></td>
<td><mt:If tag="EntryCategory"><mt:EntryPrimaryCategory>in <mt:CategoryLabel></mt:EntryPrimaryCategory></mt:if></td>
<td><mt:if tag="ranktype" eq="entry"><mt:EntryIfTagged>with <mt:EntryTags glue=", "><mt:TagName></mt:EntryTags></mt:EntryIfTagged></mt:if></td>
<td><mt:if tag="ranktype" eq="content_data"><mt:ContentLabel><mt:ContentFields field="title"><mt:ContentFieldValue escape="html"></mt:ContentFields field="title"></mt:if></td>
</tr>
<mt:if name="__last__"></table></mt:if>
</mt:Ranking>
複数のサイトの記事をまとめてランキングに表示したい場合のサンプル
<mt:Ranking include_sites="1,2,3">
<mt:if name="__first__"><table></mt:if>
<tr>
<td><mt:if tag="RankImageUrl"><img src="<mt:RankImageUrl>" width="200"></mt:if></td>
<td><mt:Rank></td>
<td><a href="<mt:RankUrl>">[<mt:RankTitle escape="html">]</a> (<mt:RankPageView> views)</td>
<td><mt:RankDescription></td>
<td><mt:if tag="ranktype" eq="entry"><mt:If tag="EntryCategory"><mt:EntryPrimaryCategory>in <mt:CategoryLabel></mt:EntryPrimaryCategory></mt:if></mt:if></td>
<td><mt:if tag="ranktype" eq="entry"><mt:EntryIfTagged>with <mt:EntryTags glue=", "><mt:TagName></mt:EntryTags></mt:EntryIfTagged></mt:if></td>
</tr>
<mt:if name="__last__"></table></mt:if>
</mt:Ranking>
他のブログやウェブサイトを対象にする場合のサンプル
<mt:Ranking blog_id="1">
<mt:if name="__first__"><table></mt:if>
<tr>
<td><mt:if tag="RankImageUrl"><img src="<mt:RankImageUrl>" width="200"></mt:if></td>
<td><mt:Rank></td>
<td><a href="<mt:RankUrl>">[<mt:RankTitle escape="html">]</a> (<mt:RankPageView> views)</td>
<td><mt:RankDescription></td>
<td><mt:if tag="ranktype" eq="entry"><mt:If tag="EntryCategory"><mt:EntryPrimaryCategory>in <mt:CategoryLabel></mt:EntryPrimaryCategory></mt:if></mt:if></td>
<td><mt:if tag="ranktype" eq="entry"><mt:EntryIfTagged>with <mt:EntryTags glue=", "><mt:TagName></mt:EntryTags></mt:EntryIfTagged></mt:if></td>
</tr>
<mt:if name="__last__"></table></mt:if>
</mt:Ranking>
再構築した時点から5日前までに公開された記事(ウェブページ)を対象にする場合のサンプル
<mt:Ranking days="5">
<mt:if name="__first__"><table></mt:if>
<tr>
<td><mt:if tag="RankImageUrl"><img src="<mt:RankImageUrl>" width="200"></mt:if></td>
<td><mt:Rank></td>
<td><a href="<mt:RankUrl>">[<mt:RankTitle escape="html">]</a> (<mt:RankPageView> views)</td>
<td><mt:RankDescription></td>
<td><mt:if tag="ranktype" eq="entry"><mt:If tag="EntryCategory"><mt:EntryPrimaryCategory>in <mt:CategoryLabel></mt:EntryPrimaryCategory></mt:if></mt:if></td>
<td><mt:if tag="ranktype" eq="entry"><mt:EntryIfTagged>with <mt:EntryTags glue=", "><mt:TagName></mt:EntryTags></mt:EntryIfTagged></mt:if></td>
<td><mt:if tag="ranktype" eq="content_data"><mt:ContentLabel><mt:ContentFields field="title"><mt:ContentFieldValue escape="html"></mt:ContentFields field="title"></mt:if></td>
</tr>
<mt:if name="__last__"></table></mt:if>
</mt:Ranking>
または
<mt:Ranking days="5" type="entry">
<mt:if name="__first__"><table></mt:if>
<tr>
<td><mt:if tag="RankImageUrl"><img src="<mt:RankImageUrl>" width="200"></mt:if></td>
<td><mt:Rank></td>
<td><a href="<mt:RankUrl>">[<mt:RankTitle escape="html">]</a> (<mt:RankPageView> views)</td>
<td><mt:RankDescription></td>
<td><mt:if tag="ranktype" eq="entry"><mt:If tag="EntryCategory"><mt:EntryPrimaryCategory>in <mt:CategoryLabel></mt:EntryPrimaryCategory></mt:if></mt:if></td>
<td><mt:if tag="ranktype" eq="entry"><mt:EntryIfTagged>with <mt:EntryTags glue=", "><mt:TagName></mt:EntryTags></mt:EntryIfTagged></mt:if></td>
<td><mt:if tag="ranktype" eq="content_data"><mt:ContentLabel><mt:ContentFields field="title"><mt:ContentFieldValue escape="html"></mt:ContentFields field="title"></mt:if></td>
</tr>
<mt:if name="__last__"></table></mt:if>
</mt:Ranking>
再構築した時点から5日前までに公開されたコンテンツデータを対象にする場合のサンプル
<mt:Ranking days="5" type="cd">
<mt:if name="__first__"><table></mt:if>
<tr>
<td><mt:if tag="RankImageUrl"><img src="<mt:RankImageUrl>" width="200"></mt:if></td>
<td><mt:Rank></td>
<td><a href="<mt:RankUrl>">[<mt:RankTitle escape="html">]</a> (<mt:RankPageView> views)</td>
<td><mt:RankDescription></td>
<td><mt:if tag="ranktype" eq="entry"><mt:If tag="EntryCategory"><mt:EntryPrimaryCategory>in <mt:CategoryLabel></mt:EntryPrimaryCategory></mt:if></mt:if></td>
<td><mt:if tag="ranktype" eq="entry"><mt:EntryIfTagged>with <mt:EntryTags glue=", "><mt:TagName></mt:EntryTags></mt:EntryIfTagged></mt:if></td>
<td><mt:if tag="ranktype" eq="content_data"><mt:ContentLabel><mt:ContentFields field="title"><mt:ContentFieldValue escape="html"></mt:ContentFields field="title"></mt:if></td>
</tr>
<mt:if name="__last__"></table></mt:if>
</mt:Ranking>
動作条件
- Movable Type 7系(ソフトウェア版/クラウド版)
- Movable Type 8系(ソフトウェア版/クラウド版)
ブラウザの動作条件は Movable Type 本体のブラウザの動作条件に準拠します。
制限事項
- ダイナミックパブリッシュには対応しておりません。
- 月別、年別、カテゴリアーカイブは集計対象にはできません。
- Movable Type Premum では動作検証は行っておりません。
- サーバー配信との組み合わせについては動作検証は行っておりません。
リリース
2024/9/4 v1.7リリース:
- 「ランキングデータを初期化する」ボタンを追加
2024/4/11 v1.61リリース:
- パッケージの不備を修正
2024/4/1 v1.6リリース:
- MTRankingPost タグに use_entry_title モディファイアを追加
- MTRankingPost で生成するスクリプトで、CGIPath が相対パスだった場合は MT管理画面のドメインを参照して絶対パスにするように変更
2023/11/8 v1.5リリース:
- 複数のサイトのランキング参照時、保持期間が0日間になっていてもランキングデータが削除される問題を修正
2023/4/24 v1.4リリース:
- 記事、コンテンツデータ、テンプレートが削除された場合、紐づくランキングデータを削除する処理を追加
- プラグインのアップグレード時にランキングテーブルに残っている紐づきのないランキングデータを削除する処理を追加
- 指定した日数以内に作成された記事またはコンテンツデータに絞ってランキングを作成する days モディファイアを追加
- days モディファイアと合わせてに指定することで絞る対象のデータを指定する type モディファイアを追加
2023/4/7 v1.21リリース:
- ランキングに同じ記事が複数表示される問題を修正
- 複数のブログのランキングを集計するマルチブログモディファイアに対応
- category と tag モディファイアに対応。名称ベースで指定されたサイト内のカテゴリやタグのフィルタリングが可能に
- ランキングの集計対象のページビュー数の出力機能を追加
利用規約
こちらをご覧ください。