
Nginx で WordPress wp-adminのアクセスを制限
Wordpress サイトを乗っ取られないように、特定のアドレス以外の管理画面のアクセスを拒否するには
Wordpress のサイトヘルスで「ページキャッシュは検出されませんでした 」Fcgi-cacheを使っているなら一文タスだけ。
「ページキャッシュは検出されませんでしたが、サーバーのレスポンスは良好です」
たとえば以下のようなヘッダがあると「キャッシュあり」と認識します:
• X-Cache: HIT / MISS
• X-FastCGI-Cache: HIT / BYPASS
• X-Cache-Status: HIT
しかし、Nginx の FastCGI Cache をデフォルトで使っている場合、こうしたヘッダを出していないため、WordPress 側では「キャッシュなし」と判断されてしまいます。
Nginx の server または location ブロックに次を追加します。
# FastCGI Cache ヘッダを追加して WordPress に認識させる
add_header X-FastCGI-Cache $upstream_cache_status;
これにより、レスポンスヘッダに例えば X-FastCGI-Cache: HIT などが付きます。
curl -I https://example.com/
X-FastCGI-Cache: HIT
X-FastCGI-Cache: MISS
でOK!
• Nginx FastCGI Cache は正しく動いていても、WordPress が検出できないことがある
• 理由は「キャッシュ状態を示す HTTP ヘッダが出ていない」ため
• add_header X-FastCGI-Cache $upstream_cache_status; を追加して解決
Wordpress サイトを乗っ取られないように、特定のアドレス以外の管理画面のアクセスを拒否するには
wordpress nginx サイトヘルスで「永続的オブジェクトキャッシュを使用してください」とメッセージがでます。対策は?
Nginxでfast cgi cache を有効にするとWEBページ処理が速くなるのと、CPUの負荷が激減します。
Elementor 3.31 で作ったウエブサイトのページ vs スタンダードページでLighthouse で計測してみた。
wordpress nginx サイトヘルスで「永続的オブジェクトキャッシュを使用してください」とメッセージがでます。対策は?