ログインしていたWordPressが勝手にログアウトしてしまう問題が発生したので対処しました。
WordPressから勝手にログアウトされる現象が発生してしまいました。
具体的には、
・ログインしていればブログに表示されるはずのツールバーが出ない。
・テーマを変更しようとすると、「セッションの期限が切れました。もう一度ログインしてください。このページからは移動しません。」などと言われ、何回ログインし直してもセッションが切れる。
・書いていた記事をプレビューできない。
などの症状がありました。特にへんなことはしていなかったはずなのですが、突然こんな状態になってしまったので結構焦りました。
仮説① Cookieの問題?
WordPressは「ログイン状態を保存する」にチェックを入れると、ログイン情報をクッキー(Cookies)に保存します。このときクッキーにはユーザ名と二重ハッシュ化(暗号化)されたパスワードが保存されます。
クッキーはログイン後、2週間残りますが、「ログアウト」をクリックすることですぐに削除されます。まずはお使いのブラウザでクッキーが有効になっているかどうかを確認してください。有効になっていれば、「wordpress_xxxxx」「wordpress_logged_in_xxxx」といった情報が保存されているかどうか確認してください。また、別のブラウザでも確認してみてください。
確認してみたものの、Cookieには異常がなく、ChromeでもOperaでもSafariでも症状は同じ。僕の場合はCookieの問題ではなさそうです。
仮説② ログインの仕方が悪い?
私がWordPressの管理画面にアクセスする時は、ブラウザのブックマークから入ります。
そのブックマークに登録しているURLを見てみると、
「http://mesiopress.com/wp-login.php」になっていました。これが原因でした。
ログイン状態が維持できている他のWordPressブログの場合、登録しているブックマークURLは「/wp-login.php」ではなくて「/wp-admin/」でした。
つまり、ブックマークに登録しているURLを「http://mesiopress.com/wp-admin/」に変更したところ、他サイトを閲覧して戻ってきてもログインしたままになりました。
引用元: ログインしたWordPressが勝手にログアウトする原因と対処法 | WordPressテーマ「メシオプレス」ブログ.
僕の場合、これも違ったみたいでした。
トラブルシューティングの基本
この辺りで一旦基本に帰ってみることに。
すべてのプラグインを無効化し、同時にテーマをデフォルトのテーマに戻して再度試してみましょう。それで正常に動くなら一つずつ元に戻してみて、どれが問題を引き起こしているか絞り込むことができるはずです。
キャッシュが問題に関係している場合があります。フラウザのキャッシュを削除して再度試してみてください。また、WordPress のキャッシュプラグインを使用している場合はそれを停止し、キャッシュファイルをクリアして試してみましょう。
ログインしている場合とログインしていない場合で現象に違いが出るでしょうか。また、使用するブラウザを変えてみてはどうでしょうか。ブラウザに保存されている Cookie が関係している場合もあるので、それをクリアして再度試してみてください。
今までは普通にログイン状態を維持できていたのですから、当然、何らかの設定をいじった副作用が生じた結果、問題が発生したんだと考えるのが無難でしょう。で、よくよく思い出してみた結果、そういえば最近「Google Analytics by Yoast」をアップデートしていたのを思い出しました。すっかり忘れてました。
とりあえず一旦Google Analytics by Yoastを切ってみたところ、すんなり問題が解決。そこからもう一度Google Analytics by Yoastを有効にすると、勝手にログアウトされる問題が再び現れたので、おそらくGoogle Analytics by Yoastのバグでしょう。
勝手にログアウトされるのも困りますが、アナリティクスが使えないのも困るので、なにか代りになるものを探してみようと思います。
※2014/1/17追記
この記事を書いたすぐあとに、Google Analytics by Yoastの代わりに、NK Google Analyticsを使い始めました。
今のところ問題ありません。僕の場合、アナリティクスはアナリティクスのアプリ(webでもスマホでも)で見ているので、トラッキングコードさえ送れればなんでもいいのです。