wordpressの再インストールで表示されなくなったときにしたこと

wordpressで運用しているブログがスパムメールの踏み台にされていると発覚。さくらインターネットからもどうにかしろとメールをいただき、wordpressの再構築を行った。

その際につまずいたポイントを覚え書き。

別サーバーにwordpressをインストールして、エクスポートしておいたmysqlデータを新wordpressのデータベースにインポートした。「これで元通りになるだろう」ってところまで進みいざ、URLにアクセスするが表示されず。「500 Internal Server Error」や真っ白画面になった。

--------原因1--------
テーブル接頭辞「wp_」が一致していなかった。

wordpressインストール時に決めた、テーブル接頭辞が元のwordpressと違っていた。一致させるために、インポートしたmysqlデータをいじって新しいwordpressのテーブル接頭辞に合わせる。

変更箇所1
「wp_options」テーブルの「○○_user_roles」の○○の部分。

変更箇所2
「wp_usermeta」テーブルの「wp○○_~」の部分。4、5箇所。「meta_key」カラムをテーブル接頭辞で検索するといい。

--------原因2--------
URLの不一致。

最終的に元のURLに戻すのだが、一時的に新旧のwordpressを両立させることにした。その際、新wordpressのURLは仮の物であるが、設定は旧ブログのまま表示がうまくいかなかった。

解決方法は「wp_options」の「url」と「home」の値をデータベースにアクセスして直接変更。
念のため「wp_options」テーブルの「option_value」カラムに検索をかけて旧アドレスで残っているものはないかも確認する。

また、トップページは表示されるが、それ以外のページが表示されない現象が起こった。パーマリンクの設定が問題のようで、設定をデフォルトにしてから、再度設定したら解消した。