FC2ブログからの記事引っ越しで、インポートと削除を何度か繰り返して試行錯誤してたところ、投稿IDがどんどん増えていってしまったので、最終的なインポート処理の前に一旦初期化しました。
以下、WordPressを初期化する方法です。備忘録。
こちらの記事を参考にしました → K2-lab. : WordPress初期化
- データベースを削除
- wp-config.php のファイル名を変更
- WordPressの管理画面にアクセス
- 初期化画面が表示される
- DBサーバー名などを設定
データベースに保存されている情報は初期化されますが、インストール済みのプラグインやテーマはそのまま残っています。
パーマリンクは「パーマネント=恒久的で変わらない」リンク(URI)のこと。
なので、ブログを立ち上げたばかりの今のうちにしっかり検討しておかなければっ!
ということで、どのようなパーマリンクにするのが良いか考えてみました。

WordPressはパーマリンクを自由に設定することができます。逆に自由に設定できるために、何を設定すべきなのかかなり悩みました。1週間くらい?(^_^;
投稿IDベースのURIに設定
好みもありますが、あまり長いURIではなくシンプルにしたいのと、DBへの負荷が少ない方がいいかな、と思い、投稿IDベースのURIを設定しました。
/archives/e%post_id%.html
記事を追加した順番に連番が振られ、e1.html、e2.html… のようになる予定だったんですが、旧ブログの記事をインポートしてみたところ、e1.html、e4.html、e5.html… のように、インポートした記事の投稿IDが4番からになってました。2番と3番が現れずなんだか気持ち悪い状態に。ちなみに投稿ID=1番はWordPressが追加したサンプル記事です。
原因が分からずネットをウロウロしてたところ、投稿IDが記事IDではないことが分かりました。以下、参考にしたサイトです。
投稿ID≠記事ID
投稿IDをパーマリンクに設定するのがシンプルなんですが、ここで言う投稿ID
は記事ID
ではなく、画像のアップロードなどでも投稿IDがカウントアップされるため、記事のURIとして見たときに連番にならないことがあります。
また、ブログ引っ越し時など、エクスポートしてインポートし直した場合は、投稿IDが再付与されて URIが変わる可能性があります。実際に試してみたところ URIが変わってしまいました。
と言うことで、投稿IDをパーマリンクとして設定するのはよろしくないかもしれません。
投稿スラッグに記事IDを設定する
ということで、投稿IDの代わりにそれと独立した記事IDとして投稿スラッグを使うことにしました。投稿スラッグは記事ごとにユーザーが自由に設定できる変数でURIに含めることもできます。
引用元:Liner Note : WordPressで公開順に投稿IDを振っていく方法
と言うわけで、参考にさせていただき e1、e2、e3… のような文字列を投稿スラッグに設定することにしました。
パーマリンク設定は投稿年も入れて以下のようにしました。
/%year%/%postname%/
今は手作業でカウントアップしてスラッグを設定してますが、そのうち自動で設定されるようにしてみたいです。
記事データ引越しの補足です。
FC2ブログでエクスポートした記事データはEUCになっており、WordPressでインポートするにはUTF8に文字コードを変換する必要がありました。数ファイルだけだったんで gvim(エディタ)で1ファイルずつ変換したんですが、Linux上だと簡単に複数ファイルの文字コード変換を行うことができます。
変換したいファイルをどこかのフォルダーにまとめて格納しておき、コンソール(GNOME端末など)で対象のフォルダーに移動して以下を実行します。拡張子が .txt の場合。
$ for f in *.txt; do
> iconv -f euc-jp -t utf8 $f -o ${f%.txt}-utf8.txt
> done
実行するとファイル名-utf8.txt
と言う名前でUTF8変換後のファイルが作成されます。
ちなみに上は bash の場合です。
tcsh の場合は以下のような感じでしょうか?(tcshインストールしてないので未実験)
$ foreach f (*.txt)
> iconv -f euc-jp -t utf8 $f -o $f:r-utf8.txt
> end
最近、Cシェルをほとんど触ってないので怪しい感じですが(^_^;
ブログの引っ越しに先立ちいくつかのレンタルサーバーを検討しましたが、レンタルサーバーとしては定番で、安心感のある さくらのレンタルサーバー を利用させていただくことにしました。
WordPressを使うにはPHPとMySQL(DB)が必要なのでスタンダードを選択。
さくらのレンタルサーバーにはクイックインストール機能が用意されてるので、WordPressのインストールは非常に簡単でした。DBの追加も簡単。
まずはFC2ブログで記事をバックアップ
FC2ブログでは、全記事、年単位、月単位、カテゴリー単位などでバックアップできますが、とりあえずは月単位でバックアップした記事から少しだけWordPressにインポートして実験。FC2のログはMT互換の形式になってるので、MT形式でインポートしました。
インポートできた記事のリストが表示されていきますが、文字化け…。
エクスポートした記事データの文字コードを変換
FC2ブログでバックアップした記事データはEUCになってます。WordPressはUTF8でデータを扱うため文字化けした模様。
Windows上で文字コードを変換するためのアプリって何があるのか知りませんが、幸い私が使ってるエディタ gvim は文字コード変換もできるので、gvimで文字コードを変換して保存。文字化けはなくなりました。
不要なデータを削除
インポートすると基本的には問題なく読み込むことができます。
タグや画像までは持ってこれませんが、コメントもインポートできます。ただし、FC2専用のキーワード「SECRET:」と「PASS:」がコメント内に現れてしまうので、これらを削除しておく必要があります。私の場合はこれらもgvimで一括削除しました。
ちなみにコメントの「TITLE:」はインポートできません。
返信コメントの見直し
WordPressは忍者ブログのようにコメントの「返信」に対応してました!
せっかくなので、自分で書いた返信コメントは「返信」として扱いたいと思い、インポートしたデータを、今度はWordPress形式でエクスポート。エクスポートしたデータを編集して「返信」になるように加工しました。
:
<wp:comment>
<wp:comment_id>101</wp:comment_id>
返信元のコメント
</wp:comment>
<wp:comment>
<wp:comment_id>102</wp:comment_id>
返信コメントにしたいコメント
<wp:comment_parent>101</wp:comment_parent>
:
comment_parent
に返信元のコメントIDを指定してあげれば返信コメントとして認識されるようです。
加工後再度インポートして、とりあえずはデータの取り込みまでを完了。
ブログの引っ越しは何度か経験してますが、やっぱりかなり大変な作業ですね。
新しい veefour's digital life にご訪問いただきありがとうございます。
FC2ブログから WordPress に引越してきました。
どうぞよろしくお願い致します。
ブログを始めてほぼまる4年になります。
プロバイダー付属のブログサービスから始めたんですが、まさかレンタルサーバーを借りて、ドメインまで取得してしまうとは自分でも驚きです(^_^;
ちなみに、FC2で書いてた旧ブログは FC2別館 として残しておきたいと思います。
共有プラグインなど、FC2に特化している記事は引っ越ししませんでした。
→ veefour's digital life @fc2
WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !
この記事について:
この記事はWordPressが最初に追加した投稿ID=1番のサンプル記事を編集しました。
昔から(今は?)プログラミング言語の最初の練習は「Hello World」で、なんとなく懐かしくて記事タイトルの「Hello world!」をそのままにしてみました(^_^)