Follow Us:

ワードプレスでCookieのブロックが原因でログインできないときの対処方法

ワードプレスで「エラー: 予期しない出力によりCookiesがブロックされました。ヘルプが必要な場合はこちらのドキュメンテーションを読むか、サポートフォーラムをご利用ください。」と表示されログインできなくなった時の対処方法をお客様からご相談がいくつか寄せられましたのでいくつかご紹介いたします。

チェック1 URLの変更

ワードプレスの設定画面でURL設定を変更した(触った)覚えがある場合、例えばwwwを付け加えた時などに正規のURLとワードプレスのURLがずれるなどしてCookieが取得できなくなることがあります。
この場合ワードプレスのインストールフォルダのwp-config.phpに下記のように追記して、エラーがなくなるかどうか試されてみてください。

※example.com の部分は御社サイトのURLで、www.をつけたバージョンと、つけないバージョンでそれぞれ試してみます。

define('RELOCATE',true);
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

チェック2 最後に変更したファイルの文字コード

最後に編集されたファイルの文字コードが不正で、何らかの文字列がログイン画面の出力前に出力され、このエラーが出ることがあります。ワードプレスのファイルはすべてUTF8(BOM無し)という文字コードである必要があります。
Notepad++などのエディタで文字コードが正しいかどうか確認し、文字コードがUTF8(BOM無し)出ない場合は、文字コードを再設定し保存の上再度アップロードされてみてください。
wp-config.phpの文字コードも同様にお調べください。

チェック3 最後に変更したファイルの不正な空白

最後に編集したファイルの<?phpというコードの始まりを示す部分の前に空白文字が誤って混入しているとCookieエラーでログインできなくなることがあります。
ファイルを再度エディタで開き、空白文字(もしくは何らかの文字列)がコード開始前に混入してしまっていないか確認します。

チェック4 何らかのWarning文字列が出力されている

ログイン画面に、Cookieエラーだけでなく、上部にWarning…と続くワーニング文字列が出力されている場合、その出力がログイン時のCookieを阻害しエラーが出ていることがあります。
ワーニングは致命的エラーとはなりませんので、とりあえずワーニングの出力を抑制してログイン可能とするにはwp-congfig.phpに下記のように追記してログイン画面にアクセスしてみてください

define('WP_DEBUG', false);
ini_set('display_errors','Off');
ini_set('error_reporting', 0 );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

チェック5 HTACCESSの問題

HTACCESSというサーバー設定ファイルに不正な設定がある場合このエラーが出ることがあります。ワードプレスがインストールされているフォルダのHTACCESSファイルをいったんリネームなどして無効化し、下記のURLにアクセスしてログイン可能かどうか試します。

※example.comは御社サイトのドメインに書き換えられて下さい

http://example.com/wp-login.php

チェック6 プラグインの問題、テーマの問題

これでも解決しなかったときは、プラグインまたはテーマのどこかに不正な文字列を出力している可能性があります。サイトのバックアップを必ずお取りになったうえで、wp-content/pluginsフォルダを_pluginsという名称にリネームしてログイン画面にアクセスしてエラーが消えるかどうか試します。
また、wp-content/themesフォルダも同様にリネームしてログイン画面にアクセスしてエラーが消えるかどうか試します。
どちらかでエラーが消えたらプラグインまたはテーマのどこかに不正なコードが紛れている可能性が高いです。

ちなみに、詳細なエラーをワードプレスで表示出力するには、wp-config.phpに下記のように追記します。このことによってログイン不可能としているテーマのファイルやプラグインのファイル名が表示されてより詳細に原因がどこにあるかがわかることがあります。

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true );
@ini_set( 'display_errors', 1 );

ワードプレスのエラーの修復、表示されなくなった時の復旧はワードプレスドクターにご相談、ご依頼ください


関連タグ:

Wordpress ワードプレス ドクターBlog タグ一覧

© 2015-16. «WP Doctorワードプレスドクター». All right reserved.