WordPressのプラグイン「Search Regex」で、はてなブログから移行した画像のURLを一括変換する。

SearchRegexでURLを一括置換コンピュータ

経緯

はてなブログProから、WordPress(さくらのレンタルサーバ:スタンダード)に記事を移行しました。

しかし、記事中の画像は、はてなのウェブアルバムサービス「はてなフォトライフ」を参照したままになっていたため、WordPressのサーバ上に移行したいと思っていました。

他のブログ記事を参考に概ね進められましたが、同じようにできない箇所もあったので、その点について本記事で書き記します。

前提条件

  • Windows 11(macOSでは、使えるフリーソフトが異なるようです)
  • WordPress 6.0(PHP:7.4.29)
  • Search Regex 2.4.1
  • 記事のデータはWordPressに移行済み

なお、Search Regex は、 PHP のバージョンによってはうまく動作しないようです。

Search Regex 2.4.1はPHP 8.0で動かない | アフィリエイトのある暮らし
PHP 8.0にしたらWordPressがエラー PHP 8.0が昨年(2020年)11月にリリースされ、それから半年以上が経ちました。 そろそろPHP 8.0を試してみようかと...

また、次の記事を参考に、Search Regex 以外のプラグインを一旦停止しました。

プラグイン「Search Regex」で「何かがうまくいきません」エラーが出る時の対処方法
WordPress プラグイン「Search Regex」で、いざ語句の置き換えを行ってみると、検索中または置き換え中に「何かがうまくいきません」とエラーが出てしまうことがあります。今回は『Search Regex でエラーが出てしまった場合の解消方法』を紹介します。

画像ファイルの移行

ほぼ、こちらの記事内容に沿って作業を進めました。

【Wordpress】はてなフォトライフから画像ファイルを一括移行する(記事中で利用されている画像ファイルのみ) - 踊るびあほりっく
はてなフォトライフからWordpressへ画像ファイル(画像URL)を移行する方法をまとめました。

画像ファイルの移行まではできたのですが、同記事の終盤に書かれている Search Regex でのURL置換がうまくできませんでした。Search Regex の画面も私の手元の環境と違いがあるので、バージョンが違うのかもしれません。

Search Regex での画像URL置換

正規表現での検索がうまくできていないようだったのですが、次のように指定したらうまく変換できました。
(※)検索文字列のはてなID部分はブログごとに異なるので、ご自身のブログの画像URLを参照してください。置換文字列のドメイン部分も適宜変更してください。

Search Regex (2.4.1) での画像URL置換

検索文字列にある正規表現は、YYYY(青線部)、MM(黄線部)、DD(赤線部)に対応します。置換文字列では、一つ目の変数を\1で、二つ目の変数を\2で受けています。

(※)この先、実行すると元にもどせないので、十分に注意してください。
「検索」ボタンを押すと、置換後のイメージが下方に表示されます。サーバに移行済みの画像ファイルが置かれているフォルダのパスをFTPソフトなどで確認し、大丈夫そうであれば「すべて置換」を実行します。

サイトの画像を参照するか、WordPressの管理画面から投稿記事を参照するかして、画像の参照先がWordPressのサーバ上に変更されていることが確認できればOKです。他のプラグインを無効化していた場合は、有効化します。

なお、正規表現での日付の置換については、次の記事を参照しました。

https://blog.systemjp.net/entry/20090803/p2

おわりに

画像ファイルの移行までは順調でしたが、最後の参照先URL置換でかなり悩まされました。プラグインは環境やバージョンによっても手順に違いがでる場合があるので、他の記事で書かれている通りにはできない可能性も覚悟しつつ、頑張る必要性を改めて感じました。

タイトルとURLをコピーしました