Open1

Wordpressメモ

Yoshiaki KawazuYoshiaki Kawazu

セットアップ

Wordpress のインストール場所

  • / に展開すると管理しにくいので /WP/ とかに展開する
  • その場合は /WP/index.php/index.php にコピって最後の行の include をちょい書き換える。
index.php
-require __DIR__ . '/wp-blog-header.php';
+require __DIR__ . '/WP/wp-blog-header.php';

サイトとWPのURLのホスト名を動的にしておく

  • 公開URLと更新用のURLは分けておいた方が管理がしやすい
    • ホストヘッダを見て更新用URLはBASIC認証をかけるとかも簡単
    • 画像アップロード等も管理サーバで行えば rsync 等で本番サーバ群への反映を一方通行に出来る

WPはWPとサイトのURLを設定画面で入力されたのを使うようになっているがどちらかに固定化されると公開URLと管理用のURLが共用できなくて不便なので、これら2つの設定項目は動的に設定しておくとよい。
具体的には /index.php の最後のincludeの前に以下の2行を足しておく。

index.php
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] );
define('WP_SITEURL', WP_HOME . '/WP');

運用中

CloudFront 対応

CFのTTLを長めにしたうえで、CFキャッシュ削除を自動で行うプラグイン入れとくと負荷軽減と反映の迅速化が両立できてよい。
https://wordpress.org/plugins/c3-cloudfront-clear-cache/

公開用ドメインでは wp-admin のアクセスを禁止する

以下のような制限をしておくとよい

.htaccess
# 本番ドメインでWP管理画面へのアクセスを禁止
RewriteCond ,%{HTTP:Host},%{X-Forwarded-Host}, 本番FQDN
RewriteRule ^/?WP/wp-(admin|login) - [F,L]