ワードプレスのディレクトリ変更を行おうとして、URLのずれが生じてしまい、様々な不具合の発生しているサイト様の復旧を行いましたご依頼事例をご紹介いたします。
クライアント様のご相談内容
サブディレクトリにインストールしたwordpressをドメイン直下で表示させたかったため、以下を行いました。
①アドレスの変更
https://********/
を参考に
phpMyAdminにて、以下からサブディレクトリ名を削除しました
「wp_blogs」テーブル「domain」の「path」
「wp_options」テーブルの「home」
「wp_site」テーブル:「path」
「wp_sitemata」テーブル:「siteurl」
②「index.php」ファイルと「.htaccess」ファイルの複製と編集
https://********/を参考に「index.php」ファイルと「.htaccess」ファイルを変更しました
サイトの表示はうまくいったのですが管理画面へログインできなくなりました。
症状としては
1)ログイン画面
ログイン画面は変わって異なことを想定していたのですが、変更前のURLでログイン画面が表示されず、サブディレクトリがないURLにするとログイン画面が表示されます
2)ログインできない
ユーザー名とパスワードを入力すると
「エラー: Cookie がブロックされているか、お使いのブラウザでサポートされていません。ワードプレスを使用するには、クッキーを有効にする必要があります。」
と表示され管理画面に入れなくなってしましました。
ちなみに上記①のアドレス変更を行こなわず②の変更のみ行うと、サイトは表示されるが、URLの表示はサブディレクトリが入っている状態で、管理画面にログインできています。
ですので①のアドレスの変更のどれかがおかしいと思うのですが、、、
クライアント様は、サブディレクトリのワードプレスを一つ上の階層に移動しようとして、いろいろと触っているうちに過去のサイトのurlと新しいサイトのurlがデータベースで混在したり、データベースと現在あるワードプレスのurlがずれてしまいログインできない、404になる等様々なサイトの不具合を生じていました。ワードプレスドクターでこちらの不具合を修正し、ワードプレスをドメイン直下で表示されるように移行させていただきました。
ワードプレスのディレクトリ構造を変えるのは簡単ではない
ワードプレスの一般設定には、ワードプレスサイトのurlを設定できる項目がありますので、ワードプレスのディレクトリ構造を変えるには、こちらを修正すればいいように思われますが、この設定を変えるだけで自由にワードプレスのパスを変えることはできません。
この理由は下記のようになります。
・実際のディレクトリ構造と、url設定がずれている
・データベースに記録されているurlもすべて正しいurlに置き換える必要がある
・htaccess(サーバーの設定ファイルで主にパーマリンクの設定を保持します)や、index.phpのパスの設定がずれている
ワードプレスのディレクトリ構造を変える場合、上記のすべての設定の整合性を取る必要があります。また、URLを変えてしまうと、検索エンジン経由のサイトへの流入でページが見つからなくなり404になってしまう事もございます。
この場合は、昔のURLから新しいURLに自動移動するリダイレクトという設定もされた方がいい場合がございます。
WordPress ワードプレスの不具合の修正、ディレクトリの移行は経験豊かな専門家が安全に代行いたします。お気軽にご依頼・ご相談お送りください