MovableTypeメモの最近のブログ記事

#xperia でMovable Typeを扱えるブログクライアントを捜していたんだけれど、うまくみつからなくて困ってました。WordPressのはいっぱいあるみたいなんだけど。

しばらく困ってたんですが、なぜかふと思いついて、ブラウザで管理画面にアクセスしてみると、もしかして問題ない?タイトルの修正とかカテゴリの変更ぐらいなら十分使える感じ。

以前、アドエスをメインでつかってたころは、Windows Mobileがだめなのか、Willcomの回線がだめだったのかわからないけれど、ブラウザでアクセスするという考え方が抜け落ちていたので、まさに目から鱗でした。

とはいえ、もっと軽く動いてくれるとうれしいので、MT4でつかってたiMTを思い出してインストールしてみました。

iPhoneサイトが見れるブラウザを使うか、前みたいにiMTのほうでUAの判定の部分をみて、Androidでも通してもらえるようにすればいいかなと。

iMT - iPhone Interface for Movable Type | MovableType.org - Home of the MT Community

This plugin automatically provides a customized and specially designed user interface for Movable Type 4.x and 5.0 users accessing their Movable Type installation via their iPhone or iPod Touch (should also be compatible with Android-powered phones).

ということで、MT5でも使えるようになってるし、しかもAndroidでもつかえるっぽい?

Xperiaでアクセスしてみると・・・標準のブラウザで、iMTのログイン画面になりました!

ということで、この記事は、PCで作成して下書きにしておいたものを、Xperiaのブラウザから公開したものです。

写真付きメールでブログに公開したものに追加で書き足したり修正したりということはよくあるんだけど、かなりやりやすくなりました。いい感じ。

久しぶりの、ブログ設定のメモのエントリー。MT5にした時のカスタマイズというか設定の内容です。

サーバの引越し前、MT4の時には、mt-search.cgiがエラーで、ブログ内検索も、同じタグをつけた記事の一覧ページも表示されないような状態になってしまってました。

ブラウザではサーバでのCGIのエラーが表示されてしまい、検索結果画面が表示されないのですが、mtのログにはsearchされたログが残っています。

このログの量が、スゴイ!1日で数千件!

MTのシステムログにはIPアドレスも表示されているので、それで調べてみるとgoogleとかyahooからクローラがガンガンアクセスしているようです。

以前使っていたサーバはxrea。異常に集中的にCGIが動作すると、そのプログラムは動き始めたらkillされるような記述を見かけたことがあるので(2.6のころに、トラックバックやコメントのスパムがひどかったころだと思うんですが、情報のソースは見つからないので、ほんとじゃないかも)、タグのページへのクローラのアクセスが多いmt-search.cgiが集中的にアクセスが多すぎるCGIとして、途中で止められているんじゃないかと疑ってました。

サーバの引越し後、まずGoogleのウェブマスターツールで巡回速度を遅くしてみました。すると、このスピードのせいで全部巡回できなかったみたいなメッセージがバンバン表示されてしまいます。ヤフーやその他の検索エンジン向けにもrobot.txtで巡回間隔を指定してみたけれど、MTのログの状況は好転しません。

ここは思い切って、タグの記事一覧ページはrobot.txtでクローラの巡回対象から外すようにしました。ブログ内検索、タグが使えることを優先し、その分のアクセスが減少したとしても構わないと割り切っての実行です。

検索エンジンの検索結果画面からは、タグの記事一覧ページへのアクセスも結構ありました。しかし、そのページへのアクセスにつながったキーワードはほとんどが、同じキーワードを含む個別記事ページが存在するものでした。そこで、タグの記事一覧ページが無くなったとしても、代わりに同じ文面の個別記事ページが出てくるだろうと判断。

サイトのボリュームがどうこう、インデックスされたURLの数がどうこういう方もおられますが、どうせ水増しされた
ページ、他のページのテキストの切り貼りなのは検索エンジン側も分かると思うので、こんな増やし方あまり効果もないだろう→減ったって影響はないだろうという気持ちもあります。

また、個別記事ページにないようなキーワードの組み合わせの場合、タグ一覧のページでたまたま組み合わさって出てきたとしても、役に立たない情報です。アクセス数の減にはなるけれど、アクセスしてきてこのブログにがっかりする人も減るということなので、それもよかろうと。

User-agent: *
Disallow: /mt/
Allow: /

mt-search.cgiだけ拒否すればいいんだけれど、もうmtディレクトリまるっと拒否にしておきました。

この結果、MTのログは1時間に1件ぐらいしか増えないような穏やかなものになり、意外にもというか半ば予想していたようにブログへのアクセス数には違いが感じられず、ということになりました。

また安心して、タグの絞り込みとかもう少し便利になるように調整できるなあ。そもそも、これをやってしまったのが、タグのキーワードの組み合わせたURLで凶悪なクロールになる原因だったと思うので。手をつけられなかったんですよね ><。
[MT]タグ検索結果を絞り込み!複数タグでAND検索(1) - Notebook :: Hibi no Note
[MT]タグ検索結果を絞り込み!複数タグでAND検索(2) - Notebook :: Hibi no Note

MT5の管理画面、私は結構好きです。MT4の時より、自然に使えます。左サイドのメニューが、2.6とか3のころの記憶を呼び覚ますのかなあ(笑)。

だだ、どうしても違和感を感じていたのが、記事の保存や公開のボタンが画面の右にあること。

単なる慣れの問題だと思っていたのですが、なかなかクリアできず・・・。

テンプレートの編集画面の保存は、画面の下にあります。カスタマイズしている時期は、テンプレートの画面もよく使っていて、そのせいで下にボタンがある場合と右にボタンがある場合が混在していて、慣れるのに時間がかかっているようです。多分記事を書いているだけなら、すぐ慣れたんだと思います。

で、こちらのプラグインと出会いました。

MT4ライクな位置に保存ボタンを追加するMovableTypeプラグイン:AdditionalEditButtons | Movable Typeプラグイン | MTエンジニアブログ | スカイアークシステム

このプラグインは編集画面の下に MT4 よろしく保存ボタンを追加するだけのプラグインです。が、MT4 に慣れた人にはイイカンジらしいのです。


ちょっとしたことですが、記事を書いたあと、するっと保存の操作ができるのが、とってもありがたいです。

MT5になって、ログの文面だったり、他にもどことは印象に残ってないけれど、日本語になってないところがちょくちょくあります。

特に困るほどのことはないし、英語のサービスを使っている程度の人なら違和感を感じることもないと思うんだけど、ちょっとびっくりしたのは、コメントやトラックバックの通知メールが文字化けしていること。最初、てっきりスパムだと思って、「スパムとして報告する」リンクをクリックしてしまいました。

そのままでもどうってことはないんだけど、直す方法が簡単だったので、直しておきました。

MT5でメール送信内容が文字化けしてしまう場合 | Movable Type 5 | MTエンジニアブログ | スカイアークシステム

MT4の頃は意識する必要はなかったと思いますが、MT5rc2のコードでは、config情報にMailEncodingの初期パラメータが設定されてないようで、そのため代用としてPublishCharsetの文字コードを利用してしまうようです。結局のところ、ヘッダ情報で送ってる文字コードと合致しない場合、問題がおきるみたいですね。

対処方法としてはmt-config.cgiに直接「MailEncoding ISO-2022-JP」等を記述することで回避できるようです。

ここではRCではなく公開版を使っていますが、同じ状況です。なので、こちらを参考に、ISO-2022-JPに設定しました。メールなので、文字コードはS-JISにしとけってことですね。

このブログにコメントができないと、Twitterでメッセージをもらいました。

そういえば、Movable Type 4から5にバージョンアップしてから、コメント投稿のテストはしていなかった・・・。ということで確かめたところ、認証に使われるCaptcha画像が表示されてない!

実は、MT3からMT4へのアップグレードの時にサーバを引っ越したときにも、Captchaが表示されないという問題がありました。

PerlモジュールCrypt::DH追加で解決!「MT4のCAPTCHA画像が表示されない」 - Notebook :: Hibi no Note

今回はインストール後のmt-check.cgiでは、直接関係しそうなモジュールについてなにも書かれてなかったので、当然OKだろうと。どうも、MT4の時にはまったものとは、違う理由のようです。

前回は目星をつけるためのエラーメッセージがどこかに表示されたので、解決することができたのですが、今回は手掛かりなし。

仕方なく「MT Captcha画像 表示されない」系のキーワードの組み合わせで検索しては、上位から順に見ているうちに、偶然、CORESERVERでCaptchaが表示されないという問題を解決した方のブログにいきあたりました。

私が今使っているレンタルサーバも、CORESERVER.JP。CORE−MINIプランを契約しています。手元での現象では、原因を推測できるようなものがなく、他に見当がつけられないし、CORESERVERつながりというだけで同様に修正してみました。ちょっとソースを修正しないといけない箇所があるとのこと。

CORESERVER で MT4 のCAPTCHA画像が表示されないときは : ohsuda.com
CORESERVERでのMovableType4のCaptcha画像の不具合回避 - Glocal Vision

ImageMagickという画像処理ツールの中で、montageコマンドがフォントを探す際に見つからずエラーが出ているようです。montageコマンドを避けてconvertコマンドを使うように、Captcha.pmを変更してこの問題を回避しています。

修正箇所は以下の通り。

#---------------------------------------------------------
my $im = $imbase->Montage(geometry => $geometry_str,
tile => $tile_geom);
#---------------------------------------------------------

の部分を以下のように修正します。

#---------------------------------------------------------
my $im = $imbase->Append(stack=>"");
#---------------------------------------------------------

なんと、見事に解決!

さらに元の記事をたどっていくと、相談者さんはXREA。私も前はXREAでしたが、この現象はなかったので、同じプランでもサーバマシンが違うと、インストールされているモジュールなどの条件に左右されるようです。

これで、サインインなしでもコメントが投稿できるはず。

rel="canonical"タグがドメインを超えてもサポートされるようになったということで、このブログにも入れました。

ここでレンタルしてるサーバ、CORESERVER.JPでは(XREAでも同じですが)、もともと、独自ドメインを指定しなければ、coreserver.jpのサブドメインとしてアクセスできます。独自ドメイン設定後も、そのURLは生きているので、このブログにアクセスできるURLはhttp://blog.studio-fu.com/から始まるものとあわせ、2種類あるということになります。

重複コンテンツについては自分のところでは、もとのサーバのURLを一切使ってないのでアクセスの可能性は低いと思って気にしていなかったのですが、クロスドメインでもURLの正規化タグが有効になるとのこと。

Googleによる公式のアナウンスはこちら。
Official Google Webmaster Central Blog: Handling legitimate cross-domain content duplication

日本語の解説はこちらなどを参考に。
Google、ドメイン間の rel="canonical" タグのサポート開始 | 海外SEO情報ブログ・メルマガ

ちょうどいいタイミングなので、どの程度で設定できるものなのか、試しておこうと思いました。

アーカイブテンプレートに設定される予約変数 | Movable Type 4 ドキュメント
を眺めつつ、各ページで自分のURLを設定できるようにしたつもり。このブログにある主要なページには表示されると思うんですが、どうでしょう。


<mt:SetVar name="url" var="">
<mt:If name="main_index">
<mt:SetVarBlock name="url"><mt:BlogURL></mt:SetVarBlock>
<mt:ElseIf name="archive_template">
<mt:SetVarBlock name="url"><$MTArchiveLink$></mt:SetVarBlock>
</mt:If>
<mt:If name="url" ne="">
<link rel="canonical" href="<mt:GetVar var="url">" />
</mt:If>


もっと簡潔に書けるMTタグ(自分のURLが取得できるようなもの)があるかもしれません。

上記でカバーできてないところとしては、タグの検索結果のページにも入れてみたかったのですが、パラメータも含めてさくっとURLを取得できるMTのタグがわからず、いったんあきらめました。


あわせて、携帯表示用のMT4iにも入れました。個別記事のみに入れてあります。ENTRY_ORIGINAL_URLというMT4iのパラメータを使うと元のブログのURLが表示できます。

header.tmplの<head>内に以下を追加します。


<TMPL_IF NAME="MODE_INDIVIDUAL"><link rel="canonical" href="<TMPL_VAR NAME="ENTRY_ORIGINAL_URL">"></TMPL_IF>

トップページとかカテゴリ別の一覧とは、PC版のブログとは重複するなんて絶対思わんやろ〜〜と判断して、なにもしていません。

特になにという効果があるわけではないはずですが、ときどき、Yahoo!の検索でMT4iのページが表示されている時があるようなので、いつかそのあたりが解消するかも・・・と期待しています。

これも、基本的には以前からやっていたもの。

Movable Type&MT4iでモバイルSEO(3) Googleモバイル サイトマップの作成 - Notebook :: Hibi no Note

前回は、カテゴリのページも入れていたのですが、前回の内容だとそれぞれ1ページずつしか記載できてないんですしょね。MT4iでは、カテゴリに含まれる件数が多いとページの分割処理がされているので、ページ番号も配慮して、全ページをサイトマップに出力させるのは可能に思えます。しかし、アクセスする端末によっては、表示件数が10件か6件と違っているので、Gooleのロボットがどちらに該当するのか、それがユーザの端末によっては、ずれるケースがある・・・とか考えると、無駄に思えてきてやめました。

ここでようやく気がついたのですが、トップページから、次へとたどっていけるページも存在します。全件数/1ページあたりの表示件数なのでかなりのページ数。しかし、これも検索エンジンに見てもらう対象としては不要と判断しました。

ということで、今回のテンプレートは前回のものからカテゴリの部分を省いて以下にしました。
※ここのサイトはモバイル版のURLはhttp://blog.studio-fu.com/mt4i/mt4i.cgiになってます。

<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0">
<url>
<loc><$MT:BlogURL encode_xml="1"$>mt4i/mt4i.cgi</loc>
<mobile:mobile />
</url>
<MTSetVarBlock name="ecount"><$MTBlogEntryCount$></MTSetVarBlock>
<MTEntries lastn="$ecount">
<url>
<loc><$MT:BlogURL encode_xml="1"$>mt4i/mt4i.cgi?mode=individual&eid=<$MT:EntryID$></loc>
<mobile:mobile/>
</url>
</MT:Entries>
</urlset>


これを、mt4i/sitemap.xmlとして出力。

Googleのウェブマスターツールから送信すると、「ケータイ」のサイトマップとして認識されました。

送信したURLが1,405、インデックスに登録されているURLが1,155ということで、250ぐらいはサイトマップを送信したことで新たに認識してもらえた、ということになるでしょうか。

Googleのはこれで完了。前回もそうなんですが、こういう作業をやったときには、関連する作業としてYahooとかBingとかのも調べて作っておこうと思うのですが、忘れちゃうんですよね〜〜。

MT4i用に、Mobile Link Discoveryのタグを設置しました。

これも、以前にやっていたものを、バージョンアップに伴って、再設定したもの。携帯の検索画面からサイトのアクセスを容易にするもんですが、検索順位の上下には直接は関わらない件だとおもうので、SEOではないと考える方も多いかもしれません。

携帯でGoogleを使って検索結果から見たいページにアクセスするとき、PCサイトならGoogleが携帯用の表示に変換して表示してくれます。このとき、Mobile Link Discoveryのタグを記述しておけば、対応する携帯サイトの該当のページを表示してくれるようになります。

Googleによるヘルプはこちら。

携帯電話での表示用にウェブ ページが調整される仕組みを教えてください。 - ウェブマスター向けヘルプ センター


PC版サイトと携帯サイトの両方がある場合、携帯端末でPCサイトにアクセスした場合には、サイト側で携帯の判別のスクリプトを設置しておいて、強制的に別URLの携帯サイトにリダイレクトする方法があります。また、あるURLにアクセスした場合に、携帯でアクセスした場合は携帯表示、PCでアクセスした場合にはPC表示というふうに、強制的に端末に合わせて動的に表示内容を変える仕組みで、携帯版・PC版が同じURLで表示できる方式もあります。

私の好みの問題ですが、強制的に表示内容が決められるのはいやなんですよね〜。アクセスするときの状況によってどちらを使うか選べる方が嬉しいす。例えば、回線が細ければPCであっても携帯版をみたいとか、携帯だけど細切れのサイトだと面倒だから、一気に読めるPCサイトを見たいとか。特に、アドエス(WIndows Mobile機)でネットするときには、ほんとにそう思います。指定の端末じゃないからって携帯サイトを見せてくれないのは不便です。

ですので、私のサイトでは異なるURLにして、見る人が選べる方法にしました。もちろんMT4iの仕様でこうなるというのが最大の理由です(笑)。しかし、構築時に端末によるアクセス先はURLを一緒にするか別にするかで選択の余地があるならば、別のURLを持つようにすると思います。

現状では、
・PC版のページに直接アクセスした場合には、端末に関わらずPC版が表示される。
・携帯版のページに直接アクセスした場合には、端末に関わらず携帯版が表示される。
・モバイルのgoogle経由や、google mobile gateway経由でPC版にアクセスしようとすると携帯版にリダイレクトされる。

ということになっています。

昨日、ちらっと書いた携帯版へのアクセスが少なくなっている可能性の一つとして、このタグの未設置を考えています。モバイルのサイトで、外部へのリンクに携帯用表示の変換機能がついているところもあります。携帯表示機能にはこのMobile Link Discoveryを読み取ってくれるところも増えているので、以前は携帯版へのアクセスだったものが、携帯表示用コンバータ経由でPC版へのアクセスになっているのではないかということです。

特に携帯用の広告があるサイトなら、PCサイトの変換版より、携帯ページを直接見てもらえるチャンスが増える方がいいですよね。実際のアクセスの記録としてはどうなっているのかわかりませんが、自分的には手軽に取り入れられるもののなかで、この方法にメリットを感じるので、広まってほしいなという気持ちもこめて、こんな設定をしています。

テンプレートの内容などは、以前に書いたこちらのエントリーをどうぞ。
Movable Type&MT4iでモバイルSEO(2)Mobile Link Discovery

<追記>
この設定をする前の2日と比べて、その翌日は1.5倍以上になりました。正確なデータとするには期間が短いしアクセス数も少ないですが、個人的には予想通りの傾向が見られたと思っています。

Movable Type 5 にアップデートしたのに合わせて、テンプレートを調整した部分。

これも、基本的にはMT5に限らない内容。以前から同じようなことはしていたけれど、参考にしたとことか忘れてたので今後のために、メモを残しておく。MT5ならではのカスタマイズって、このブログで見えるところとしてはほとんどやってないんだなあ。


前後の記事へのリンク

MT4もMT5もデフォルトでは、個別アーカイブのサイドバーに前後の記事へのリンクが表示されるようなテンプレートになっています。

個人的にこれはすきじゃないので、記事の末尾にリンクが表示されるように修正。

MTEntryPrevious | テンプレートタグリファレンス
MTEntryNext | テンプレートタグリファレンス
とか、サイドバーのウィジェットテンプレートの内容を見れば、わかるはず。


関連記事へのリンク:タグ

タグを利用した関連記事のリンクの生成については、MTの変数や制御構造の活用という面から、こちらが非常に面白いです。
MTSetVar(Block)/MTIfタグの具体的な利用例。 - Junnama Online

が、私の環境では再構築に時間がかかるのが難。サイドバーは、PHPのインクルードにしてあるので、現在の個別アーカイブのテンプレートの状態は、デフォルトからサイドバーをなくしたような感じです。エントリー数1400件、タグが230個という状態で、上記エントリの内容で関連記事を表示させるようにすると、エントリーをすべて再構築すると、1時間かかるようになります(とはいえ、ひとつの記事を書いて公開するのなら、数秒間なので、実用的でないとはいえないと思っています)。

そこで、以前、MTRelatedEntriesというタグを使えるようになるプラグインに変えたのですが、MT5にしてからは、件数の指定がきかず、1件しか表示されないようになってしまいました。このプラグイン、よくあるタグ名のようで、もとはどれだったか思い出せず、ちゃんと記録しておかないとだめだなあ。

今回は、こちらを使ってみました。
TagSupplementals - ogawa - 「タグ」機能を追加・拡張するプラグイン。 - Project Hosting on Google Code

全エントリの再構築が、上の条件で10分ぐらいで完了します。

<追記>以前のエントリーに、プライグイン名が書いてあることに気がつきました。使っていたのは、同じくTagSupplementalsでした。ローカルに保存してあるプラグイン類から、私が同じタグが使える別のプラグインをアップロードしてしまっていたようです。こうやって記録しておくのって自分のためになるんだなあと、改めて感じているところです。</追記>


関連記事へのリンク:カテゴリ

カテゴリによる関連記事はこのプラグインをつかったもの。
MTRandomEntries : Movable Type プラグインディレクトリ - Six Apart

カテゴリを指定する必要があるので、setVarを使って、そのエントリーのカテゴリが指定できるようにしています。忘れたような古い記事が出てくるので、自分自身が楽しめます。

タグの内容は以前に書いたエントリーに。
[MT]プラグイン「MTRandomEntrie」で関連記事を表示!ページビュー改善に - Notebook :: Hibi no Note

画面下のリンクによるページビューの変化について以前まとめた記事がこちら。このときはサイドバーのリンクすらなくなっていたので、単純に今と比較できるわけではありませんが、参考まで。
[MT]関連記事を表示して1ヶ月。平均ページビュー・直帰率はどう変わったか? - Notebook :: Hibi no Note

Movable Typeにしたこのブログの携帯版に、モバイル用のGoogle Analytics以外に、うごくひと2myRTモバイルも設置しています。

うごくひと2は、上級版のperl用のコードをもとにしていますが、そのままでは表示できないので、昨日のモバイル用のGoogle Analyticsにならって、sub ugokuhito_get_image_url()という関数と、UGOKUHITO_IMAGEという名前でテンプレート用のパラメータを作って、MT4iのテンプレートで置換できるような形で書き換え。管理画面ではサイトごとの設定で、取得するパラメータの指定ができるので、mode、cat、id、eidを設定しました。

myRTモバイルには、個別のページでデータが取得できるコードはPHP用しかありません。しかし、HTML用のタグでURLを変えて取得すれば個別のページのデータを取得できるとのこと。そこで、解析タグ内の画像URLを返すページ別にURLを取得して、タグを生成するようにして、各ページ別の解析タグが表示できるようにしてみました。


sub myrtmobile_get_image_url{
my $url = 'http://blog.studio-fu.com/mt4i/mt4i.cgi';
my $query = $ENV{'QUERY_STRING'};
if ($query ne ''){
$url .= '?' . $query;
}
$url = '//t7.aqtracker.com/cgi-bin/asp/tagx/h/**********='.uri_escape($url).'/blank.gif?guid=on';

$url;
}

URLを頭から取得する方法がすぐに分からなかったので、今日のところはあきらめました(SERVER_NAMEとSCRIPT_NAMEをくっつけるの?でも、もっと簡単なのがありそうな気がする)。
***のあたりは多分、サイト別かと思ってふせてみました。

ざっとこんな感じでページ別に、URLを生成するようにしておいて、sub _tmpl_common()で


# myRT Mobile
$tmpl->param(MYRTMOBILE_IMAGE => '');

としています。これでfooter.tmplに<MPL_VAR NAME="MYRTMOBILE_IMAGE">を記入すると、そこがmyRTモバイルのタグに置換されるというわけです。

以前にも、うごくひと(2じゃないころ)とmyRTモバイルのタグは設置したことがあります。うごくひとは、2ヶ月ログインしないとデータが取得されなくなるということで、そのままいったん退会しました。今回、再登録です。

myRTモバイルは、以前から継続しています。MT5にして、テンプレートを初期化する前までは、myRTモバイルの管理画面では毎日数10PVが記録されていました(当時は全ページ共通のタグなので、ページごとの解析はできない状態)。が、今のところGoogle Analyticsでは数PVしかありません。この違いには

・ツールによる差異(Google Analyticsの設定ミスの可能性も含む)
・数日前からそもそものPVが減少した(どのツールでも以前より少ない)

という可能性を考えています。

MT5にアップデートしてから、PC用のブログとモバイルサイトとの連携に関して、まだ以前のようには設定できていないところがあるので(設定できたら書きます)、以前より携帯サイトにアクセスしにくいと思うので、アクセスが少ないのかもしれません。

そのあたり、推測する手段のひとつになればと思っています。

このサイトについて

アーカイブ

Powered by Movable Type 5.14-ja