WP Super Caché es un plugin para cachear WordPress. Genera ficheros html que se sirven directamente de Apache sin procesamiento pesado de scripts PHP. Al utilizar este plugin que acelerará tu blog de WordPress significativamente.
Cuando se instala, los archivos HTML se generan y se sirven sin la invocación de una sola línea de PHP. ¿Como de rápido puede servir su sitio archivos gráficos? Eso es (quizás) lo más rápidamente posible que será capaz de servir a estos archivos del caché. Si tu sitio está luchando para hacer frente con el número alto diario de visitantes este es tu plugin.
El antiguo WP-Cache, aunque es un excelente producto, aún necesita arrancar todo el motor de PHP y acceder a la base de datos para comprobar si la entrada ha cambiado. En cambio, el WP Super Caché crea una estructura de ficheros y directorios estática en wp-content/cache/supercache réplica exacta de la que las URLs originales.
El plugin WP Super Cache sólo sirve páginas generadas por él a usuarios que no hayan dejado ningún comentario (y por ello no tengan cookie del sitio, claro) y a los que no estén registrados. A los demás no les puede servir páginas suyas porque es posible que tengan que ver páginas con los nuevos comentarios que han dejado o ver páginas que han editado. A estos usuarios (que serán una minoría) se les sirve una página cacheada por WP-Cache, ya que el plugin WP Super Cache mantiene al mismo tiempo su propia caché y la del WP-Cache, de forma que tiene ambos mecanismos en funcionamiento en todo momento. Pero no sólo eso; el WP Super Caché puede añadir compresión a las páginas cacheadas por la parte de WP-Cache y a las cacheadas por él, obteniendo la funcionalidad que necesitábamos.
Así, con unas sencillas RewriteRule que crea el WP Super Cache en el fichero .htaccess del directorio raíz del blog, y que comprueban las cookies del usuario y si la página está cacheada, el Apache nos sirve dichas páginas sin acceder ni a un fichero PHP y sin ni un sólo acceso a la base de datos.
Las reglas son las siguientes, y comprobamos que se verifica que no haya cookies, que la petición no sea una query, y se mira si se puede enviar la versión comprimida o no (HTTP:Accept-Encoding):
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !.*s=.*
RewriteCond %{HTTP_COOKIE} !^.*comment_author_.*$
RewriteCond %{HTTP_COOKIE} !^.*wordpressuser.*$
RewriteCond %{HTTP_COOKIE} !^.*wp-postpass_.*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1index.html.gz [L]
RewriteCond %{QUERY_STRING} !.*s=.*
RewriteCond %{HTTP_COOKIE} !^.*comment_author_.*$
RewriteCond %{HTTP_COOKIE} !^.*wordpressuser.*$
RewriteCond %{HTTP_COOKIE} !^.*wp-postpass_.*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1index.html [L]
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
</IfModule>
# END WordPress
Sin embargo, estas reglas, que son las que crea el WP Super Cache 0.5.1, no funcionan si el wordpress no está instalado en el directorio raíz del blog, como se puede verificar fácilmente estudiándolas un poco. Es decir, si tienes un blog en http://www.example.com/ y el WordPress instalado ahí también, funcionan, pero si tienes ambas cosas en http://www.example.com/blog/, no funcionará, así como si la URL del blog es distinta de la de WordPress, como pasaba también con el 1 Blog Cacher.
No olvidemos comprimir los ficheros CSS y los Javascript
Con el WP Super Cache resolvemos el problema de “cachear + comprimir + minimizar los accesos a la base de datos” para todo el contenido generado por WordPress. Sin embargo, aún tenemos algunos ficheros estáticos de uso muy frecuente (y estoy pensando en concreto en los ficheros CSS y Javascript de la página) que podemos querer comprimir y cachear aprovechando lo que hemos aprendido del mod_cache y del mod_deflate.
Para ello, una configuración como la siguiente en la que indicamos que los ficheros CSS y JS han de comprimirse (los HTML no para no entrar en conflicto con las páginas generadas por el WP-Cache modificado) y especificamos los ficheros concretos (también podríamos especificar directorios) que queremos, así mismo, almacenar en la caché:
AddOutputFilterByType DEFLATE text/css application/x-javascript
CacheEnable disk /directorio1/directorio2/style.css
CacheEnable disk /directorio1/directorio2/print.css
CacheEnable disk /directorio3/directorio4/scripts.js
Descargar plugin de la Web Original de WP-Super Cache
Comentarios Recientes