Cacheo FastCGI
Puedes habilitar el cacheo de tu sitio cambiando la configuración de cache en cada sitio. La utilización de cache proveé un incremento sustancial en la velocidad del sitio una vez que las páginas han sido cacheadas. La configuración completa luce de la siguiente manera:
cache:
enabled: false
duration: 30s
skip_cache_uri: /wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml
skip_cache_cookie: comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in
El parámetro duration controla cuanto tiempo las páginas se mantendrán en cache. Se sugiere mantener este valor bajo (el predeterminado es 30 segundos), a menos que el contenido del sitio no cambie frecuentemente. Reduciendo la duración a 1s hará al cachecionar más como una protección DDOS. Significando que si hay un pico de tráfico repentino, solo un request por segundo impactará en el back-end en vez de toda la carga. Todo la configuración está orientada en modo "micro-cache", por lo que no es necesario liberar la cache.
El skip_cache_uri es un regex que será utilizado para comentarle a Nginx que no cachee las páginas que coinciden. Utilízalo si tienes secciones del sitio que no quieres que sean cacheadas (como carros de compra). Sobreescribe globalmente nginx_skip_cache_uri en group_vars/all/main.yml o sobreescribe skip_cache_uri sobre cache para diferir de acuerdo a cada sitio WordPress. El valor predeterminado se muestra en la parte superior.
El skip_cache_cookie es un regex que deshabilitará el cache cuando una cookie coincida. Útil para deshabilitar la cache para ciertos usuarios.
El contenido en cache continuará mostrándose si el back-end (PHP-FPM) sufre una caída.
Ejemplo de configuración de cache
WooCommerce
Deshabilita cache para /store/, /cart/, /my-account/, /checkout/, /addons/, y cuando hay ítems en el carro:
cache:
enabled: true
skip_cache_uri: /wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml|/store.*|/cart.*|/my-account.*|/checkout.*|/addons.*
skip_cache_cookie: comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|woocommerce_cart_hash|woocommerce_items_in_cart|wp_woocommerce_session_
Easy Digital Downloads
Deshabilita cache para /checkout/ y cuando hay ítems en el carro:
cache:
enabled: true
skip_cache_uri: /wp-admin/|/checkout/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml
skip_cache_cookie: comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|edd_items_in_cart