ブログの日本語スラッグの英語化

WordPress

レンタルサーバーのブログを自宅サーバーにインポートし、日本語スラッグの英語化(半角英数と半角ハイフン使用可)をはかった上で、元に戻すことに成功したので報告する。

まず、レンタルサーバー
https://yourdomain.com/wp1
のwordpressブログ wp1を All-in-One WP Migration プラグインで、ファイルにエクスポートしておく。

※もしも、ファイルサイズが大きいとエラーになってしまう。
その場合は有料ではあるが、All-in-One WP Migration Unlimited Extension プラグインを入手すれば解決する。
当然、自宅サーバーのブログにも適用しなければならない。

次に、自宅のWebサーバー(Fedora39)に新しいデータベースを作成する。
# mysql -u root -p
— 新しいデータベース作成

MariaDB [(none)]> grant all on *.* to root@localhost identified by 'password';
MariaDB [(none)]> grant all on *.* to root@'%' identified by 'password';
MariaDB [(none)]> create database wp1;
MariaDB [(none)]> grant all on wp1.* to user@localhost identified by 'password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

# systemctl restart mariadb
# systemctl enable mariadb

— wordpress インストール
# cd /var/www/html
# wget https://ja.wordpress.org/latest-ja.tar.gz
# tar xvf latest-ja.tar.gz

–「wordpress」を「wp1」に変更
# mv wordpress wp1

# cd /var/www
# chown -R apache:apache html

# systemctl start httpd
# systemctl enable httpd

— ブラウザでブログにアクセス
http://home.yourdomain.com/wp1/

データベース名:wp1
データベースのユーザー名:user
データベースのパスワード:password
データベースホスト:localhost
テーブル接頭辞 (1つのデータベースに複数の WordPress を作動させる場合):wp1_

サイト名や管理メールアドレスを入力し続行

新しくできたwordpress に All-in-One WP Migration プラグインを導入し、
エクスポートしておいたレンタルサーバーのブログファイルをインポートする。

※この時、ディスクスペースの枯渇があり、うまくインポートできなかったが、
新しいwordpressの中の余分なテーマを削除することでディスクスペースを確保できた。

wp1データベースに含まれるスラッグ「キーワード」を「keyword」に置換した。

# mysql -u root -p
MariaDB [(none)]> use wp1;

-- スラッグ置換
MariaDB [(none)]> UPDATE wp1_posts
SET post_name = REPLACE(post_name, 'キーワード', 'keyword')
WHERE post_name LIKE '%キーワード%';

-- GUID置換
MariaDB [(none)]> UPDATE wp1_posts
SET guid = REPLACE(guid, 'キーワード', 'keyword')
WHERE guid LIKE '%キーワード%';

-- 本文内リンクの置換
MariaDB [(none)]> UPDATE wp1_posts
SET post_content = REPLACE(post_content, 'キーワード', 'keyword')
WHERE post_content LIKE '%キーワード%';

-- カスタムフィールド(meta情報)
MariaDB [(none)]> UPDATE wp1_postmeta
SET meta_value = REPLACE(meta_value, 'キーワード', 'keyword')
WHERE meta_value LIKE '%キーワード%';

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

# systemctl restart mariadb
# systemctl enable mariadb

自宅サーバーのブログwp1でスラッグの動作確認をした後、
そのブログwp1を All-in-One WP Migration プラグインで、ファイルにエクスポートした。

最後にレンタルサーバー
https://yourdomain.com/wp1
のwordpressブログ wp1にエクスポートしたファイルをインポートした。

レンタルサーバーのブログの動作確認をしたが、今のところ問題は確認されていない。
日本語スラッグの英語化に成功した。

※ちなみに WP Statistics プラグインの統計情報も引き継ぐことができた。