FC2からWPへ引越した際のお話 #今更

Advertisement

FC2からWPへ引越した際のお話 超今更ですけど、いつもなんとなくググりながらやっていて何も残していなかったのでメモっておきます。丁度今さっきやってたので。
ただしだいぶ既出なので細かいところ割愛は省略しています。流れだけ。
ちなみに移管はこのブログの話しじゃないです

流れ

FC2管理画面 > ツール > データバックアップ > エクスポート > 記事全部 > 全ての記事 > ダウンロード

をクリックして○○○○.txtをダウンロード。

次に、同ページ下部の

ファイルバックアップ > 画像ファイル >ページ○○ > リストを開く

をクリックして、表示される画像を全てダウンロード。

FireFoxだと DownThemAll とかアドオンで一気にダウンロードできますが、100件単位でページが分かれてるので、数が多いと結構辛い。
通るかわからないけど、管理画面から一気に全ファイルDLして後でゴニョゴニョして画像ファイルだけ集める方が楽かも。

で、WPをインストールするのですが、今回は予め下ごしらえして冷蔵庫で寝かせておいた物を使うので割愛します。

次に新サーバに画像をアップします。
今回は記事が3000以上あったので、こちらも予めサーバに直アップしてあ(ry

次にWordPress作業です。

まずWP管理画面の方で、

ツール > インポート > Movable Type and TypePad

を選択。
ダウンロードした○○○○.txtを選択して import-me.txt をクリックでアップロードするんですが、
WPにインポートさせる時はWordPress Importerというプラグインが必要です。こちらも(ry

いよいよインポートですが、ここで

Import Attachement
Download and import file attachments

というのが表示されていますが、これをチェックして実行ください。
でないと、画像が上手く取り込めません。
ただし今回は予め.txt内の画像パスを書き換えたりゴニョゴニョしてるのと、画像も直接アップしたままにしているので、この表示はでませんでした。

インポート完了。

カテゴリなんかもそのまま移行されています。
任意で調整しましょう。それとユーザーアカウントもインポート時に追加するのか聞かれてると思います。

注意点と○○○○.txtのゴニョゴニョについて

画像

画像はとりあえず注意ですよね。
で、FC2の場合ですが、先に挙げたように記事数があまりにも多かったので
ダウンロードした画像を直接サーバにアップし、○○○○.txtの記述にあるパスを一括置換で相対パスに書き換えています。
(もちろんアップした場所に、ですよ)

アイキャッチ/サムネイル

これも注意点なんですが、上記の方法でやるとアイキャッチが登録されません。
記事にアイキャッチの登録させれば良いんですが、何せ紐付いていないので一括登録してくれるプラグイン Auto Post Thumbnail が効かない。
なのでサムネイル表示させているところに表示されないんですよね。
よくわからないのと、別にいいやっていう感じでしたので、記事内、一番最初に登録してある画像を表示させる方法を取りました。

functions.phpに
function catch_that_image() {
    global $post, $posts;
    $first_img = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    $first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image
        $first_img = "http://detarame.moo.jp/wp/wp-content/themes/whbk5/images/default.jpg";
    }
    return $first_img;
}
を追加。
サムネイルを表示させたい箇所に
<a href="<?php the_permalink(); ?>" >
<img src="<?php echo catch_that_image(); ?>" alt="" />
</a>
と差し替え。

参考はこちら:記事内の一番最初の画像を取得してサムネイル画像表示

パーマリンク

FC2の場合だと
blog-entry.○○.html
とかなると思うんですけど(これ変えられるのかな?)
内部の記事間でリンクかけてたりすると、当然リンク切れます。
でもって、FC2の方のフルパスでかけてたりすると、移管後の閉鎖したブログに飛んじゃうので、インポート前のデータで、一括置換しておきます。

で、パーマリンクを同様に
/blog-entry.%post_id%.html
としておけば、とりあえず数字部分以外は同じになります。

これだけだとダメで、例えばWPで予めテスト用に記事とか書いちゃうと、post_idが1じゃなく2とか3になってます。
FC2の記事が正常に1から進んだ場合、既に差が生まれてます。
なのでWPの方で最新の番号を調べて、○○○○.txtの書き換え時に差分をプラスした数にしておきます。
例えばblog-entry100.htmlってリンクが元々あり、
WPで既に4つ目の記事になってしまう状態だと
blog-entry104.htmlとかに。

移管後の旧ブログ

とりあえず閉鎖。
重複コンテンツ、SEO的に危なそうなので。
301とかかけられたら良いですけどムリなので閉鎖。
JSとかでジャンプさせる形でも良いと思うんですけど、規約的にアレそうなのと、それって結局重複扱いになるんじゃないのかなと不安なので、兎にも角にも閉鎖が安パイな気がします。

1記事だけ上げておいて、「引っ越しました」とリンクさせれば良いかなーと思います。

1321321o

ひとこと

ただただ記事を書きたい衝動にかられたのです。よいではないか。
あ、セブンイレブンの炭酸水レモン味にビールを混ぜて飲むのが最近のマイブームだよ