KUSANAGIとfcacheとCookie

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

KUSANAGIとfcacheとCookie

Viewing 2 reply threads
  • Author
    Posts
    • #732
      mr-shiodome
      Participant

        はじめまして。

        KUSANAGIでfcacheを有効化しようとすると、Cookieの存在が課題になります。

        当方の環境では最低限、Google AnalyticsとWooCommerceがCookieを用いています。同様の環境で、fcacheを活用する良い方法をご存知の方がいたら、ぜひアイディアを教えてください。

        現状、私が考えているのは以下のような方針です。
        – Google Analytics:全ページにあるので、fcacheを活用するならGAトラッキングをやめるしかない
        – WooCommerce:EC関係のページのみfcacheを除外する

        • This topic was modified 2 years, 10 months ago by mr-shiodome.
      • #735
        katakura
        Participant

          こんにちは、mr-shiodomeさん。

          当方の環境では最低限、Google AnalyticsとWooCommerceがCookieを用いています。同様の環境で、fcacheを活用する良い方法をご存知の方がいたら、ぜひアイディアを教えてください。

          KUSANAGIのfcacheは、cookieにWordpressにログインしている値が設定されている場合は無効なります。

          よって、WooCommerceを利用しているときはWordpressにログインしているユーザになりますのでfcacheは無効になり、Wordpressにログインをしないでアクセスをするユーザ(=Google Analytics)はfcacheが有効になります。

        • #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 を利用することは可能です。

        Viewing 2 reply threads
        • You must be logged in to reply to this topic.

        Next article

        フォーラムについて