2007年05月27日

ソーシャルブックマークの登録ボタン

ソーシャルブックマークへ登録していただくためのボタンをいくつかセットにしたもの。。を作って設置してみました。

とりあえず「はてなブックマーク」と「livedoorクリップ」、「Buzzurl」。。そして「Yahoo!ブックマーク」です。
ブックマーク登録いただいた登録者人数も表示できるように。。なっているのか??

確認が出来ないというのが結構イタイ(爆

とりいそぎMovable Type。。ブログの方に設置しましたが。。他の普通のサイト、Yomiのサイトにも設置してみるか?!

Yahoo!ブックマークの登録者人数を表示するスクリプトは。。微妙に記述が変。。あと、O人の場合は表示しないとか。。そんな工夫?修正?が欲しいところではある。

【CNET Japan】のようにテキスト表示で登録者数を呼び込みたかったのだが。。スクリプト不明で断念。。もうちょっと解析してみよ。

直接参考にしたわけではないですが。。関連
blogに各種ソーシャルブックマーク追加登録ボタンを一括表示する

2007年03月22日

RDFを削除してトラックバックスパム対策

トラックバックスパムは、頻繁にやってきますが表には出ていません。。一応プラグインのおかげなのですが。。しかぁーし!負荷はあるよなぁ。。

っというわけで、根本的な?!改善!スパムを弾くよりも寄せつけない!対策。

■エントリーアーカイブからトラックバックのRDFを削除
エントリーの中にあるトラックバック関連のデータ。。<$MTEntryTrackbackData$>タグで出力される部分を削除。。ってか、その<$MTEntryTrackbackData$>タグを個別アーカイブテンプレートから削除。

■トラックバックCGIをリネーム
トラックバックCGIのファイル名をリネーム。。重い腰をやっと上げたなぁ(W
推測されにくい名前がいいのかな??そりゃそうだな。まぁ、適当に(W

mt-config.cgiに以下の1行追加してシステムに認識させる。

TrackbackScript <リネームしたトラックバックcgi>.cgi

で、再構築をする。。ちゃんとトラックバックURLのcgiファイル名変わってますね。
これで、トラックバックスパム減るといいなぁ。。

RDFを削除した分、トラックバック自動送信機能が動かなくなるというデメリットがあるそうですが、あまり支障がないことを祈ります。

。。もっと早くにサクッと削除しておけばよかった。。ってなオチになりそな予感

スパムトラックバックが激減!

2007年03月03日

サイドメニューのツリー化

サイドメニューのツリー化。。枝表示です。。先日行った、カテゴリーリストの順番整理

で、カテゴリーのサイドメニュー表示にツリーの「├」や「└」といったマークを表示させるための処理です。

JavaScript 不要なサイドメニューのツリー化 for Movable Type

<MTSubCatIsLast>

このタグがキーポイントですね。リストの最後の部分にセレクタを入れることで「├」を「└」に切り替えます。

カテゴリーリスト、少しは見やすくなったんじゃないでしょうか??

2007年03月01日

カテゴリー順番を並べ替えるプラグイン

カテゴリーを並べ替えるプラグイン(MTSubCategoriesタグ専用版)

最初からカテゴリの順番を考えてブログを書いていけば余り問題ない(カテゴリ名の頭に整列用の数字をあらかじめ入れておき表示はさせない方法を取るなど)んですが。。このブログ、かなり色んな事書きまくって。。まさにとりとめなく。。

で、乱立しているカテゴリを少し整理と、順番をもう少し綺麗に。。するために「カテゴリー順番を並べ替えるプラグイン」を探してみました。

このプラグインは。。

◆ カテゴリー名を書き換える必要がない。。重要!
◆ カテゴリー名を書き換えないので、出力ファイルも変わらない。。重要!!
◆ テンプレートの書き換え箇所も少ない

まぁ、極力カテゴリ名の変更はない方がよい。。っということで使ってみました。

<注意点>
◇ 「SortCategories.pm」 の 文字コード。。ブログが「UTF-8」なら、それにあわせて保存すること!
◇ 説明の出力テンプレートを使うとカテゴリの一覧が一行に出力されるので。。手を入れる際注意!
 自分は、一括変換時に「,」を消して(改行だけにして)しまいエラー頻発。。(泣

。。「アトリビュート 付加」なんたらかんたらとかいう意味がわけ分かりませんでしたが。。

<MTSubCategories>~</MTSubCategories>

<MTSubCategories sort_method="SortCategories::MySort">~</MTSubCategories>

にしてやるような感じだそうです。

2007年02月20日

Hyper Estraierインデックス自動更新?

Hyper Estraier のインデックス更新ですがMT。。Movable Type でエントリー投稿した時に出来ないか色々考えていました。。

← Hyper Estraier文書ドラフトでMT検索

インデックスをWWWブラウザから更新する (←namazu編)
更新Pingを受けて自動RebuildするCGI

この辺を参考に、自前で適当にHyper Estraierインデックス自動更新?!を作ってみたりした。。

#!/bin/sh

outdir=/home/USER/casket
target=/home/USER/www/blog/archives/draft
logfile=/home/USER/www/hyper_estraier.log

LANG=ja; export LANG # for Japanese

echo "Content-type: text/plain"
echo
echo -n "Indexing... "

/home/USER/bin/estcmd gather -cl -il ja -sd -cm $outdir $target > $logfile 2>&1

if test $? -eq 0; then
echo -n "Done."
else
echo "Failed."
echo "Check log file and index."
echo "log file: $logfile"
echo "index directory: $outdir"
fi

これを<適当な名前>.cgi で保存してサーバーへ。。

で、MTの「基本の設定」>「新規投稿」>「更新Ping/トラックバックの設定」に上記の cgi を指定。。
ようは、仮想ping先としてcgiを動かして。。cgi実行されたらインデックス更新。。みたいな(W

かなり適当(W

こんな、Hyper Estraierインデックス自動更新いかがですか??。。cron 使うよりエントリー投稿にあわせてリアルタイムに自動更新できるとは。。思うけど。。cgiの実行権がビミョー。。

<適当な解説>
・「outdir=」はインデックス出力先、「target=」はインデックス対象先。。僕の場合文書ドラフト。。これは、Hyper Estraierのインデックス作成コマンドをばらしただけ。
・「logfile=」はインデックス状況を実行一回分記録。。実行するたび上書き。
・ホントは、ブラウザ上で直接cgi実行して「Done.(成功)」「Failed.(失敗)」をみるようですが。。
・ping送る際のblogのパラメータなんか無視無視でエントリー投稿時(編集時?!)cgi動かすだけ。。?!

2007年02月19日

Hyper Estraier文書ドラフトでMT検索

Hyper Estraier + 「文書ドラフト」というのでMTの検索を精度良く!軽く!早く!

← 全文検索Hyper Estraierをインストール

MTで検索する際にサイドバーなどの不要な部分は除いて本文中の語句で検索をかけたい!っということで、ちと追加。

文書ドラフトとは。。
大雑把にいうと、検索対象要約ファイルのこと。インデックスしたい文書の(不要な部分を除いた)要点をまとめておくファイル。
文書ドラフトの最大の特徴は、URI属性を指定できること。つまり、文書ドラフト自体のURIではなく、別のファイルのURIをインデックスに記録することができる。

MovableType にHyper Estraierの「文書ドラフト」を出力するテンプレートを追加します。で、その出力したものをインデックスすると、精度良く高速な検索が出来るというものです。

アーカイブ・テンプレート > +テンプレートを新規作成
「テンプレート名」などは適当に。。「エントリー文書ドラフト」としておきました。

@uri=<$MTEntryPermalink$>
@title=<$MTEntryTitle remove_html="1"$>
@author=<$MTEntryAuthorNickname remove_html="1"$>
@cdate=<$MTEntryDate format="%Y-%m-%dT%H:%M:%S"$>+09:00
@mdate=<$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$>+09:00
category=<$MTEntryCategory$>
categoryUrl=<$MTEntryLink archive_type="Category"$>

<$MTEntryTitle remove_html="1"$>
<$MTEntryBody remove_html="1"$>
<$MTEntryMore remove_html="1"$>
<$MTEntryKeywords remove_html="1"$>

<MTComments>
<$MTCommentBody remove_html="1"$>
<$MTCommentAuthor spam_protect="1"$>

</MTComments>
※好みで編集・追加・削除してください。僕の場合は、本文とコメントも検索対象にしたくて上記のテンプレートにしました。

アーカイブ・テンプレート > ≫公開の設定 > アーカイブ・マッピング > +マッピングを新規作成
アーカイブの種類:「エントリー」 テンプレート:「エントリー文書ドラフト(作ったテンプレ)」
出力フォーマットを「カスタマイズする」で

draft/%y_%m_%b.est

にする(優先にするのは「個別エントリーアーカイブ」でいいと思います)。。エントリーアーカイブ再構築して「/archives」フォルダの下に「/draft」フォルダ作って各エントリーの文書ドラフトファイル?を作ります。。

あとは文書ドラフトが生成されたdraftフォルダに対してインデックスを作成する。

estcmd gather -il ja -sd /home/USER/casket /home/USER/www/blog/archives/draft/

など。。

検索結果&検索速度&検索対象。。申し分ないです♪
非常に満足!!ナイスだ!Hyper Estraier!!

あとは、やっぱりインデックス作成・更新のタイミングを自動化することだなぁ。。MTと連動させたい。。

<Hyper Estraier文書ドラフト 参考>

Hyper Estraierの「文書ドラフト」をMTから生成して検索する。

Hyper Estraier 導入

<'07.02.20 追記>
適当にMTエントリー投稿時インデックス更新。。
Hyper Estraierインデックス自動更新? →

2007年02月16日

全文検索Hyper Estraierをインストール

さて、mt-search.cgi の代替検索システムとして行き着いた Hyper Estraier 。。早速インストールしてみました。

さくらのレンタルサーバ・スタンダードです。/local/ 等、掘り下げたディレクトリに放り込むとあんまり上手くできませんでした。フォルダは増えますが、そのままルート?に入れちゃったほうがいいみたいです。さくらの自分の領域を「/home/USER/」と表現しています。

まずは。。【.cshrc編集環境変数追加】

set path = ($HOME/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin )
setenv LD_LIBRARY_PATH $HOME/lib:/usr/lib:/usr/local/lib
setenv LIBRARY_PATH $HOME/lib:$LIBRARY_PATH
serenv CPATH=$HOME/include:$CPATH
export PATH LIBRARY_PATH CPATH LD_LIBRARY_PATH

【必要ディレクトリ作成】

mkdir -p bin lib include etc share libexec

【libiconvインストール】

%tar zxvf libiconv-1.11.tar.gz
%cd libiconv-1.11
%./configure --prefix=/home/USER
%make
%make install

【zlibインストール】

%cd ../
%tar zxvf zlib-1.2.3.tar.gz
%cd zlib-1.2.3
%./configure --prefix=/home/USER
%make
%make install

【QDBMインストール】

%cd ../
%tar zxvf qdbm-1.8.74.tar.gz
%cd qdbm-1.8.74
%./configure --enable-zlib --prefix=/home/USER
%make
%make install

【HyperEstraierインストール】

%cd ../
%tar zxvf hyperestraier-1.4.9.tar.gz
%cd hyperestraier-1.4.9
%./configure --enable-static --prefix=/home/USER
%make
%make install

Hyper Estraier の configureオプションに "--enable-static" を指定。。は、500エラー、Internal Server Error の対策らしいです。。でもコレだけでは自分の場合ダメでした。

【インストールしたHyperEstraierを適当な場所にコピー】※これはコマンドでやった方が吉!

%cd /home/USER/www/
%cp /home/USER/libexec/estseek.cgi .
%cp /home/USER/share/hyperestraier/estseek.* .

これも500エラー、Internal Server Error のネックでした。。cgi ファイルはコマンドライン上でコピーした方が吉。。そして、cgi本体のみでなく、「share」内にある各種ファイル『estseek.conf、estseek.help、estseek.tmpl、estseek.top』のファイルもちゃんと忘れずコピーする。。

Hyper Estraierのインストール方法 に従って、横着をせずきちんとインストールすれば。。動くじゃない♪

全文検索Hyper Estraierにしてみた
全文検索namazuをインストール
全文検索namazuを試す

<Hyper Estraier インストール参考>
Hyper Estraier導入
全文検索エンジン Hyper Estraier on SAKURA Internet
さくらインターネット その4 (Estraierの導入)
MeCab+Hyper Estraierのインストール
HyperEstarier検索

次は、Hyper Estraierを使いMTブログの本文検索する為の「文書ドラフト」についてです。

Hyper Estraier文書ドラフトでMT全文検索 →

2007年02月15日

全文検索Hyper Estraierにしてみた

検索に時間がかかるmt-search.cgi の代替検索システムを色々模索しており、namazuを試した後、Hyper Estraierという全文検索システムを見つけました。

Hyper Estraier

既に。。使ってみて最初に感じた感想。
・インデックス作成がnamazuよりも さらに軽い、早い。
・検索ももちろん早い。namazuとの比較は?もっと多いファイルで無いと違いは判らないですね。
・評判よさげ
・「文書ドラフト」とかいうのでブログの本文抽出したものを対象にブログ本文検索可能。

もっと勉強すれば、色々面白いこと出来そうな。。予感は、する。。出来るかな?

使ってみての短所?デメリット??です
・インデックスを作るので、その分の容量が必要。
・ブログ本文を「文書ドラフト」吐き出して検索精度を上げる分、やっぱり容量が必要。
・500エラー、Internal Server Errorで結構悩んだ。

あと、MTとの連携で言うと投稿・編集した後のインデックス更新が。。どうしよ。。

全文検索Hyper Estraierをインストール

全文検索namazuをインストール

全文検索namazuを試す

2007年02月13日

全文検索namazuをインストール

試しに、全文検索namazuをインストールしてみました。さくらのレンタルサーバ・スタンダードです。
「/home/USER」 は仮定の設定です。適宜書き換えてください。一行が長くて改行してあるように見えるところもありますが「%」以下は基本一行です。注意!
※実は試した後すぐに別の全文検索システムに乗り換えましたので。。ちょっとした覚え書き程度です。。御了承を。

【gettextとnkfがインストールされていることを確認】

%which nkf

%which gettext

見つかりません!じゃなく、パスが出ればOK

【KAKASIをインストール】

%tar xvfz kakasi-2.3.4.tar.gz
%cd kakasi-2.3.4
%./configure --prefix=/home/USER/local
%make
%make install

【KAKASIへパスを「.login」に追加】

set path = (/bin /usr/sbin /usr/bin /usr/local/bin /home/USER/local/bin)

【KAKASIのパスを確認】

%which kakasi

これで、通したパスがちゃんと出ればOK

【File::MMagicのインストール】 File::MMagicはnamazuのtarballに含まれています。

%cd ../
%tar zxvf namazu-2.0.16.tar.gz
%cd namazu-2.0.16
%cd File-MMagic
%perl Makefile.PL LIB=/home/USER/local/lib NSTALLMAN3DIR=/home/USER/local/man
%make
%make install

【namazuのインストール】

%cd ../
%./configure --disable-shared --prefix=/home/USER/local/namazu --with-pmdir=/home/USER/local/lib --with-libintl-prefix=/usr/local
%make
%make install

【namazuの確認】

~/local/namazu/bin/mknmz -C

namazuのバージョン等情報が出ればOK。これで一応namazuのインストールは終了。
次は、本体のコピー、namazuの設定とインデックスの作成。

【namazuを使用する適当な場所へコピー】

%cd ../
%cd /home/USER/www/
%cp /home/USER/local/namazu/libexec/namazu.cgi .

【/home/USER/local/namazu/etc/namazu/にあるmknmzrc-sampleとnamazurc-sampleを使ってmknmzrcとnamazurcを作成】
<すみません。。ココ省略>
そうそう、サブドメインも上手く設定すれば、ちゃんと認識。サブドメインを含む複数のドメインから検索したように出来ます。インデックスを分けることも出来るのかも。。やってないけど。

【インデックス作成】

%/home/USER/local/namazu/bin/mknmz --html-split --all --output-dir=/home/USER/local/namazu/var/namazu/index/ /home/USER/www/

インデックスの保存場所「/home/USER/local/namazu/var/namazu/index/」にインデックスを作成する

あとは、コピーしておいた namazu.cgi にアクセスしてページが表示されるとOK

。。自分の場合、UTF-8の文字化け(コレはすぐに対策できました)。。10進コードで書かれた「年 月 日」→「&#24180; &#26376; &#26085;」がコード文字と認識されず、そのまま文字列認識し(&を&amp;と勝手に認識)変になってました。。わかち失敗??

namazuインストール参考
Namazu正規版インストール覚え書き
さくらのレンタルサーバに全文検索システム(Namazu 2.0.14)をインストール
さくらのレンタルサーバにNamazuをインストール

namazu 文字化け対策 for Movable Type参考
namazuのUTF-8文字化け対策(Movable Type)

コード文字が気になりますが、とりあえず検索パフォーマンスは言うこと無しです。サクサク検索できます。。が、いくつか問題はありました。

・ブログの主に本文を検索対象にしたい
・インデックス作成に少し時間がかかる
・。。やっぱコード文字の問題

2007年02月12日

全文検索namazuを試す

Movable Type の mt-search.cgi 検索があまりに遅くて。。まぁ、直接MTには関係ありませんが全文検索システムというのに興味が出ましてイロイロ勉強してみました。

メジャーな全文検索システムに namazu っていうのがあるそうです

全文検索システム Namazu

(自分で公開しているHPなどで使う場合。。)公開しているhtmlファイルなどを検索しやすいように一度全部インデックスして。。で、検索かけると早いぞ!ってモンらしいです。

Namazuシステムの構築と活用―日本語全文検索徹底ガイド
Namazuシステムの構築と活用―日本語全文検索徹底ガイド馬場 肇

おすすめ平均
stars全文検索システム解説の良書

Amazonで詳しく見る
by G-Tools
改訂 Namazuシステムの構築と活用
改訂 Namazuシステムの構築と活用馬場 肇


Amazonで詳しく見る
by G-Tools

早速 namazu インストールのことなど調べて取り掛かってみました。
全文検索namazuをインストール →

2007年02月10日

MT ファイルのアップロード デフォルト設定

MTのファイルのアップロードを行うポップアップですが、3.3ではなんか使いにくい。。ファイルのアップロード・パスがオプション扱いで、隠れてしまっているわけです。

デフォルトで、オプションを表示設定したい!!ってなわけで

ファイルのアップロード・パス オプションをデフォルトで表示する

こちらのエントリーを参考に「/mt-static/styles.css」 を編集しオプションをデフォで表示状態に。。

#choose-destination .spinner img {
  background-image: url(images/spinner-right.gif);
  background-image: url(images/spinner-bottom.gif);
}

.active#choose-destination .spinner img {
  background-image: url(images/spinner-bottom.gif);
  background-image: url(images/spinner-right.gif);
}

#choose-destination .flyout {
  display: none;
  padding: 0 5px 0 15px;
  display: block;
}

.active#choose-destination .flyout {
  display: block;
  display: none;
  padding: 0 5px 0 15px;
}

で、ついでに自分の普段使う状態にデフォルト設定しておきたい!!

・パスを「アーカイブ・パス」にしたい
・「/img」 をデフォルトのアップロード・フォルダにしておきたい

こちらは適当に。。「/mt/tmpl/cms/upload.tmpl」 を編集。<02.11修正>

<div class="flyout">

<p><MT_TRANS phrase="_USAGE_UPLOAD" params="<TMPL_VAR NAME=BLOG_NAME ESCAPE=HTML>"></p>
<div class="field">
<p>
<MT_TRANS phrase="Path:">
<select name="site_path" onchange="setExtraPath(this)">
<option value="1"><<MT_TRANS phrase="Site Root">></option>
<TMPL_IF NAME=ENABLE_ARCHIVE_PATHS>
<option value="0" selected><<MT_TRANS phrase="Archive Root">></option>
</TMPL_IF>
<TMPL_IF NAME=EXTRA_PATHS>
<TMPL_LOOP NAME=EXTRA_PATHS>
<option value="<TMPL_IF NAME=ENABLE_ARCHIVE_PATHS>0<TMPL_ELSE>1</TMPL_IF>" middle_path="<TMPL_VAR NAME=PATH ESCAPE=HTML>"><TMPL_VAR NAME=LABEL ESCAPE=HTML></option>
</TMPL_LOOP>
</TMPL_IF>
</select>
/ <input name="extra_path" id="extra_path" value="img" />
</p>
</div>

太字が変更点。。
こんなかんじで、Movable Type 3.34のエントリーページのファイルのアップロードのデフォルト設定を改造しました。

こうしてファイルのアップロードのデフォルト設定しておけば。。あとはアップロードする写真・画像ファイル選んでアップロードするだけ♪一手間二手間省略で楽ちん

2007年02月09日

アーカイブページが白紙に。。

先日行ったMTのバージョンアップ。。思っていたほど?障害も無く、特に問題なく動いている。。と思ったら。。全てのエントリー一覧を書き出しているアーカイブページが真っ白け!

エントリーひとつも無くなってるやん!

3.17 から 3.34 へ移行しましたが、タグ?が変わったんかな??

とりあえず、3.34(3.3?) のアーカイブページを参照に修正入れました。

<追記>
Movable Type 3.3修正版近日リリースのお知らせ
月別や日別など日付をベースにしたアーカイブテンプレートを再構築すると、出力結果のすべてのページに同じ最新エントリが表示される

なるほど、これのようですね。。確かに
<MTEntries sort_order="descend"> のように変更しました。

2007年02月06日

半角英数字ばかりのスパム対策

半角英数字ばかりのスパム対策として、前回行った

トラックバックスパム対策

より。。

MT3.2(以上?) コメントスパム対策

MT3.2(以上?) トラックバックスパム対策

前回とは書き込むファイルが違いますが、ちゃんと出来ているかな??

一応覚え書き
MTフォルダ/lib/MT/App/Comments.pm
MTフォルダ/lib/MT/App/Trackback.pm

「# Matake Original の部分追加」 。。をファイルで確認でも。。

MT3.34にアップグレードしてみた

ちょっぴり。。いや、結構適当にアップグレードしてしまいました。
本当は、あんまりアップグレードはのる気ではありませんでしたが。。

Movable Type 3.3 マニュアル#Movable Typeのインストール・セットアップ

旧バージョンのMTからMT3.3へアップグレードするには

また使いやすいようにカスタマイズしていかないと。。とおもうと、なかなか今回のバージョンアップは。。

Movable Type も結構安定していた3.17(3.171?)を使っていました。。3.2は少し不評だったようでしたが、3.3は結構いいようですのでアップグレードしてみました。

MT3.2-ja-2に移行するのは。。

検索結果のテンプレートなどが。。なんか変。。 orz

ぼちぼち修正カスタマイズしていこ p(`o´)q

2006年08月18日

first-letterがうまくいってない

ブログの各エントリータイトルの一文字目をちょっぴり目立たせるスタイル

「first-letter」

。。このブログも文字を少し大きくし色を変えて目立たせています。

しかし、Netscape 7.1 や、ちょっと試してみた Firefox 1.5.0.6 でみると。。

表示の際にはうまくいっているのですが、マウスでクリックしようとすると、文字スタイルが飛んでしまう。。

マウスを乗せるとピョコン。。文字が普通の文字になってしまう。。だめぢゃん。

first-letter擬似要素に設定したスタイルが動的擬似クラスにマッチすることで失われる

ちょうどこんな現象。。

CSSのバグといっていいのか、はたまたCSSの書き方が悪いのか。。まぁIEと違う表示や動き??をするのは間違いない。とりあえず、CSSの書き直しを色々やってみた。

とりあえず、リンクにマウスが乗ったときも、押したときも、離れたときも「first-letter」がちゃんと宣言されていればいいのじゃないかなぁ。。なんて。

で、色々書き加えていたら。。出来た!!( ̄ー ̄) できるじゃん

でも、文字を大きくしている分の リンクアンダーラインの空きが大きい

first-letterバグ?!

擬似要素::first-letterを含む行の行間を修正

。。この状態。。直ってないんちゃう??

2006年08月07日

トラックバックがおかしい?!

トラックバックがおかしい?!かも知れない。。

送ってみても反応が無い。。あれっ??

なして??

分かりました。。

エントリーの文章最初から半角ばかりの文章だとエラーになるのね。。自分が設定しているわけですが、思っている以上にスパム対策機能が効いちゃっているようです。

ようは、「概要」が半角文字ばかりになっちゃうので「あちゃらのトラックバックスパム」だと判別しちゃうわけですな。。

自分で書いてるじゃん orz

「概要が半角英数字のみのTrackBackは拒否する」というものです。

「本文に全角がないと」 とか 「本文が半角英数ばかりだと」 とかにするべきかな??

2006年05月23日

トラックバックスパム対策

ここにきて、またもやトラックバックスパムの対策です。

しばらくなかったトラックバックスパムでしたが、ログを見るとバカバカ、バカバカ、トラックバックしてきている。

一応すべて、「リンク無しトラックバック防止プラグイン」で弾けてはいるのですがリンクチェックでサーバに負荷がかかっていると思われ、対策することにしました。

BiancaのTrackBackSpam対策【トラックバックスパム対策】

「概要が半角英数字のみのTrackBackは拒否する」というものです。

あちゃらからのスパム対策には基本となる一対策方法です。

”mt.cgi”と同じディレクトリにある”mt-tb.cgi”というファイルに対策ソースを追記してやって放り込むだけです。。ちゅうことで、このトラックバックスパム対策でしばらく様子を見てみます。

2006年05月09日

RSSの構文チェック

直接Movable Typeに関係があるというよりも。。RSS関連ですので間接的?!に関係があるかなということでこちらのエントリーです。

HTML構文チェックの方のエントリーではHTMLなどの文法チェックや構文チェック、スタイルシートCSSのチェックなどを行えるサイトを挙げてみました。

今回は、ふとRSSの構文ってちゃんとできてるんかいな??と思い立ちRSS構文チェック出来るサイトを探してみました。

RSS Validator - feedAnalyzer RSSの構文チェック

こちらの「feedAnalyzer」のサイトでRSSのチェックが出来ます。

自分関連のRSSを一通りRSS文法チェック・構文チェックしてみました。。
あらかたイイみたいです♪

ちょっと「.htaccess」で「charset」設定してあげないと黄色信号状態でしたが、だいたいよかったです。

でもまぁ。。あんまり良く判ってないんですよね。。1.0とか2.0とかいくつか種類がありますけどね。。ほとんど出来合いのテンプレ使用ですよね。そのテンプレで出来たRSSいじくって普通のサイトのRSS作ってたりしますが。。適当です(W

2005年07月02日

PHP化とモジュール化でサクサク!Vol.2

続いてモジュール化です。
モジュールにする部分はほとんどのページに使用しているサイドメニューということになります。
更新頻度に応じ2つのモジュールを作ることにしました。

ひとつは更新頻度の多いもの
カレンダー+最近のエントリー+カテゴリ一覧(件数)

もうひとつは更新頻度の少ないもの
年月アーカイブ+リンク+etc

メインページあたりのテンプレから抜き出して作ります。更新頻度の多いものはインデックスと一緒に再構築にチェックしておき更新頻度の少ないものはインデックスと一緒に再構築しないようにしておきます。
月初めに単独で再構築すればいいわけです。

<? include("<$MTBlogURL$>XXX.html"); ?>

こんな感じでメインページや各アーカイブのテンプレのモジュール化した部分を置き換えます。
(普通は XXX.php でしょうか?)

そして「全てを再構築」!!ぽちっとなサクサク再構築 しちゃいます

PHP化とモジュール化でサクサク!Vol.1

前のエントリー ブログの引越しでデータベースをMySQLにすることは済ませましたので次は「PHP化+モジュール化」です。

モジュール化とは・・・各パーツ(カレンダーや最近のエントリーやカテゴリー等)をモジュールにしてはめ込む。

PHP化とは・・・モジュールをはめ込む際には「include」を使うためにPHP化する必要がある。。ssiでも出来る??

さてまずここで、「何故、Movable Type が重いのか?」を考えてみる。
それは使い勝手やSEO対策に個別エントリーのページなどにもサイドメニューを追加したからです。そのため再構築時には同じサイドメニューを何度も何度も再構築することになりタイムロスが生じます。

モジュール化はそういった部分を部品化してしまって1個~数個作り、後はページの表示の際にはめ込んでしまおうというものです。(もちろんはめ込み時に多少負荷がかかりますが。)

で、やろうと思っていた「PHP化とモジュール化」に手をつけました。
参考にしたのは「Movable Type を軽くしたい!!」で控えておいたエントリーです。
まずPHP化から手をつけました。。しかぁ~しこのPHP化が一筋縄ではいきませんでした。
それは、普通はMTの出力拡張子を「.php」にすればいいわけですが単純に拡張子「.php」でやると既にキャッシュされている「.html」のものの対策を考えないといけません。
そこで「.htmlの拡張子でもPHPを動かす」ことにしました。。これが大変でした。

普通に「.htaccess」に

AddHandler myphp-script .html

といった類の記述をすれば終わりかと思っていましたがさくらのレンタルサーバはそう簡単に終わらせてくれません。

.php以外の拡張子でphpを動かしたい in さくら

こちらを参考に。。なんて書いていますが、最初はさっぱり訳分かりませんでした。
「php.cgi」というファイルを作って「/usr/local/bin/php」と記述しておけばいいのかと。。(爆
違いました。。

さくら公式マニュアル ─ TELNETで接続する

またまたこちらを参考にしながら自分の契約サーバに接続します!!おぉーー!なんかすごいことになってきた。
少し久しぶり目にDOSコマンド打ち込んでます。。まぁたいしたコマンドは。。なんせ「cd」と「cp」ですから。

cd /usr/local/bin
cp php /home/---/www/cgi-bin

こんな感じで「/usr/local/bin」の「php」を自分のHPのフォルダにコピーします。。(FTPでは出来んのじゃないかなぁ?)
その「php」を「php.cgi」等にしてアクセス権変更してやればいいわけです。
あとは、非公式FAQのを参考にしながら「.htaccess」に記述してやれば拡張子「.html」でPHPが動くようになります。

xml の場合最初に一行目に宣言文がありますがこれを下記のように修正しておかないと「一行目エラーでっせ!」となる。

【修正前】
<?xml version="1.0" encoding="<$MTPublishCharset$>"?>

【修正後】
<?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'."\n" ?>

こんな感じです。「一行目エラーでっせ!」はちなみに

Parse error: parse error, unexpected T_STRING in .../index.php on line 1

こんな感じ。。あとさくらの場合PHP実行できるフォルダやファイルのパーミッションが決まっているのでそれに合わせてMT側で出力ファイルのパーミッション変更してやる必要も出てくる場合がある。
まぁ、このPHP化ができたらあとのモジュール化は超簡単でした。。Vol.2へ続く

2005年07月01日

Movable Type ブログの引越し

Movable Type の引越しを行ないましたぁーー!!
ワァー、パチパチ \(^o\)(/o^)/

しばらくエントリーの編集が超重くイライラしていた Movable Type を引越ししました。
Movable Type を軽くしたい!!を引越しで実現していきます。。
2週間しか我慢できなかった(W

さくらで借りてるサーバでMySQL使ってMTやってますのでそちらにデータを持ってきて可能な3つまでのBlogを構築してみました。

新しいブログを作った後、テンプレなんかをコピーしてきて準備を済ませ、「書き出し」を使ってエントリーやトラックバックなどのデータを書き出し 新しい方のmtフォルダににFTPなどで「import」フォルダを作ってそこの放り込む。。そして読み込みを実行すれば順次データを読み込んでくれます。

途中でとまってしまう場合がたまにありますが、慌てずどこでとまっているか確認し読み込むデータを編集。読み込んでしまったデータを削除し保存したもので再び読み込み開始すれば続きから出来ます。

「エントリーの投稿者を自分にする 」にチェックを入れておけばいいようです。編集ページでの検索を使えば「置換」が出来るようですので、エントリーに貼った画像などのアドレスを一括編集するのに使えるかも。。実はほとんど手編集した後で気づいたので。。

後は全てを再構築すれば引越し終了ですかね。ざっくりと引越し手順でした。
前のURLからリダイレクトするため.htaccess(iswebではisweb_htaccess)も設定しました。

これでやりたかった「Soliloquy of Webmas」のBerkeleyDB から MySQL に移行は済みました。

2005年06月16日

Movable Type を軽くしたい!!

今現在のこちらの Movable Type での切なる願いです。isweb のサーバ設定が改善されることを願って覚書をしておきます。

既に対策実行済みのものも含まれますし、実行後 Movable Type 側でバグフィクスされて不要?のものもあるかもしれません。

Movable Type 500エラー
BerkeleyDBを使っている場合。。(「db」フォルダーをつくった場合)に fileinfo.dbが肥大化するのを改善する。

■□MovableType MySQL に移行
MovableType の データベースを を BerkeleyDB から MySQL に移行

カテゴリー再構築失敗をなくしたい!
「rebuild支援ツール」で再構築をちょっとずつ効率的に行う。

■□PHP化+モジュール化 Vol.1 PHP化+モジュール化 Vol.2

isweb での blog では MySQL に移行と最後の「PHP化+モジュール化」を行いたいと思っています。「PHP化+モジュール化」にはポイントがいくつかあります。

 ・php が使える(当たり前。。)
 ・php で include が使える(phpが大丈夫ならたぶん大丈夫。。)
 ・一時期 html で運用していた場合は .htaccess が使える。(前のから転送したいので)

こんなところでしょうか。。MySQLはまだ使えません。ロリポでも使えるくらいですから何とかして欲しいものです。 php は 「.cgi」拡張子で使うことが出来ます。
さらに「.htaccess」は「isweb_htaccess」という形で使えますので、「PHP化+モジュール化」を行おうかとしました。

どうせやるなら「.htaccess」による転送ではなく「.html」でphp実行できるようにした方がスマートなような気がします。。
しかーーし!、もくろみはあっちゅう間に消え去りました。「.html」でphp実行することは試してみて出来そうでしたがphpは(.cgi は)「cgi-bin」フォルダーでのみ実行可能だったのです。
ガーーーン!だめぢゃん。。

<いずれ参考にしたい覚書>
あなたのmovabletype、重たくないですか?(テンプレートモジュール化)
MTのPHP化とページ分割
Movable Type の PHP化(その1)
Movable Type の PHP化(その2)
出力ファイルのパーミッション変更
MT/カテゴリーのページ分割~php化~

縁にまつわるエトセトラ。。 さくらでしているこちらのブログは上記を参考に早めにしてみようかなと思う。。

2005年06月11日

ぶろっぐぴんぴん を使ってみた

「ぶろっぐぴんぴん」とはBlogPeopleのPing送るツールです。

サイトの更新時に更新PINGが送れないBlogシステムや日記システムをお使いの方のための無料のWindowsとMac用ソフトです。またトラックバックPINGも送ることができます。

だそうです。会員登録すると使えるようになります。

Movable Type ですから「ウェブログが更新されたときに通知する」に Ping 先を登録しておけばいいのですが、ここのブログ重いんです。
で、少しでも負担を減らすため こんなPingを送るツールを探していました。
正確には。。たまたま見つけました(W

ええ感じです。
で、このツールトラックバックPingも送れます。
しかし。。これってもしかして。。ちょっと試してみました。

出来るじゃーん。HTMLページをトラックバックPingする。。これいいのかな??

2005年06月10日

Movable Typeのパスワードを忘れた!

最近ここのMovable Typeは500エラーが頻発で困ってます。いくつかTBもらったエントリーでTBお返ししようとしてもエラー。カテゴリ再構築でもエラー。。。もううんざりです。
なんか軽くならないか色々やってるときにふとログアウトしたわけですが、再度ログインしようとしたらパスワードがわかんねぇ。。

パスワード色々入れてみましたがさっぱりです。。どうしよう。。Movable Typeにログインなんて久しくやっていなかったからパスワードなんか綺麗さっぱり忘れてます。

仕方がない。。「パスワードを忘れたら・・・」をしてみる。。えぇーパスワード変えましたって。。メールしましただと。。しかしいっこうに!!

メールきません(爆

ガーン!!どないしょ。。悪あがきで、パスワード換えられているにもかかわらず
一生懸命再度ログインしてみる。。無理さ。あぁ無理さ。

検索してみる「Movable Type ログイン パスワード」。。ありました。
わらしべ日記: Movable Typeのパスワードを忘れたら

助かったぁ~。あぶねぇ、あぶねぇ。読んでみて思ったのですが状況ほぼ一緒(W

いろんなことにパスワードが必要でもう多すぎ!

2005年01月17日

トラックバックのTEST

さっぱりよく分かりません。。

できているような気もしますが、コメントの方はきちんと動かない。。だめぢゃん
サイン・インしてるのに認証しなかったり。いまいちです。
もう少し改良が必要です。

しかし、blog始めてどんだけたっとんねん
ず~っと、独り言でしたからねぇ

◆同日、夜 追記。。
なんとなく。。いやなんとか できちゃったようにも思います。

先日Ver 2.661 → Ver 3.121 へバージョンアップしましたが、実はせっかくブログしてますのでコメントやトラックバックなんかも使ってみたいなぁ。。なんて。
2.661のときに何故しなかったかというと、なんだかコメントスパムだとかがえらいウザイらしく
躊躇してました。

Ver 3.x になりTypeKeyなんかで、そういう対策がきちんとされたそうでやってみることにしました。。が!結構めんどかった

参考にさせていただいたのはたぶんかなり有名なサイトだとおもいます。
 Movable Type 3.x 導入手順
などです。。ざっと導入しコメントやトラックバックのところはとりあえず置いていました
すっとばして3.121jaにいきましたのでファイルなんかも、どれが要ってどれが要らへんのかいろんなサイト調べまくりましたよ。。(疲れた)

コメント・トラックバックのところですが意外とトラックバックのところはすんなりできたかも。
コメントのTypeKey サイン・インは苦戦しましたね。で、いろいろ調べてこちら
 アップグレード後TypeKeyにサインインできない場合
なんかを参考にさせていただきました。

其々サイトの皆様、大変参考にさせていただきました。m(_'_)m

◆(追々記) 「auto-discovery」 なるものをあまり分からずチェックしていて
重複トラックバックになっているようです。
大変失礼いたしました。申し訳ありません。。

2004年12月19日

TEST アップグレード Ver.3.121

Movable Type のバージョンアップしてみました Ver.3.121 です
。。見た目は変わりません(爆

っていうか、まだテンプレート更新してないんですよね。大変そうだし
まぁ、トラックバックもコメントも今は受け付けてないのでできるんですがね。。たぶん

2004年06月25日

ウェブマス・ブログ

独り言ボツボツ書いていましたのを
今 流行?!のブログにしました。。

まぁ、何が変わるわけでもないんですが。。

で、過去の独り言も移転しました

投稿者 こてつ : 00:31