アーカイブの問題解決

MTからWPへと移行した後、幾つかのリンクが働いていない・・・もしくはアーカイブがMTの構成のままになってしまった問題ですが、解決しましたので書き残していきたいと思います。

WPに移転後、特に問題無く稼働しているな・・・とニヤニヤしていたのですが、日を改めてからチェックしていた所、記事内にMT時の構成のままのページが幾つかある事に気が付きました。
不思議に思って色々なページをチェックしていたのですが、アーカイブが全てMT5の時の構成のままと言うショッキングなシチュエーションに遭遇。
FTPでパーミッションを変更してみたり、記事を張り直して再公開してみるなどしてみたのですが、結果はダメ。
WPの構成になりません。
え、何?
これどうすんの?
少し途方に暮れました。
そんな時に水沢氏から「個別記事とアーカイブのリンクが違ってるんじゃね?」的な助言を頂戴いたしまして、その辺りから調べてみる事にしました。

詳しく比較してみると、MTでは『-(ハイフン)』になっている個所が、WPでほぼ『_』アンダースコアに置き換わっている事を知りました。
確かにこれを修正すれば、元に戻るかもなあ・・・。
そんなこんなで色々弄り倒した結果、パーマリンクの『/%postname%/』の頭に『ハイフン』が入らない事を知りました。
修正しようとしてハイフンを記入しても、編集した時点で外れてしまうのですよね。
何とかならないかなあ・・・と更に調べてみると、興味深い記述を発見。

[note]ブログ記事の出力ファイル名に「_」(アンダースコア)を使用すると、実際に出力されるファイルでは「-」(ハイフン)に変換されてしまう
[/note]

改めてMTの管理画面をチェックしてみると、確かに出力記事はアンダースコアになっているのに、パーマリンクではハイフンに置き換わっています。
これが原因か・・・!
ゼンゼンシラナカッタヨ。

ですが問題が分かってしまえば何の事はありません。
以前MTからWPへ記事の移行をした時に使ったエクスポートしたファイルが残っているので、その中のアンダースコアを全てハイフンに書き換えます。
注意しなければいけないのは『アンダースコア→ハイフンの置き換え』だけだと、余計な物まで置き換えしかねないので、リンクを含んだ指定が必要になります。
私の場合は『post-001.html』のようなリンク名が全体の4/5程度を占めていたので、まずはそれを置き換え。
後は『Basename』で検索して、地道に手作業で書き換える作業を行いました。
・・・もっと効率の良い方法があるんじゃないのか?
確かに、これなら確実だけどさ(笑)。

WPではMySQLにデータが書き記されるようなので、念のためMySQLのバックアップをした後、MySQLの中身をデストロイ!
ついでに『/blog』フォルダ内から、画像以外の過去のMT関係のフォルダを消し去ります。
これでMTのブログ記事は全て見られなくなりました。
試してないので分かりませんが、これが残っていたのがアーカイブがMT構成のままだった原因だったような気がします。
どちらにしてもURLと言う過去の遺産を生かすのであれば、WPでハイフンがアンダースコアになっているのは都合が悪い。
記事を再インストールする事にしました。

MySQLのデータを削除しただけなので、改めてログインから設定し直した後、先ほど修正したMTのブログ記事のエクスポートデータをインポート!
さあ、これでどうだ!
・・・結果はご覧の通り
アーカイブの先の個別リンクまで、しっかりとWPに置き換わっていました。
ひゃっほーい!

これで以前(Cside)から現サーバー(sakura)に転送されてきても、リンク切れは極力抑えられるはずです。
MTの記事での画像は『image』と言うフォルダに収めていた関係上、指定のし忘れでリンクが切れているものはあると思いますが、元データは残っているので、気付いたら修正・・・と言う具合になるでしょうか。
これで安心してサイトの移行作業を進められそうです。

PC関連

Posted by 対月