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 4 weeks, 1 day 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

フォーラムについて