サイト移転メモ

   

今回のサイト移転作業でやったことを覚えてる範囲でメモメモ。
1. 当たり前ですが新ドメイン(kazunoblog.com)登録とレンサバ契約
 特に深い理由もなく、ドメイン検索したら空いてたのでとってしまっただけです。とるだけとって置いておこうかと思っていたのですが、いざとっちゃうとだんだん使いたくなるという罠(笑)。仕方なく(?)レンサバも契約。あれだけ不具合出てむかついていたのに、性懲りもなく安さと別のサーバー設定覚えたくない無精から、またもロリポ。これで、ロリポ4つ目です・・・。
2. MT3.2-ja-2インスコとMySQL
 いつものとこからMT3.2-ja-2をダウンロードしてインスコ。移転前サイトは、面倒くさくて(各方面から大変だったとの評判が多かったから)3.17からアップグレードしてませんでしたので、初3.2です。3.2はBerkeley DBだとちょっとねって話があったので、MySQLに。特に問題もなくクリア。
3. 旧サイトの画像フォルダをコピー
4. テンプレートをコピー
 ここが一番大変でした。3.2になって変更になっている部分がある上に、もともと継ぎ足し継ぎ足しで作ってた旧サイトの汚れたテンプレをそのまま移植するのもどうかと思い、小粋空間さんところの3.2用テンプレと旧サイト汚れテンプレとを並べて見比べながら、新しいテンプレ作成にいそしみました。
 今回はPHPにしたので、行頭はこれに変更。

<?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'."n" ?>


 あと、コピーライトに自動年判別のcp.jsを旧サイトからFTPでコピー(これ忘れてて、IEでページ表示させるたびにエラーが出まして、FireFoxのjavascriptコンソールでエラー内容調べてようやく気づきました 汗)。
 せっかくいじるので、見た目も少し変えようと、背景やらちょこちょこいじって、重かったフッターを刷新。自分使い用にアフェリエイトリンクを張り貼りして、カレンダーはKinarie&MayさんところのFlashカレンダーをお借りして設置。
 アクセス解析を新サイト用に変更。
 Google様に巡回いただくためにサイトマップテンプレを作成してGoogleサイトマップに登録。テンプレはこんな感じ。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<priority>1.0</priority>
</url>
<MTCategories>
<url>
<loc><$MTCategoryArchiveLink encode_xml="1"$></loc>
</url>
</MTCategories>
<MTEntries lastn="9999">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod>
</url>
</MTEntries>
</urlset>

5. 画像アップロード時のレイアウト変更
 これもお約束。lib/MT/App/CMS.pmの

my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" border="0" />) : "View image";

my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" border="0" hspace="5" vspace="5" align="left" />) : "View image";

に変更
「mt-static」フォルダの中の「mt_ja.js」ファイルの296行目付近

setSelection(e, '<a href="' + my_link + '">' + str + '</a>');

setSelection(e, '<a href="' + my_link + '" target="_blank">' + str + '</a>');

に変更
6. favicon
 今回はサイトカラーをグレイにしたため、これまで使ってたfaviconだとちょっとイメージ違ったので、グレイのヤツを作ってアップロード。
7. スパム対策
 一応、mt-comments.cgiとmt-tb.cgiはリネームして、mt-config.cgiのCommentScriptとTrackbackScriptのところを変更。
8. リビルド数変更
 MySQLにしたら少し軽くなるとか聞いたような気もしますが、エントリ多いし、なんたってロリポなんで(笑)リビルド数は40から20に。mt-config.cgiのEntriesPerRebuildを変更。
9. Edit thisのBookmarklet
 これまで使っていたのが3.2では動かなくなったので、bricklife.weblog.*さんところの記載に従って、表示している記事を編集するBookmarkletを再度作成。
10. 記事のエクスポート・インポート
 旧サイトから記事をエクスポートして、ドメインとか置換して、内容チェックしてインポート。途中で何度も止まるので、そのたびにOK出たエントリまでを削除してFTPしてインポートの繰り返し。
10. 鬼門?の301リダイレクト
 SEO的にはよろしくない(Google様に嫌われる?)との意見もある.htaccessを使った301リダイレクトですが、こっちの方が良いとかって意見もあったりして、よくわからないし、ここには

HTTP 301 の(永久的な)リダイレクトを使用して、以前の URL から新しいサイトにリダイレクトするように設定すると、Google のクローラで新しい URL が認識されます。

って書いてあるので、Google様が良いとおっしゃっているのだからこれでいこうと。(今回のサイト移転の目的の一つにリダイレクトが本当にダメなのかやってみたいというのもあったので、仕事上。)
面倒だったのは、旧サイトがHTML、新サイトがPHPだったこと。なので、単純なリダイレクトはきかないため、こちらを参考にさせていただき、リダイレクト用のソースを作成するテンプレを作って再構築して秀丸で修正かけてやっとこ出来ました。私が使ったテンプレはこれ。

<MTArchiveList archive_type="Individual"> Redirect permanent <MTEntries><$MTEntryLink archive_type="Individual"$></MTEntries> http://kazunoblog.com/archives/<MTEntries><$MTArchiveDate format="%Y/%m/%d_%H%M"$>.php</MTEntries></MTArchiveList>
<MTArchiveList archive_type="Daily"> Redirect permanent <$MTArchiveLink$> http://kazunoblog.com/archives/<$MTArchiveDate format="%Y/%m/%d/"$>index.php</MTArchiveList>
<MTArchiveList archive_type="Monthly"> Redirect permanent <$MTArchiveLink$> http://kazunoblog.com/archives/<$MTArchiveDate format="%Y/%m/"$>index.php</MTArchiveList>
<MTArchiveList archive_type="Category"> Redirect permanent<$MTCategoryArchiveLink$> http://kazunoblog.com/<$MTCategoryArchiveLink$>/index.php</MTArchiveList>

改行がうまくされなかったので、秀丸の置換を使って改行を挿入。

正規表現にチェックを入れて、phpをphpnに置換

旧サイトは相対指定じゃないといけないので、これも置換で削除。
旧サイトと新サイトのエントリをざっと見比べて、違っている場所を修正(私は今回archivesフォルダを作成しなかったので、ここが不要だったため、こいつも置換で削除しました)。
出来たファイルを.htaccessとして旧サイトにアップロード。実際にいくつかページを表示させてちゃんと転送されているかを確認。
一応、覚えているのはこんなところです。あー、疲れた。
(追記)
更新pingの送信先一覧
http://www.blogpeople.net/servlet/weblogUpdates
http://ping.bloggers.jp/rpc/
http://ping.cocolog-nifty.com/xmlrpc
http://ping.myblog.jp
http://bulkfeeds.net/rpc
http://www.blogoon.net/ping/
http://rpc.blogrolling.com/pinger/
http://ping.maplog.jp/
http://rpc.technorati.jp/rpc/ping
http://ping.namaan.net/rpc/
http://www.31engine.com/weblogUpdates/1.cgi
http://www.accelanavi.com/anavi/ping.php
http://ping.blogmura.com/xmlrpc/un2k92xmcjkl
http://blogdb.jp/xmlrpc
http://blogstyle.jp/xmlrpc/
http://blog.goo.ne.jp/XMLRPC
http://ping.speenee.com/xmlrpc
http://api.my.yahoo.com/RPC2
http://ping.blogmura.jp/rpc/
(追記2)
moblog用に平田さんところのmoblog.uva.ne.jpを設定しようとしたら、「Cannot login to your Movable Type」と出てエラーに。調べてみると、MT3.2になって、XML-RPC APIのパスワードをログインユーザー毎に設定することになったようです。
moblog用のアカウント(ブログ管理者として設定しないと下記出ませんでした)でログインしてから、
メイン・メニュー > システム・メニュー > 投稿者 > [ユーザ名]の下のところにあるAPIパスワードを設定して、これをmoblog.uva.ne.jpに入れてあげると完了。
templateは

%(imagecontent)s%(caption)s<br clear="all" />n

image templateは

<img src="%(imageurl)s" align="left" hspace="5" vspace="5" />

(追記3)
コメントスパムがあまりにもひどくなってきたので、下記対処(1バイトはじき)を。
lib/MT/App/Comments.pmファイルの

$passed_filter ||
return $app->handle_error($app->translate("_THROTTLED_COMMENT"),
"403 Throttled");

の下に、

if(($q->param('text') ne "") && ($q->param('text') !~ m/[x80-xff]/)) {
return $app->handle_error($app->translate("Comment text is invalid."));
}

 - Customize ,