Home » [Tech] » [Movable Type]

2006.07.23

[ Movable Type]   フィードがループしていた件について

ここ数日のアクセス数が普段の半分くらいだったので、おっかし~な~と思いつつも通常でもスズメの涙程度のアクセス数だからこんなもんなのかな~と思っていた次第です。

で、週末になっても戻らないので、まさかMT3.3にアップデートしたときに設定ミスったか?と、さすがに不安になったので調べたところ何てことはない・・・

実は先日(といっても大分前ですが)RSS/AtomfeedをFeedBurnerにすり替えたのですが、その際に放置していた通常のフィードのURLのリダイレクトをmod_rewriteでやる、ってのをMTのアップデートのついでに行った次第なんです。

が、その際に.htaccessに設定したのが

RewriteEngine On
RewriteRule ^index\.rdf$ http://feeds.feedburner.jp/hidek [L,R=permanent]
RewriteRule ^index\.xml$ http://feeds.feedburner.jp/hidek [L,R=permanent]
RewriteRule ^atom\.xml$  http://feeds.feedburner.jp/hidek [L,R=permanent]

・・・そうです。全部リダイレクトしてました

FeedBurnerにはatom.xmlを登録してあるのですが、FeedBurnerがフィードをatom.xml取得しに来ても、リダイレクトされて結局FeedBurnerのフィードを取りに行き・・・これでは更新されるはずもありません。

とはいえ、以前にatom.xmlをRSSリーダーにフィードとして登録してくれている方もいらっしゃるようなので、これもリダイレクトしたい。

というわけで、Atomのテンプレートをそのまま新しく作ったAtom for FeedBurnerってテンプレートにコピーしてfeed.xmってファイル名で再構築するようにして、FeedBurnerにはこっちを登録して事なきを得ました。

再構築の際に若干負荷が上がりますが、まぁ当面の処置ってことでよろしいかと。

というわけで、すでに登録してくださっている方はなるべく

http://feeds.feedburner.jp/hidek

に登録しなおしてくださるとありがたい次第です。

2006.07.13

[ Movable Type]   Cpatcha Pluginをレンタルサーバーで使ってみる

最近、コメント・トラックバックスパムがしゃれにならなくなってきたのでOgawa::Memorandaさんが公開しているCaptcha Pluginを入れてみました。Yahoo!とかの登録画面でよく見るあれです。これで機械的なスパムは防御できるはずです。

cpatcha.gif

ただ問題なのはこのプラグインはAuthen::Cpatchaモジュールを必要とするのですが大抵のレンタルサーバーにはインストールされていません。

で、GDとDigest::MD5(その他のモジュール)がインストールされていることを前提に以下のようにすれば動きます。この二つはMovableTypeが動いていれば多分入っているはずです。

サーバーのMTのextlibディレクトリにAuthenディレクトリを作成します。

CPANからAuthen::Cpatchaパッケージをダウンロードします。

ローカルで解凍して[MTのpath]/extlib/AuthenにCaptcha.pmとCaptchaディレクトリをアップロードします。

[MTのpath]
    `--extlib
         |-- Authen
         |   |-- Captcha
         |   |   `-- images
         |   |       |-- 2.png
         |   |       ・・・
         |   |       `-- z.png
         |   `-- Captcha.pm

こんな感じです。

Captchaプラグインの配布先からプラグインをダウンロードして説明どおりにインストールします。

plugins/captcha/captcha_js.cgiを以下のように変更します。

・・・
use lib '../../extlib';

use Authen::Captcha;
use CGI;
・・・

これで動くはずです。

[ Movable Type]   MovableType 3.31へアップグレード

MovableType 3.31が公開されたので重い腰を上げてアップグレードしました。
ベータの時からちょこちょこいじってはいたのですがデザインを変えようなどと思ったのが運のつきで、かなりの放置プレーになってしまいました。

で、今回はテンプレートなどもすっきりさせたかったのでsqliteのDBファイルだけまっさらな3.31の環境にコピーして地道に変更するといった作業をとりました。

で、感想なんですが、期待していたタグは再構築が重過ぎて使えませんでした。色々手段はあるんだろうけど、今回はばっさり諦めました。

というわけで、久々に新しいデザインにしたのであちこち不具合があると思いますが、なんかあったら御一報いただけるとこれ幸いです。

2005.02.03

[ Movable Type]   コメントスパム対策

というわけで、コメントスパム対策としてOgawa::Memorandaさん御提供のQuasi-Spam Filter Pluginを導入しました。

コメントスパム対策の手法としては

  1. スパム元のIPをリストにしてはじく。
  2. 1バイト文字(半角英数字。コメントスパムの多くが海外からだから。)だけのコメントははじく。
  3. 特定の文字列が含むものははじく。

などありますが、IPなんてコロコロ変えられるので追っかけていったらイタチごっこだし、1バイト文字だけのをはじくというのもグローバルなご時勢にどうかと思い3つ目の手法のものを探していました。

なかったら、勉強がてら作ろうかとも思いましたが、前述のサイトで公開されていたので利用させていただくことにしました。シンプルでとっても良いです。しかも3.1から公開されたCall back APIも使われているので勉強にもいいです。

というわけで、今後は特定のHTMLタグを含むコメントは受け付けないようになってるのでご注意くださいまし。

[ Movable Type]   Movable Type 3.15へアップグレード

というわけで、重い腰を上げて3.15へアップグレードしました。

きっかけは昨日から大量のコメントスパムを食らったため、アンチコメントスパムなプラグインを導入しようとしたのですが、Callback APIを使っているため3.1以上じゃないと動かないからです。

ここを参考にしました。SubCategoriesプラグインを入れていたため、カテゴリーの再階層化が面倒でしたがサクッとうまくいった模様です。

なお、3.0から3.1にアップデートしたのですがアップデートログによると


Upgrading your databases:
Running 'alter table mt_blog add blog_ping_technorati tinyint'
Running 'alter table mt_blog add blog_children_modified_on datetime'
Running 'alter table mt_blog add blog_custom_dynamic_templates varchar(25)'
Running 'update mt_blog set blog_custom_dynamic_templates = 'none''
Running 'alter table mt_template add template_created_on datetime not null'
Running 'alter table mt_template add template_modified_on timestamp not null'
Running 'alter table mt_template add template_created_by integer'
Running 'alter table mt_template add template_modified_by integer'
Running 'alter table mt_template add template_build_dynamic tinyint'
Running 'update mt_template set template_build_dynamic = 0 where template_build_dynamic <> 1'
Running 'alter table mt_template modify template_build_dynamic tinyint not null'
Running 'alter table mt_category add category_parent integer'
Running 'update mt_category set category_parent = 0'
Running 'alter table mt_category modify category_parent integer not null'
Running 'alter table mt_entry modify entry_basename varchar(50) not null'
Running 'create table mt_fileinfo (
    fileinfo_id integer primary key auto_increment,
    fileinfo_blog_id integer not null,
    fileinfo_entry_id integer,
    fileinfo_url varchar(255),
    fileinfo_file_path text,
    fileinfo_template_id integer,
    fileinfo_templatemap_id integer,
    fileinfo_archive_type varchar(255),
    fileinfo_category_id integer,
    fileinfo_startdate varchar(80),
    fileinfo_virtual tinyint,
    index(fileinfo_blog_id),
    index(fileinfo_entry_id),
    index(fileinfo_url)
)
'
Creating Dynamic Site Bootstrapper.
Creating Dynamic Pages Error Template.

Done upgrading your schema! All went well.

こんな感じな変更が加わったようです。

2005.02.01

[ Movable Type]   Yahoo!向け個別エントリーSEO カテゴリー階層版

正直言って僕はSEOに全く興味ありません。と言ってもサーチエンジンのアルゴリズムには興味あるので古いですがこんな記事を見つけてフムフムと・・・

iNTERNET magazine 9 月号はヤフー特集 / Movable Type で YST SEO (NDO:Weblog)
細かいところは Googlebot と Yahoo! Slurp (YST のロボット) で違いが結構あるようですが、大枠のアルゴリズムはかなり似通っているので、Google に対しての SEO はヤフーに対しても有効。しかし、SEO するにあたって一つ大きな違いとして、Yahoo! Slurp は meta タグ (の keywords と descriptions) を解釈するという点が挙がっていました。

この号持ってるんですけど、前述の通りSEOに興味なかったので読んでませんでした。

で、MovableTypeでYST SEOする方法として記事中ではmetaタグのkeywordsにエントリーで指定したキーワードとカテゴリーのラベルを表示させる方法が紹介されています。

ご存知の通りMovableType3.1からカテゴリーの階層化ができます。というわけで親階層からのカテゴリーラベルを表示させたい場合は

<meta name="keywords" content="<$MTEntryKeywords$>, <MTEntryCategories glue=", "><MTParentCategories glue=", "><$MTCategoryLabel$></MTParentCategories></MTEntryCategories>" />

こんな感じをIndividual Entry Archiveのテンプレートに書いてやればよろしいかと思う次第です。

2004.12.24

[ Movable Type]   Movable Type 3.14を2005年1月に提供

Movable Type 日本語版サイト
米国でMovable Type 3.14の提供を開始しました。大量のスパムを受信したときのサーバー負荷を軽減するための変更などを実施しました。 日本では現在、バージョン3.121をご提供していますが、2005年1月中に日本語版のバージョン3.14をお届けする計画です。

だそうです。
個人的には未だに3.1に踏み切れない(横着してるだけという噂も)のでどうなんでしょ?って感じですが、そろそろ手をつけたほうがいいのかもしれませんね。

自分のサーバーだったらDBも含めてさくっとテストサイト作って・・・って出来るんだけどレンタルサーバーだとこの辺が億劫になりがちかもしれません。

新年になったら手をつけるかも・・・たぶん・・・きっと・・・めいびー・・・

2004.12.01

[ Movable Type]   Movable Type 3.121日本語版リリース

Movable Type 3.121の提供を開始
Movable Type 3.121の提供を開始しました。Movable Type 3.121はMovable Type 3.11のマイナー・バージョンアップ版です。 Movable Type 3.11のリリース後にユーザーの皆様から寄せられたバグ・レポートなどを反映し、修正を加えたと同時に、mt-load.cgi,mt-check.cgi のメッセージやドキュメントなどを日本語化し、日本語対応を進めました。詳しい修正は、更新履歴 をご参照ください。

だそうな。
そろそろ見た目も変えたいところだからついでに3.1に移行しようかしらん。
でもダイナミックパブリッシュは鬼門っぽいので要思案ですね。

2004.11.29

[ Movable Type]   プロフィールページの作成

プロフィールページを作ろうと思ってたけどエントリーとして登録すると色々厄介になるし、どうしようかと思いつつ放置して早3ヶ月。

小粋空間

あぁ。なるほどテンプレートとして直に保存すればいいわけだ。頭いいですね。というわけでサクっと作ってみた

2004.10.21

[ Movable Type]   MovableType 3.1 日本語版リリース

10月19日付でMovableType 3.1の日本語版がリリースされたらしい。

すでに新機能はあちこちで紹介されているので割愛。

実は英語版の3.1をインストールして使ったことがあるけど個人的にはSubCutegoriesプラグインを導入したら後は事足りているのでしばらく見送り。

2004.09.25

[ Movable Type]   インデックスで表示する記事数の変更

デフォルトでは再構築から7日前までの記事を表示するようになっている。これを最新の10件の表示に変える。

続きを読む "インデックスで表示する記事数の変更" »

2004.09.14

[ Movable Type]   今聴いている音楽を動的に紹介する

Audioscrobblerとプラグインを使えば今現在WMPやiTunesで聴いている音楽をRSS配信できる。これを動的にMovableTypeで紹介する。

続きを読む "今聴いている音楽を動的に紹介する" »

[ Movable Type]   MovableTypeのPHP化

拡張子を.phpにすることでPHPが有効なサーバーであればPHPを使えるようになる。

続きを読む "MovableTypeのPHP化" »

[ Movable Type]   カテゴリーの階層化

MovableType 3.1からデフォルトの機能になったカテゴリーの階層化を3.0でやってみる。

続きを読む "カテゴリーの階層化" »

[ Movable Type]   MovableTypeのバックアップと移行

とりあえず自宅サーバーにMovableTypeを立てていたけどレンタルサーバーで運用するようにバックアップと移行をしてみた。

続きを読む "MovableTypeのバックアップと移行" »

2004.09.10

[ Movable Type]   HTMLAreaをMovableType3.0に導入する

BLOG HACKSなどに紹介されているブラウザ上で動くWYSIWYGなHTMLエディタのHTMLAreaを導入しようとしたがMovableType3.0ではテンプレートの構造が違うので独自の方法で導入する。

続きを読む "HTMLAreaをMovableType3.0に導入する" »

[ Movable Type]   エントリー編集画面にボタンを追加する

コードなどをpreタグ内で使う場合など、>など実体参照に変換するためにいちいち他のエディタのマクロや正規表現で編集するのが面倒なので実体参照変換ボタンをJavascriptで実装してエントリー編集画面に追加してみた。

続きを読む "エントリー編集画面にボタンを追加する" »

[ Movable Type]   Convert Line Breaksを有効にするとレイアウトが崩れる

Convert Line Breaksを有効にして<pre>や<blockquote>タグを利用するとしばしばレイアウトが崩れる。これを防ぐためにFormatBreaksプラグインを導入してみた。

続きを読む "Convert Line Breaksを有効にするとレイアウトが崩れる" »

2004.09.09

[ Movable Type]   長いタイトルを省略して「...」をつける

インデックスなどで長いエントリーのタイトルをトリミングして表示したいが、デフォルトで"trim_to"といグローバル・タグ・アトリビュートがあるけど日本語に対応してないし「...」をつけてくれない。自分で書こうかと思ったらすでに作っている人がいたので導入してみる。

続きを読む "長いタイトルを省略して「...」をつける" »

2004.09.08

[ Movable Type]   カレンダーの日付から日別アーカイブにリンクする

デフォルトテンプレートではカレンダーの日付をクリックするとその日の一番新しいエントリーにリンクするようになってる。これを日別アーカイブを作ってその日のエントリーを全部表示するようにする。

続きを読む "カレンダーの日付から日別アーカイブにリンクする" »

2004.09.07

[ Movable Type]   カテゴリーアーカイブを作る

管理メニューにカテゴリーがある割りにデフォルトのテンプレートでは全く意味がないどころか設定しないとカテゴリーアーカイブも作ってくれないので設定する。

続きを読む "カテゴリーアーカイブを作る" »

[ Movable Type]   テンプレートのモジュール化

テンプレートを編集してるとバナーやフッターなど同じものを何度も書くのが面倒になったのでモジュール化してみた。

続きを読む "テンプレートのモジュール化" »

2004.09.06

[ Movable Type]   テンプレートを普通のエディタで編集する

MovableTypeを導入したはいいけど、MovableTypeのテンプレートの編集画面は小さすぎるし機能がなさすぎるので(ただのtextareaなんだからしょうがないといえばしょうがないけど・・・)普通のエディタで編集できるようにする。

続きを読む "テンプレートを普通のエディタで編集する" »

Profile

About

Information