2007年7月27日

スパムトラックバックと戦うのだ![ カスタマイズ ]

最近、やたらスパムコメント/トラックバックが多い。
多すぎて、ロリポップさんにCGIを止められたり。
もう、いい加減この現状をどうにかしたい!
ということで、Junnamaさんの

# テンプレートから「<$MTEntryTrackbackData$>」を削除する。これで「自動検知」できなくなる。
# トラックバック、コメントCGIをリネーム。単にリネームするだけでなく拡張子も変えてしまおう。トラックバックCGIについては更にhtmlファイルに見せる技を使おう。
# コメントは「確認」画面を経由させるようにして直接ポストできないように。但しJavaScriptオンの場合は直接ポストできるようにする。そもそもJavaScriptオンの人は意識せずに済むし。
# 古いエントリーのトラックバックやコメントを閉じてしまおう。攻撃のターゲットは少ない方がいい。
# トラックバックやコメントのCGIに対してGETリクエストを制限しよう。

このノウハウを取り入れてみたのですが、スパムトラックバックだけは、相変わらずくる。
これは、なんとかせねばと、こんな方法を考えてみました。

まず、以下の内容で「tb.js」を作ります。

function makeTBURL(cgiPath, id, script) {
    var url = cgiPath + script + '/' + id;
    return url;
}

これを、例えば、ドキュメントルートにでも保存しておいて、次に個別エントリーアーカイブの中の

<$MTEntryTrackbackLink$>

このタグを

<script type="text/javascript" src="/tb.js"></script>
<script type="text/javascript" language="javascript">
<!--
var url = makeTBURL("<$MTCGIPath$>","<$MTEntryID$>","<$MTTrackbackScript$>");
document.write(url);

//-->
</script>

こんな感じで書き直します。
こうすると、HTML内には、トラックバックURLを構成するための部品だけが、並んでいる状態になります。
ブラウザで表示すると、きちんと表示されるという仕掛け。
ブラウザ側でJavaScriptをオフにしていると表示されないですけど、ね……。

昨日から様子を見ていますが、まだ1つもきてません。
結構効果あるかも!

投稿者 CHEEBOW : 14:10


MovableTypeするならおすすめです!

2007年4月 2日

すべてのアーカイブでサイドバーを共通にする[ カスタマイズ ]

現在、レンタルサーバチカッパ!で、Aquarium RecordsというサイトをMTを使って構築しています。
先日、このサイトのリニューアルを行った際に、すべてのアーカイブで共通のサイドバーを表示させてみました。
このカスタマイズで、再構築の負荷も低くなるし、アーカイブごとの見栄えも揃えられるので、メリットが多いのではないかと思います。
具体的な手順は以下の通りです。

【追記】
その後、情報をもう少しすっきりさせたいということで、Aquarium Recordsのサイドバーは、結構シンプルなものになりました。

1.「.htaccess」ファイルをブログの公開ディレクトリに置く

今回のカスタマイズではPHPの機能を使いますが、リニューアル前のパーマリンクは崩したくありません。
というわけで、拡張子htmlのファイルでもPHPとして処理されるようにします。

以下の内容で「.htaccess」ファイルを作成します。

AddType application/x-httpd-php .php .php4 .php3 .phtml .html

作業する環境によっては、.htaccessファイルを作成できない場合もあると思うので、例えば、01.htaccessみたいなファイル名にして、前記の内容を記述し、サーバにアップロードした後に、リネームすると良いかもしれません。

2.サイドバー用のテンプレートを作成する

以下の内容でインデックステンプレートを新規作成します。

テンプレート名 : Side bar
出力ファイル名 : _side.html

テンプレートの内容 :

<$MTWidgetManager name="First Widget Manager"$>

すべてのアーカイブから、このテンプレートによって吐き出されるhtmlを読み込むことになります。
テンプレートの内容は、WidgetManagerを使うことで、簡単にモジュールを追加削除できるようにしてみました。

3.テンプレート内のサイドバー部分を変更する

メインページ、アーカイブページ、エントリー・アーカイブ、カテゴリー・アーカイブ、日付アーカイブを修正します。
サイドバーの部分を以下のように置き換えます。

<div id="beta">
  <div id="beta-inner" class="pkg">
<?php include("[ブログのサイト・パス]/_side.html"); ?>
  </div>
</div>

[ブログのサイト・パス]の部分は、ブログの公開ディレクトリの絶対パスです。
以下のような感じになっていると思います。

/home/sites/chicappa.jp/users/hoge.jp-moge/web/blog/

この場合、

<div id="beta">
  <div id="beta-inner" class="pkg">
<?php include("/home/sites/chicappa.jp/users/hoge.jp-moge/web/blog/_side.html"); ?>
  </div>
</div>

とするということになります。

すべて編集が終わったら、「すべて再構築」をしてください。
これで、すべてのアーカイブでサイドバーが共通化されます。






投稿者 CHEEBOW : 13:11

2006年7月 5日

Widget Managerに「最近のトラックバック」モジュールを追加する[ カスタマイズ ]

Movable Type3.3から標準でWidget Managerプラグインが添付されています。
これは、簡単にサイドバーをカスタマイズできる便利なプラグインです。

しかし、なぜか「最近のトラックバック」モジュールが見当たらない。
というわけで、作ってみました。

管理画面から、「テンプレート」を選択し、モジュールタブをクリックします。
「モジュールを新規作成」をクリックして、新しいモジュールを作成します。

テンプレート名を「Widget: 最近のトラックバック」として、モジュールの内容を、以下のようにします。

<div class="module-recent-trackbacksmodule">
  <h2 class="module-header">最近のトラックバック</h2>
  <div class="module-content">
<MTPings lastn="10">
    <a href="<$MTPingURL$>" target="new"><$MTPingTitle$></a> : <$MTPingBlogName$><br />
</MTPings>
  </div>
</div>

これで、保存すれば、Widget Managerで「最近のトラックバック」モジュールが使用出来るようになります。

つまり、「Widget: なんちゃら」と名前を付けたモジュールテンプレートを作ると、Widget Managerに認識してもらうことが出来るわけですね。
いろいろみんなで作ってみると楽しいような気がします。

投稿者 CHEEBOW : 18:48

2005年10月27日

Movable Type スーパーカスタマイズテクニック[ カスタマイズ ]

以前、「MovableTypeで行こう!: Movable Type 上級カスタマイズ術」のエントリで紹介した本の続編に当たるのが本書です。
著者の藤本さんのブログから目次を引用してみます。

本の内容は以下の通りです。

第1章 テンプレートを入れ替える

1-1 Movable Typeのテンプレートの構成と編集
1-2 小粋空間のテンプレートを使う
1-3 Dr.Blogのテンプレートを使う

第2章 Movable Typeの標準機能だけでできるカスタマイズ

2-1 本文まで表示/概要のみ表示を組み合わせる
2-2 最初/最後のエントリーにだけ何かを出力する
2-3 トップページに各カテゴリーの最新記事の概要を表示する
2-4 エントリーのカテゴリー名の表示をカスタマイズする
2-5 カレンダーを横長に表示する

第3章 各種のサービスを組み合わせるカスタマイズ

3-1 BlogPeopleを使う
3-2 MyblogListを使う
3-3 MyClipを使う
3-4 track feedで自分のBlogへのリンクを調べる
3-5 自分のエントリーと似た記事を検索して表示する
3-6 Google Adsenseでアフィリエイト
3-7 Amazonのアフィリエイトに便利なツール

第4章 JavaScriptと組み合わせるカスタマイズ

4-1 トラックバックURLをコピーできるようにする
4-2 エントリーへのリンクをコピーできるようにする
4-3 エントリーの折りたたみ表示
4-4 アーカイブ/カテゴリーの一覧をセレクトに表示する
4-5 カテゴリー一覧等をツリー表示する
4-6 サイドバーの折りたたみ
4-7 スタイルシートを切り替えられるようにする
4-8 プルダウン式のナビゲーションバーを入れる

第5章 エントリーの編集画面等のカスタマイズ

5-1 BIGPAPIをインストールする
5-2 ファイルのアップロード先のディレクトリを変える
5-3 リンクの挿入をより便利にする
5-4 エントリーに絵文字を入れられるようにする
5-5 コメント入力欄でも絵文字を使えるようにする
5-6 エントリーを投稿する前にプレビューする

第6章 BlogをPHP化する

6-1 PHP化の基本
6-2 PHP化の手順
6-3 エントリー等に「New」マークをつける
6-4 テンプレートの軽量化
6-5 長いページを分割する
6-6 PHPとMySQLでアクセスカウンターとアクセスランキングを表示する

第7章 プラグインを使ってBlogの見た目をカスタマイズする

7-1 カテゴリーを好きな順序に並べ替える
7-2 エントリーにカテゴリーを表すイメージファイルをつける
7-3 Blogのステータスを表示する
7-4 長い文字列をトリミングする
7-5 最新のコメント/トラックバックをエントリーごとにまとめて表示する
7-6 エントリー(個別)アーカイブページに同一カテゴリーのエントリーを表示する
7-7 コメント数/トラックバック数のランキングを表示する
7-8 カレンダーを月移動できるようにする
7-9 エントリーの投稿時間をグラフで表す(BlogTimes)
7-10 関連性のあるエントリーを一覧表示する

第8章 再構築を不要化する

8-1 ダイナミック・パブリッシング
8-2 ダイナミック・パブリッシングを導入する手順
8-3 Perl版ダイナミック・パブリッシング
8-4 Perl版ダイナミック・パブリッシング用のページ分割プラグイン

第9章 Movable Typeを便利にする機能やツール

9-1 指定した日時にエントリーを投稿する
9-2 「ほぼ」指定日投稿
9-3 重複するトラックバックを自動的に削除する
9-4 エントリーの作成時刻を公開時刻に自動的に変更する
9-5 エントリーの自動改行変換を使いやすくする
9-6 Moblogに対応させる
9-7 コメントに返信したときにコメントの著者に通知するようにする
9-8 コメントの承認の設定
9-9 スパムを防ぐ

第10章 Movable Typeのデータの管理

10-1 MySQLでデータを管理するようにする
10-2 エントリー(およびコメントとトラックバック)のバックアップと復元
10-3 カテゴリーのバックアップと復元
10-4 テンプレートのバックアップと復元
10-5 サーバーの移転


まだ、発売前ですが、これを見るととっても良い本なのではないかと想像できます。
発売が、楽しみですね。

投稿者 CHEEBOW : 11:20

2005年9月27日

MTカスタマイズを最初から学ぶための本[ カスタマイズ ]

基礎から作るMovable Typeブログデザイン―オリジナルBlogをデザインすることからはじめよう
エビスコム
ソシム (2005/09)
売り上げランキング: 73,798
おすすめ度の平均: 4
4 ブログの構造を基礎から

Movable Typeのテンプレートカスタマイズは、なかなか理解するのが難しいのです。
それは、すでにあるテンプレートに手を加えていくため、自分のやろうとしていることを実現するために、あっちからコピペこっちからコピペで良く理解せずにコードを追加してしまうからなのではないかと思います。
手っ取り早いのは、その時は良いのだけど、後で考えると実は回り道だったりするのです。
そこで、この本。
まっさらのテンプレートを少しづつ育てていくことで、カスタマイズが学べます。
本気でMTカスタマイズに挑戦してみたいなら、必読なのではないかと思います。
仕事でMTに関わる人にもおすすめです。

投稿者 CHEEBOW : 00:12

2005年8月10日

投げ銭システムを使ってみる[ カスタマイズ ]

はてなブックマークでは、面白かった、役に立ったエントリーにはてなポイントを送信することができます。お礼や応援の意味を込めて、エントリー作者の方にポイントを送信しましょう。

いわゆる投げ銭システムです。
面白い記事や、コンテンツに対してなんらかのフィードバックをするというシステム。
今までにもいろいろな試みがありましたが、それらは小額決済の難しさや、フィードバックするための手間もありそれほど流行らなかった記憶があります。
ただ、こういうシステムはあると良いなーとずっと思ってました。

で、さっそく僕もこのシステムを導入してみました。
と言っても、テンプレートにちょっと手を加えただけです。
簡単。

antipop2.0: Movable Type を Account Auto-Discovery に対応させるプラグイン

[N] 「はてなブックマーク」にはてなポイント送信機能

こちらのサイトとかものすごく分かりやすいので、やってみたいなーと思った人は見てみると良いと思います。

投稿者 CHEEBOW : 16:57

2005年6月22日

テンプレート&デザインガイド[ カスタマイズ ]

Movable Typeブログテンプレート&デザインガイド―マルチユースなテンプレートによる効率的なブログ制作
エ・ビスコム・テック・ラボ
毎日コミュニケーションズ (2005/06)
売り上げランキング: 187,427

最近、この手のMTカスタマイズ本が増えてきましたが、その中でも、かなり良い本なのではないかなーと思います。
目次を見てもらうとそれがよく分かるんじゃないでしょうか?

Chapter 1 ベーステンプレートを使ったブログ制作
Chapter 2 ベーステンプレート
Chapter 3 レイアウトのデザイン設定
Chapter 4 ヘッダー
Chapter 5 エントリーメニュー
Chapter 6 カテゴリーメニュー
Chapter 7 日付別アーカイブメニュー
Chapter 8 カレンダー
Chapter 9 エントリーデータ
Chapter 10 カテゴリーデータ
Chapter 11 日付別アーカイブデータ
Chapter 12 コメント
Chapter 13 トラックバック
Chapter 14 小さなパーツ

と言う感じで、非常に見通しが良いのです。
初級者から中級者向けの本です。
カスタマイズに悩んでいる人は読んでみると良いと思います。

投稿者 CHEEBOW : 10:42

2005年6月 2日

管理画面もカスタマイズ![ カスタマイズ ]

MT と言えば、管理画面を可変レイアウトにする CSS を配布しているサイトもある。

MTでカスタマイズと言えば、アーカイブのデザインであったりするわけですが、管理画面もカスタマイズできちゃうのです。

というわけで、こちらでは簡単にカスタマイズしちゃうCSSなどを紹介してくれています。
メニューがスクロールにあわせて移動しないというのが、良い感じです。
管理画面が変わると、気分も変わってエントリできるかも!

あ、くれぐれも、元のファイルはバックアップしてから、試した方が良いと思いますー。

で、もっと、高度にカスタマイズしてみたいという方には、

This article explains how you can customize the user interface of the Movable Type application. This is a powerful area of functionality that's easy to get started with and almost unlimited in its potential.

こちらも、ご紹介。
英語ですけど、こういうカスタマイズも面白いかもです。

投稿者 CHEEBOW : 20:51

2005年5月21日

Movable Type 上級カスタマイズ術[ カスタマイズ ]

ブログ自由自在 Movable Type 上級カスタマイズ術
藤本 壱
技術評論社 (2005/05/18)
売り上げランキング: 1,347
通常2~3日以内に発送

Movable Typeのインストールは終わった、エントリもしてる、そんな方におすすめの書籍が出ました。
テンプレートのカスタマイズから、Movable Type API、プラグインの作成、PHP化まで、今までなかった、中級者、上級者用のTipsが満載です。
個人でMTを使っている人はもちろん、仕事として、MTでサイトを構築している人にもおすすめの一冊です。

投稿者 CHEEBOW : 00:19

2005年4月25日

Movable Type公式タグリファレンス[ カスタマイズ ]

Movable Type公式タグリファレンス
山本 浩司 シックス・アパート株式会社
RBB Press (2005/04)
売り上げランキング: 1,673
通常24時間以内に発送
おすすめ度の平均: 5
5 これですよ、欲しかったのは!

Movable Typeのタグは、かなりたくさんあって、それぞれの役割を覚えるのはなかなか難しいものです。
辞書的に使えるタグリファレンスがあると良いなー、と思っていた人にとって待望の本が出ました。

この本は、索引からアルファベット順でタグを調べることも出来るし、目次から機能ごとに絞り込んでいくことも出来ます。
つまり、「これをやりたい」って時にも、「このタグってどんな意味なんだろう」って時にも役に立つって言うことです。

タグの辞書として、いつもマシンのそばに置いておきたい本です。

投稿者 CHEEBOW : 11:58

2005年4月 1日

カスタマイズTipsは、Techknow Weblogで![ カスタマイズ ]

MovableTypeのカスタマイズ等のTipsは「Techknow Weblog」で書いたりしています。
なので、なかなか、こっちに書くことが少なくなってきていたりはするのですが……。

というわけで、「Techknow Weblog」で書いたTipsのリストです。
興味のあるところをつまみ読みすると良いと思いますー。

メインページに「<<前のエントリへ」リンクを作る

カテゴリをアイコンで表示する

サブカテゴリを開閉式にしてみる

サブカテゴリを表示するためのタグ

ブログステッカーを貼ってみる

カレンダーからのリンク先を日別のアーカイブにする

バナーに画像を貼ってみる

エントリの日付とタイトルを飾ってみる

横幅を大きくしてみる

サイドバーに最近のトラックバックを表示する

サイドバーに最近のコメントを表示する

サイドバーにカテゴリリストを表示する

タイトルの横にカテゴリを表示する(2)

MovableType3のデザインを変えてみるためのファーストステップ

タイトルの横にカテゴリを表示する

投稿者 CHEEBOW : 12:13