前提
WordPressのサーバー移行を行った際、ページ内のリンクが崩れてしまいました。
サーバーはロリポップ、WordPressテーマはEnfoldというものです。
移行はプラグイン(All-in-One WP Migration)を利用し、インポート容量の都合上
大きいメディアファイル(/wp-content/uploads/)のみ、FTPでアップロードを行いました。
発生した問題 リンクの崩れ
ページのテキストブロック内に書き込んだリンクが、すべて崩れてしまいました。
挿入画像 http://ドメイン名wp-content/uploads/・・・ ページリンク http://ドメイン名ページ名/
全てドメイン名の後のスラッシュが抜けています。
テキストブロックに書き込んだもの以外(ページをドロップダウンで選択するもの)などは
崩れていませんでした。
試したこと
MySQLで、データベースの中身の置換を行ってみました。
SQL
11 UPDATE wp〇〇_posts SET post_content = REPLACE( post_content, 'http://ドメイン名', 'http://ドメイン名/'); 2 32 UPDATE wp〇〇_posts SET post_content = REPLACE( post_content, 'http://ドメイン名//', 'http://ドメイン名/');
スラッシュが抜けてるところに追加(1)と、もともと正常にスラッシュが入っていたところを戻す(2)という
2つの処理を行い、post_contentのカラムの中身は正しいリンクに修正できました。
発生した問題 WordPressに反映されない
ダッシュボードからページの編集画面を見てみても、中身は以前のままでした。
試しにテーマ(Enfold)を無効化してみると、他テーマではデータベース通りのコードが表示されますが、
テーマを元に戻すと、やはり戻ってしまいます。
テーマ自体がページの情報を保持しているということでしょうか?
SQLで書き換えるのは、やはり強引すぎたのでしょうか・・・・
実現したいこと
ページの中身を、データベース通りの情報に更新する方法はありますでしょうか。
ページを消して、データベースをもとにページを復元する?みたいなことができればいいのかなと思いましたが
WordPressのダッシュボード、Webサーバー、データベースの連動について理解が追いついておらず
おかしい質問になっていましたら申し訳ございません。
ご教示いただけますと幸いです。どうぞよろしくお願いいたします。
あなたの回答
tips
プレビュー