Digital Booのブログはこちらに移転しました。すっかり更新も停滞しまくっていますが、今後も停滞し続けると思います。「さくらのブログ」からは各ページが自動でこちらに転送される手筈ですが、一部ページは上手くいっていません。ページのタイトルとURLをマッチさせているだけなので、最初から英数タイトルのページは失敗するはずです。
というわけでこのエントリーでは、さくらのブログからWordpressへの引っ越しについて記しておきます。
さくらのブログからWordpressへの引っ越し
手順。
1. さくらのブログをエクスポート
編集画面からエクスポートを選びます。文字コードをUTF-8、取得範囲は「すべて」、コメントなんかもいっしょくたにエクスポートしました。
2. WordPressをインストールして用意
使い勝手の良いようにカスタマイズしたwordpressを用意します。
いつもはテンプレートをカスタマイズしまくりますが、今回は面倒くさかったのでプラグイン以外はほとんどテンプレートのままであります。テンプレートはカスタマイズが兆面倒くさいTwentyelevenをはじめて使ってみました。
3. インポート
WordPressの「ツール」「インポート」から「Movable Type and TypePad」でインポートします。
このとき、<p>とか<br />とかが上手くいかず、詰め詰めの文字列となったりしますが仕方ないのかもしれません。
さてそれからリダイレクトです。
このままでは同じ中身のサイトがふたつ出来てしまいますから、できることならリダイレクトしたい。
4.リダイレクト
そこで詰まりました。大きな問題が二つあります。
ひとつは.htaccessの置き場がないこと。さくらのブログの、どこに置けばいいのかさっぱりわかりません。
いろいろ検索してみたのですが、.htaccessの書き方ばかりヒットして「置き場所を間違わないようにしましょう」と肝心のディレクトリはわからずじまいです。
きっと多分、ブログサービスには.htaccessを置くことができないんだなと合点しました。間違ってます?よくわかりません。
もう一つの問題は転送するにしてもURLの決まった法則がないので,効率的なリダイレクトの書きようがないということです。
さくらのブログを見てみますと、各ページは「article/51344757.html」みたいな変な数字で出来ています。
Wordpressのほうはと言いますと「?p=1234」みたいな書き方です。さくらのブログで使用されている数字を自動で生成することなど出来ません。
というわけで、ページのリダイレクトをしようと思えば、すべてのページをひとつずつ手動でリダイレクトするしかないという超面倒なことになります。おまけに.htaccessが使えないとすればどうすりゃ良いのか。
そこで考えた。
5.タイトルで無理矢理マッチさせる
さくらのブログからは、meta refresh を使って転送するしかありません。でもページごとにヘッダを書き換えられないので、テンプレートとしてまとめて設定する必要があります。
wordpressのほうはパーマリンクで対処するしかありません。とすれば、日付ベースかポストタイトルに共通点を見いだすしかない。
さくらのブログで使われている日付タグについてよくわからなかったので、思い切ってタイトルベースで転送することにしました。
やり方。
さくらのブログは大雑把なテンプレートの編集ができます。HTML編集を選んでheaderにmeta refreshを書きます。転送後のURLの末尾には、さくらのブログで使われているタイトルタグらしきものをくっつけてみました。
<meta http-equiv=”refresh” content=”10;URL=http://www.digitalboo.jpn.org/blog/<% extra_title %>/”>
こんなところです。転送時間をいきなり0にする勇気がなかったので10秒ってことにしています。近いうちに0秒にします。
wordpressのほうは、パーマリンクをポストタイトルベースにしております。URLの末尾が「/タイトル名」タイトル名というか、正確にはスラッグですね、それになります。
これで、「タイトル=タイトル」というURLの共通項ができました。
ほとんどが日本語のタイトルなので、URLも日本語になります。最近では日本語URLもほとんど問題ないので不細工でも我慢します。
ほとんど日本語のタイトルということで、実験はほぼ成功し、上手く転送できました。
で、ただし英数で、スペースが入っているようなタイトルは上手くいきません。
英数タイトルの問題
WordPressのタイトルベースURLは、実際にはタイトルではなくスラッグです。スラッグは、特に指定しない限りタイトルがそのまま流用されます。日本語の場合はそのまま、ただし、英数で出来ていてスペースが入っていたりすると、これらはすべて自動で修正されます。
例えばポストタイトルが「Apple Store」だっとします。これが、スラッグ修正で「apple-store」になり、これがそのままURLになります。
ですので、元の記事のタイトルをもとに生成した文字列「…/Apple Store」はwordpressでは「…/apple-store」となり、転送できず「そのページはありません」とエラー表示になってしまいます。
個別に修正するしかない
というわけで、対処としては、そういったURLを発見したら新しいWordpress側の.htaccessでリダイレクトするしかない、ということでしょうか。
すべてのページを手動で転送設定するような非現実的な対処よりよほどましである、ということでこの問題はこれにて納得して一旦放置です。
もっと良い方法をご存じの方はぜひ教えてください。
移転のお知らせを兼ねてブログ引っ越しのお話でした。
さくらのブログからWordPressへの引っ越し(この投稿)