Reply To: KUSANAGIとfcacheとCookie

TOP Forums 使い方全般(Fixing KUSANAGI) KUSANAGIとfcacheとCookie Reply To: KUSANAGIとfcacheとCookie

#736
katakura
Participant

    mr-shiodomeさん。
    上記内容に対して、補足します。

    fcache が適用されないケースは、以下の2通りとなります。

    1. HTTPレスポンスのヘッダに Set-Cookie フィールドが含まれている場合

    http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_valid
    (こちらは fastcgi_cache ですが proxy_cache とほぼ同じ仕組みです)

    > If the header includes the “Set-Cookie” field, such a response will not be cached.

    fastcgi_ignore_headers と fastcgi_hide_headers ディレクティブにより、Set-Cookie を無視させることもできますが、参考URLにもありますようにサーバからの cookie 発行ができなくなり、 WordPress の機能が損なわれますので実質併用できません。

    http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_ignore_headers
    http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_hide_header

    2. KUSANAGI でキャッシュ対象外としている場合

    有効なキャッシュがある場合でも、fcache の対象外となるケースに以下が挙げられます。

    ・リクエストメソッドが POST である
    ・クエリストリングがある
    ・HTTPリクエストに、特定の cookie が含まれる
    コメント、ログイン、パスワード保護
    ・特定のURLへのアクセス
    wp-admin、xmlrpc.php、wp-.*.php、index.php、サイトマップXML

    ※ /etc/nginx/conf.d 内の {プロファイル}_http.conf、{プロファイル}_ssl.conf 内の $do_not_cache が 1 になるケースが無効化されるケースです。

    上記を踏まえ、 Google Analytics と WooCommerce を利用した場合の fcache の影響は以下の通りとなります。

    Google Analytics:
    Google Analytics の cookie は javascript から発行されたものであり HTTP レスポンスでなされたものではないため、 Google Analytics の cookie は fcache に影響しません。
    そのため、 fcache と Google Analytics の併用は可能です。

    WooCommerce:
    WooCommerce のログインは WordPress のログイン機能を用いているため、ログイン時に fcache が適用されないケースにあてはまるので、ログイン後は fcache の適用外となります。
    なお、ログインしていない時は fcache が適用されるため、一定のキャッシュ効果は見込めます。
    そのため、 fcache と WooCommerce の併用は可能です。

    繰り返しになりますが、結果として特別なカスタマイズなどを行わない限り、 Google Analytics と WooCommerce を利用してもデフォルトの設定のまま fcache を利用することは可能です。