日本で最も高速なウェブサーバーConohaWingを契約し、サイトの移転を致しました。

しかし、SSL設定するとWordpress管理画面でCookieを削除してくださいと表示されログインできない状態に・・・。

どうやら、SSLを設定すると管理画面でリダイレクトが発生してしまった様です。

ちなみに、以下の様な画面になります。

ConohaWingリダイレクトCookie削除

リダイレクトが何故起きるのかというとサーバーの中で「HTTPの場合はHTTPSに移動してね」という命令と「HTTPSからHTTPに移動してね」という命令が両方出てしまい、それらをずっと行ったり来たりしてしまうという現象なんです。

はい、難しいですね。説明も下手かよ!

とりあえず、ConohaWingでSSL導入後に、上記の画面になってしまった場合はこちらの方法で改善可能ですので安心してください。

目次

リダイレクト・Cookieを削除してください問題の解決方法!

wp-config.phpに一文を追加致します。

追加する内容は以下になります。

/* 以下の記述を追加! */
define('FORCE_SSL_ADMIN', true);
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
       $_SERVER['HTTPS']='on';
}

wp-configファイル全体は以下に。

<?php
/**
 * The base configurations of the WordPress.
 *
 * このファイルは、MySQL、テーブル接頭辞、秘密鍵、言語、ABSPATH の設定を含みます。
 * より詳しい情報は {@link http://wpdocs.sourceforge.jp/wp-config.php_%E3%81%AE%E7%B7%A8%E9%9B%86 
 * wp-config.php の編集} を参照してください。MySQL の設定情報はホスティング先より入手できます。
 *
 * このファイルはインストール時に wp-config.php 作成ウィザードが利用します。
 * ウィザードを介さず、このファイルを "wp-config.php" という名前でコピーして直接編集し値を
 * 入力してもかまいません。
 *
 * @package WordPress
 */

// 注意: 
// Windows の "メモ帳" でこのファイルを編集しないでください !
// 問題なく使えるテキストエディタ
// (http://wpdocs.sourceforge.jp/Codex:%E8%AB%87%E8%A9%B1%E5%AE%A4 参照)
// を使用し、必ず UTF-8 の BOM なし (UTF-8N) で保存してください。

// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'hogehoge_potlatch');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'hogehoge_potlatch');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'hogehogehoge58136');

/** MySQL のホスト名 */
define('DB_HOST', 'mysql.hogehoge.hoge.jp');

/** データベースのテーブルを作成する際のデータベースのキャラクターセット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

/* 以下の記述を追加! */
define('FORCE_SSL_ADMIN', true);
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
       $_SERVER['HTTPS']='on';
}

/**#@+
 * 認証用ユニークキー
 *
 * それぞれを異なるユニーク (一意) な文字列に変更してください。
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
 * 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになります。
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

/**#@-*/

/**
 * WordPress データベーステーブルの接頭辞
 *
 * それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
 * インストールすることができます。半角英数字と下線のみを使用してください。
 */
$table_prefix  = 'wp_hogehoge_';

/**
 * ローカル言語 - このパッケージでは初期値として 'ja' (日本語 UTF-8) が設定されています。
 *
 * WordPress のローカル言語を設定します。設定した言語に対応する MO ファイルが
 * wp-content/languages にインストールされている必要があります。例えば de_DE.mo を
 * wp-content/languages にインストールし WPLANG を 'de_DE' に設定することでドイツ語がサポートされます。
 */
define('WPLANG', 'ja');

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 */
define('WP_DEBUG', false);

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
?>

コレを追記して、wp-config.phpをサーバーにUPすると現象が改善します。今回は「たこさんちゃんねる」さんに助けて頂きました。

ConohaWingは無茶苦茶早いぞ!しかしデメリットも

移転直後にトラブルに見舞われましたが、なんとか解決しほっと一息。

しかしConohaWing、滅茶苦茶早いです。以前はさくらサーバーを利用しておりましたが、恐らく速度的には倍以上スピードアップしている気がします。

SEO対策を行う上で、Googleが提唱する「モバイルファースト」には、回線スピードが遅いスマートフォンの為に「表示スピードをあげよう」という判定基準がありますので、どう考えてもサーバーは遅いより早いほうが良い。

ただ、問題として「コンテンツキャッシュのクリア」ができていない様な気がする・・・、という残念なポイントが有ります。

一応サポートに連絡しておりますが、コンテンツキャッシュのクリアのボタンを何度クリックしても、更新前のデータがしつこく表示されているという現象に見舞われています。

ConohaWingはフロントはNginxのリバースプロキシでキャッシュを処理し、バックはApacheで動的処理を行うという構成らしいのですが、直接NginxのキャッシュのフォルダーをWordpressの記事更新時に削除する様な処理をfunciton.phpに書ければ一発解決なのになーと思っています。

実は昔、同じ様な構成でサーバー立てた事があるんですよ・・・。

Nginxでリバースプロキシを利用する場合、どうしてもネックが「キャッシュをクリアする方法」なんです。記事の公開・更新時にそれらのキャッシュを削除出来れば運用上とても楽なんですけれど、もしかしたら現状だとサイトの修正の度に都度コントロールパネルにログインしてコンテンツキャッシュのクリアを実施しないといけないのではないかと恐れています・・・。

無茶苦茶高速なので、SEOに意識が高いところは絶対にConohaWingオススメです!

ただ、もしかしたらSSLでリダイレクトしてしまった件といいコンテンツキャッシュがなんかしつこいあたり上級者向けかもしれません・・・。

ちなみに私はTwitterでHINTさんにオススメして頂いたのが導入のきっかけ。別になんか問題あっても自力である程度かいけつ出来ると思っているし、なにより超速なので大満足です!

最後に

SEOに意識が高い皆さんでもConohaWingが気になっている人は多いのでは無いでしょうか?

サービス開始から、そこまで市民権を得ている訳では無いようなので、情報がまだ若干ネット上に不足している様に思えます。

いろいろな事が分かり次第随時アップしていく予定です。皆様のお役にたてば幸いです!

他、役立つ情報は以下もチェック!