WordPressをhttps化すると too many redirect が管理画面で発生

WordPressをhttps化したらおかしくなったのでメモ

サーバーはAWS、ssl証明書は導入済み、WordPressを新規にインストール、
管理画面でURLをhttpsに変えたら、too many redirect ..で画面にアクセスできず..
options-general.phpをredirectしまくってるようですが、phpが悪いわけではなさそう

Apacheの設定見なおしたりしましたが、
管理画面での SSL 通信 - WordPress Codex 日本語版

define('FORCE_SSL_ADMIN', true);
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
       $_SERVER['HTTPS']='on';
}

を試したら直りました

WordPressを新しいサーバーで動かしてみる

動いているWordpress v.4.6 を違うサーバーで動かしてみました
はまったところだけ紹介します

Ubuntu 14.04
Apache 2.4
PHP 7.1 -> 5.6へのちほど変更(7.1はWordpressがまだ対応してませんでした)
のサーバーを用意

ディレクトリ一式をコピー
wp_config.phpの一部を新しい環境に合わせて書き換えます

define('DB_NAME', 'database');
define('DB_USER', 'user');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'database_address');

データベースのダンプを取って新しいデータベースへインポート
設定を一部変更します
2行目は、Static S3のプラグイン用です

// URL変更
update wp_options set option_value = 'http://sample.com' where option_name = 'siteurl' or option_name = 'home'; 
// Static S3のプラグイン用
update wp_options set option_value  = '/var/www/html/static/' where option_name = 'StaticPress::static dir';
// 画像などのURL変更
UPDATE wp_options SET option_value = replace(option_value, 'http://sample.jp/', 'http://sample.com/') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://sample.jp/', 'http://sample.com/');
UPDATE wp_posts SET post_content = replace(post_content, 'http://sample.jp/', 'http://sample.com/');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://sample.jp/', 'http://sample.com/');

画面にアクセス、エラーが発生

Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in /var/www/html/wp-includes/plugin.php on line 600
Warning: Parameter 1 to multibyte_patch::wplink_js() expected to be a reference, value given in /var/www/html/wp-includes/plugin.php on line 600
Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given in /var/www/html/wp-includes/plugin.php on line 600

調べてみるとWordpress 4.6は php 7.1 に対応してないようです
php 5.6に入れ替えると、無事画面が表示されました

WordPressのphpのメモリ使用量上限を変える

てっきりphp.iniでメモリ使用量の上限を決められると思ったら
Wordpress内でも設定があり、サーバー設定は効かない様子

WP_MAX_MEMORY_LIMIT:WordPress私的マニュアル

を参考にWordpress 4.3のphpファイルを見てみると

$ wp-includes/default-constans.php

function wp_initial_constants() {
    global $blog_id;

    // set memory limits
    if ( !defined('WP_MEMORY_LIMIT') ) {
        if ( is_multisite() ) {
            define('WP_MEMORY_LIMIT', '64M');
        } else {
            define('WP_MEMORY_LIMIT', '40M');
        }
    }

    if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
        define( 'WP_MAX_MEMORY_LIMIT', '256M' );
    }

とWP_MAX_MEMORY_LIMITが256MBに決められてました
管理画面ではWP_MAX_MEMORY_LIMITが効くみたいです

変更するなら wp-config.php で

define( 'WP_MAX_MEMORY_LIMIT', '512M' );

とするとよさそうです

WordPressのリビジョンの数を制限する

WordPressでポストを編集したりオートセーブされたりすると履歴がすべて残ります
これをリビジョンを表示とかすると見れるのですが、保存されすぎると重くなったりデータベースへ無駄な容量を使うので数を制限してみました

wp-config.phpへ一行追記します
$ vim wp-config.php

define('WP_POST_REVISIONS', 10);

これで新しいものから10個までしか保存されなくなります
これくらいでいい気がします

参考:
Revisions « WordPress Codex