WordPress引っ越しでパーマリンクを変更しなければならないケース

WordPressで作られたWebサイト(ホームページ)を、別のサーバーへ引っ越しする際は、基本的には、そのまま丸ごと移転しますので、「パーマリンク設定」も、引っ越しの前と後で同じになります。

逆に、もし、パーマリンク設定を変えてしまうと、旧URLへアクセスしたとき、「ページが見つかりません」(404 Not Found)というエラーが出てしまいます。

ところが、それでは対応できない(パーマリンク設定を変更しなければ、移転後に問題が起こってしまう)ケースがありましたので、貴重な事例ということで、今後のために記しておきます。

サーバー移行前のパーマリンク設定

引っ越し前のパーマリンク設定は、下記のようになっていました。

カスタム構造: /%year%/%monthnum%/%day%/

この設定ですと、投稿のURLは、たとえば下記のようになります。

http://example.com/2017/06/03/

引っ越し前に、このURLにアクセスした際は、ちゃんと投稿の全文が表示されていましたので、気が付かなかったのですが、実はこのURLは、「個別投稿ページ」(テンプレート:single.php)ではなく、「日付アーカイブ」(テンプレート:archive.php)で表示しているものでした。

投稿の全文が表示されていたのは、たまたま、引っ越し前の日付アーカイブ用テンプレート(archive.php)が全文表示するようになっていたためで、個別の投稿ページを表示していたわけではなかったのです。

今回、お客様の希望で、WordPressテーマを引っ越し前とは違うものにして、旧URLにアクセスしたら、一覧が表示されて全文が表示されなかったので、調査して、この問題に気付いた次第です。

(もちろん、本番環境ではなく、テスト環境で、です。)

サーバー移行後、パーマリンク設定を変更

投稿の全文を表示するのに、個別投稿ページ用テンプレート(single.php)を使わないのは、同じ日に複数投稿したらそれらが同じURLに表示されてしまう(1つずつ個別には表示できない)等、問題がありますので、やむなく、パーマリンク設定を変更しました。

そのため、このままでは、旧URLへアクセスしたとき、「ページが見つかりません」(404 Not Found)というエラーが出てしまいますので、ユーザーの利便性や検索エンジンのことを考えると、旧URL→新URLの自動転送等で対応する必要があります。

WordPressのサーバー移行は、けっこう何度も代行させていただいているのですが、お客様の環境はそれぞれ異なりますので、これからもこういった貴重な事例は増えていくと思われます。