ほんとMTって奥深い。
先日の「文字コード変更」の際の副産物として、インポートしてきたアーカイブのリンク不良に悩まされていたのだが、そもそもMTのデフォルトで生成されるファイル名に秘密があったようだ。
エントリー名(ココでは簡略化のためそう呼ぶが、正式にはエントリーアーカイブファイルというらしい)のデフォルト設定のファイル名は"yyyy/mm/entry_basename.html"でこの"entry_basename.html"
と言うのがクセモノ。 ここがエントリータイトル(記事のタイトル)から生成されるのだが、もちろんURLとして吐き出されるので日本語は使えないからアルファベットに変換するわけで、意味不明な英語 もしくは post_00Xのように変換される。
昨日までのウチのBLOGでの設定はこうなっていたのだが、文字コード変換をした後にいくら再構築をかけても、アーカイブリンク関係がpost_XXXにリンクしてくれなくなっていた。
なのでリンク関係がおかしかったのだ。
そこでエントリファイル名を全て、年/月/日/エントリID に変更してやったところ
無事にリンク復旧!
そもそもウチの会社で使っているCMS用ベースプログラムはこうゆうルールを素から作るので、こういった訳のわからんトラブルには弱いのよね。
そもそもなぜにデフォルトでエントリーIDで管理しないのか不思議ではある。
が、同時に英語圏でのSEO的には正しいとも言える。
URLの中に検索用語が入れられるわけだからね。
ドメイン名と同じ原理だわ。
しかしこの手の海外製ソフトの場合、特に日本語特有の現象に悩まされることが多い。
この場合も似たようなもので、かといって英語圏のほうが圧倒的にユーザーが多いのだから、デフォルト設定を変えろ!とは言わないがローカライズする時点でこのアタリは視野に入れて開発して貰いたいものです。
似たような話で、ウチの案件でグローバルカンパニー系の場合、業者向けのサイト構築の際の価格表示で悩まされることも多い。 これは商習慣の違いによるところが多いのだが、
日本的商習慣からすると
【定価表示にしてくれ!】
業者によって(数量や支払い条件等によって)仕切り価格(定価から業者価格として割引された後の金額)が違うから・・・
で、欧米的商習慣からすると
【Wholesale Price にしてくれ】
業者への納入(販売)価格であることが多い。
なので、¥と$の表示の違いだけではなく、表示価格の意味するところも違ってくるんですね。
これに、一般顧客向けやら国別やら設定しなくちゃいけないんで、MTで開発するとカスタマイズに時間がかかっちゃう。だからウチはオリジナルのCMSプログラムを使うんですね。
もっともMTにはMTの良さもあるんで使ってみているわけですが・・・。
やっぱり仕事は時間勝負なことも多いわけで、こんなエントリー名一つでリンクが機能しなくなるようなデフォルト設定されてるソフトはなかなか使えまへんなぁ。
【今回参考にさせて頂いたサイト】
エントリーアーカイブ出力フォーマットを考える, in Uncertainty, on Movable Type 4989
http://movabletype.yh.land.to/archives/2005/10/26/movabletype-permalink-archivefilepath/#customize
上記の内容はココが詳しいのでご興味にある方は覗いて見て。
頂いたコメント