Un motor de caché muy rápido para WordPress que produce archivos HTML estáticos.
Calificaciones
4.3
Última actualización
June 27, 2024
Versión
1.12.2
Instalaciones activas
1M
El plugin no es compatible: no se acepta en WordPress.com.Más información
WP Super Cache

Este plugin crea archivos html estáticos de tu sitio WordPress dinámico. Una vez se haya creado el archivo html tu servidor servirá ese archivo en vez de procesar los scripts PHP de WordPress, en comparación mucho más pesados y consumidores de recursos.

Los archivos estáticos html se servirán a la gran mayoría de sus usuarios:

  • Usuarios que no están conectados.
  • Usuarios que no han comentado en tu sitio.
  • O usuarios que no han visto una entrada protegida por contraseña.

El 99% de tus visitantes recibirán archivos html estáticos. Un archivo en caché se puede servir miles de veces. Otros visitantes recibirán archivos en caché personalizados a la medida de su visita. Si están conectados, o han dejado comentarios, esa información se mostrará y almacenará en caché para ellos.

El plugin sirve los archivos en caché en 3 maneras (ordenados por velocidad):

  1. Experto. El modo más rápido es usar el módulo de Apache mod_rewrite (o cualquier módulo similar que tenga tu servidor web) para servir archivos html estáticos «supercacheados». Esto omite completamente PHP y es extremadamente rápido. Si tu servidor recibe un aluvión de tráfico le será más fácil afrontarlo ya que las peticiones son más «livianas». Esto requiere el módulo de Apache mod_rewrite (que seguramente esté instalado si tienes enlaces permanentes personalizados) y una modificaci´n de tu archivo .htaccess. Las visitas a los usuarios anónimos o desconocidos se sirven de este modo.
  2. Fácil. Los archivos estáticos supercacheados pueden servirse por PHP y esta es la forma recomendada de usar el plugin. El plugin servirá un archivo «supercacheado» si existe y es casi tan rápido como el método mod_rewrite. Es más fácil de configurar ya que no necesita cambiar el archivo .htaccess. Sin embargo necesita un enlace permanente personalizado. Puedes mantener partes de tu página dinámica en este modo de almacenamiento en caché.
  3. Caché de WP-Cache. Esto se usa principalmente para almacenar en caché las páginas para usuarios conocidos, URL con parámetros y feeds. Los usuarios conocidos son usuarios registrados, visitantes que dejan comentarios o aquellos a quienes deben mostrarse datos personalizados por usuario. Es el método de almacenamiento en caché más flexible y un poco más lento. El almacenamiento en memoria caché de WP-Cache también almacenará en caché las visitas de usuarios desconocidos si supercache está desactivado. Puedes tener partes dinámicas en tu página en este modo también. Este modo siempre está activado pero puedes desactivar el almacenamiento en caché para usuarios conocidos, URL con parámetros o feeds por separado. Establece la constante «DISABLE_SUPERCACHE» en 1 en tu wp-config.php si solo deseas usar el almacenamiento en caché de WP-Cache.

Si no te sientes cómodo editando archivos PHP, utiliza el modo fácil. Es fácil y muy rápido de configurar.

Ajustes recomendados

  1. Almacenamiento en caché fácil.
  2. Comprimir páginas.
  3. No cachear páginas a los usuarios conocidos.
  4. Reconstrucción de caché.
  5. Compatibilidad con CDN.
  6. Comprobaciones adicionales de portada.

La recogida de basura es el acto de limpiar los archivos de caché que están desactualizados y obsoletos. No hay un valor correcto para el tiempo de caducidad, pero un buen punto de inicio es 1800 segundos.

Considera eliminar el contenido de la caja de texto «Agentes de usuario rechazados» y permite que los motores de búsqueda guarden los archivos en caché para tí.

A ser posible precarga tantas entradas como puedas y activa el «Modo de precarga». La recogida de residuos todavía funcionará pero no afectará a los archivos precargados. Si no te importa que los widgets de barra lateral no se actualicen muy a menudo pon el intervalo de precarga a 2880 minutos (2 días) para que tus entradas no se vuelvan a cachear muy a menudo. Cuando se realiza la precarga los archivos en caché de la entrada se actualizan y se borran, y luego se regeneran. Después se realiza una recogida de residuos de todos los archivos antiguos para limpiar los archivos en caché anticuados. Con la precarga de archivos de caché se siguen borrando cuando creas o editas entradas o cuando se hacen comentarios.

Desarrollo

Documentación

Si necesitas más información que la siguiente, puedes echar un vistazo a la wiki o a documentación para desarrolladores.

Precarga

Puedes generar archivos almacenados en caché para las publicaciones, categorías y etiquetas de tu sitio mediante precarga. La precarga visitará cada página de tu sitio y generará una página en caché a medida que avance, al igual que cualquier otro visitante del sitio. Debido a la naturaleza secuencial de esta función, precargar un sitio completo puede llevar algún tiempo si hay muchas publicaciones. Para que la precarga sea más efectiva, puede ser útil desactivar la recogida de basura para que no se eliminen los archivos de caché más antiguos. Esto se hace activando el «Modo de precarga» en los ajustes. Ten en cuenta, sin embargo, que las páginas quedarán desactualizadas eventualmente, pero que las actualizaciones al enviar comentarios o editar publicaciones borrarán partes de la caché.

Recogida de basura

El directorio de caché se llena con el tiempo, y eso ocupa espacio en el servidor. Si el espacio es limitado o te pasa factura o si te preocupa que las páginas en caché se vuelvan obsoletas, entonces debes realizarse la recogida de basura. La recolección de basura se hace regularmente y borra archivos viejos en el directorio de caché. En la página de ajustes avanzados puedes especificar: 1. Tiempo de caducidad. Cuánto tiempo se consideran válidos los archivos de caché. Después de este tiempo, están obsoletos y se pueden eliminar. 2. Programador. Configura la frecuencia con la que se debe realizar la recogida de basura. 3. Mensajes de notificación por correo electrónico. Puedes recibir información sobre la evolución del proceso de recogida de basura. No hay configuraciones correctas o incorrectas para la recolección de basura. Depende de tu propio sitio. Si tu sitio recibe actualizaciones periódicas o comentarios, establece el tiempo de caducidad en 1800 segundos y configura el temporizador en 600 segundos. Si tu sitio es principalmente estático, puedes desactivar la recogida de basura escribiendo 0 como tiempo de caducidad o usando un valor de tiempo de caducidad francamente grande.

El directorio de caché, generalmente wp-content/cache/ es solo para archivos temporales. Nunca coloques en ese directorio archivos importantes o enlaces simbólicos a archivos o directorios importantes. Se eliminarán si el plugin tiene acceso de escritura a ellos.

CDN

Una red de distribución de contenido (CDN) generalmente es una red de computadoras ubicadas en todo el mundo que sirven el contenido del sitio web más rápidamente mediante el uso de servidores cercanos a tí. Los archivos estáticos como imágenes, Javascript y CSS se pueden servir a través de estas redes para acelerar la carga del sitio. También puedes crear una «CDN de pobre» utilizando un subdominio de tu dominio para servir archivos estáticos.

OSSDL CDN off-linker se ha integrado en WP Super Cache para proporcionar compatibilidad básica con CDN. Funciona reescribiendo las URLs de los archivos (excepto los archivos.php) en wp-content y wp-includes de tu servidor, por lo que apuntan a un hostname diferente. Muchos CDN admiten extracción de origen. Esto significa que el CDN descargará el archivo automáticamente de tu servidor cuando se le solicite por primera vez, y lo continuará sirviendo durante un período de tiempo configurable antes de volver a descargarlo de tu servidor.

Configura esto en la pestaña «CDN» de la página de ajustes del plugin. Esta es una técnica avanzada y requiere una comprensión básica de cómo funciona tu servidor web o CDN. Asegúrate de borrar los archivos en caché después de configurar el CDN.

API REST

Ahora hay endpoints en la REST API para acceder a la configuración de este plugin. Deberá ser autenticado como usuario administrador con permiso para ver la página de configuración y poder usarla. Esto aún no se ha documentado, pero puede encontrar todo el código de esto en el directorio «rest».

Caché personalizada

Ahora es posible conectar el proceso de almacenamiento en caché utilizando la función add_cacheaction().

Hay tres ganchos disponibles:

  1. ‘wp_cache_get_cookies_values’ – modifica la clave utilizada por WP Cache.
  2. ‘add_cacheaction’ – se ejecuta en fase2. Permite que un plugin agregue ganchos de WordPress.
  3. ‘cache_admin_page’ – se ejecuta en la página de administración. Úsalo para modificar esa página, quizás agregando nuevas opciones de configuración.

Hay un filtro regular de WordPress también. Usa el filtro the «do_createsupercache» para personalizar los controles realizados antes del almacenamiento en caché. El filtro acepta un parámetro. La función de salida de WP-Cache wp_cache_get_cookies_values().

WP Super Cache tiene su propio sistema de plugins. Este código se carga cuando se carga WP Super Cache y se puede usar para cambiar la forma en que se realiza el almacenamiento en caché. Esto es antes de que se cargue la mayoría de WordPress, por lo que algunas funciones no estarán disponibles. Los plugins se pueden ubicar en cualquier lugar donde PHP pueda cargarlos. Añade tu propio plugin:

  • colocando tu plugin en el directorio «wp-content/plugins/wp-super-cache-plugins», o
  • llamando a `wpsc_add_plugin( $name )` donde `$name` es el nombre de archivo completo y la ruta al plugin. Solo necesitas llamar a esa función una vez para añadirla. Utiliza `wpsc_delete_plugin( $name )` para eliminarlo de la lista de plugins subidos.

Las cookies que WP Super Cache utiliza para identificar «usuarios conocidos» pueden modificarse añadiendo los nombres de esas cookies a una lista en los ajustes del plugin. Usa wpsc_add_cookie( $name ) para añadir una nueva cookie, y wpsc_delete_cookie( $name ) para eliminarla. Los nombres de las cookies también modifican las reglas mod_rewrite usadas por el plugin, pero recomiendo usar el método de cacheo simple para evitar problemas al actualizar el archivo .htaccess. El nombre y el valor de la cookie se usan para diferenciar a los usuarios, de modo que por ejemplo puedes tener una cookie, pero valores diferentes para cada tipo de usuario de tu sitio. Se les servirán diferentes archivos de caché.

Mira como ejemplo plugins/searchengine.php, que es lo que uso en mi plugin No Adverts for Friends.

Solución de problemas

Si algunas cosas no funcionan desde que instalaste el plugin, hay algunas cosas que debes comprobar:

  1. ¿Tiene wp-content permisos de escritura para el servidor?
  2. ¿Existe un wp-content/wp-cache-config.php? Si no existe, debes copiar el archivo wp-super-cache/wp-cache-config-sample.php en wp-content/wp-cache-config.php y asegurarte de que WPCACHEHOME apunte al lugar correcto.
  3. ¿Existe un wp-content/advanced-cache.php? Si no existe, debes copiar wp-super-cache/advanced-cache.php en wp-content/. Debes editar el archivo y cambiar la ruta para que apunte a la carpeta wp-super-cache.
  4. Si no hay páginas en la memoria caché, elimina wp-content/advanced-cache.php y vuelve a crearlo, siguiendo los consejos anteriores.
  5. Asegúrate de que la siguiente línea esté en wp-config.php y esté ENCIMA de la línea «require_once(ABSPATH.’wp-settings.php’);»:

    define( 'WP_CACHE', true );
  6. Prueba de nuevo en página Ajustes->WP Super Cache y activa la caché.
  7. Pasa a ver wp-content/cache/supercache/. ¿Hay directorios y archivos allí?
  8. ¿Hay algo en el error_log de php?
  9. Si el navegador sigue pidiéndote que guardes el archivo después de instalar supercaché, debes desactivar la compresión de Super Cache. Ve a la página Ajustes->WP Super Cache y desactívala ahí.
  10. El plugin no funciona muy bien con el modo seguro de PHP activo. Debe ser desactivado por tu administrador.
  11. Si las páginas se supercachean aleatoriamente y a veces no, probablemente tu blog se puede ver con y sin el prefijo «www» en la URL. Debes elegir una forma e instalar el plugin Enforce www preference si estás usando una instalación antigua de WordPress. Las últimas versiones se redireccionan (de todos modos ¡siempre deberías usar la última versión de WordPress!)
  12. Los usuarios de servidores privados en Dreamhost deberían editar wp-content/wp-cache-config.php y apuntar el directorio de caché a «/tmp/» si reciben errores sobre el aumento del uso de la CPU. Consulta este debate para saber más.
  13. Errores de bloqueo de archivos como «no se pudo obtener la clave 0x152b: Permiso denegado en …» o «Página no almacenada en caché por WP Super Cache. No se pudo obtener el bloqueo de exclusión mutua.» son una señal de que debes usar el bloqueo de archivos. Edita wp-content/wp-cache-config.php y descomenta «$use_flock = true» o define un valor diferente para $sem_id. También puedes desactivar el bloqueo de archivos desde la pantalla de administración como último recurso.
  14. Asegúrate de que el servidor web pueda escribir en la memoria cache/wp_cache_mutex.lock si utilizas el bloqueo basto de archivos.
  15. La carpeta de caché no se puede colocar en un compartimiento NFS o Samba o NAS. Tiene que estar en un disco local. El bloqueo de archivos y la eliminación de archivos caducados no funcionarán correctamente a menos que la carpeta de caché esté en la máquina local.
  16. La recogida de basura de archivos antiguos de caché no funcionará si WordPress no puede encontrar wp-cron.php. Si stu hostname se resuelve en 127.0.0.1, podría estar impidiendo que funcione la recogida de elementos no utilizados. Verifica los access_logs de las entradas de wp-cron.php. ¿Devuelven un código 404 (archivo no encontrado) o 200? Si es 404 o no ves wp-cron.php en cualquier lugar, WordPress puede estar buscando esa secuencia de comandos en el lugar equivocado. Debes hablar con el administrador de tu servidor para corregir esto o editar /etc/hosts en servidores Unix y eliminar la siguiente línea. Tu hostname debe resolverse en la dirección IP externa de otros servidores en el uso de la red/Internet. Ver http://yoast.com/wp-cron-issues/ para más info. Una línea como «127.0.0.1 localhost localhost.localdomain» está bien.

    127.0.0.1 example.com
  17. Si se están sirviendo páginas anticuadas a tus visitantes a través de la supercaché, es posible que te falten módulos Apache (o sus equivalentes si no usas Apache). Se requieren 3 módulos: mod_mime, mod_headers y mod_expires. Los dos últimos son especialmente importantes para garantizar que los navegadores carguen las nuevas versiones de páginas existentes en tu sitio.
  18. El mensaje de error «WP Super Cache está instalado pero roto. La ruta a wp-cache-phase1.php in wp-content/advanced-cache.php debe corregirse!» aparece al final de cada página. Abre el archivo wp-content/advanced-cache.php en su editor favorito. ¿Es correcta la ruta a wp-cache-phase1.php? Este archivo estará normalmente en wp-content/plugins/wp-super-cache/. Si no es correcto, el motor de almacenamiento en caché no se cargará.
  19. El almacenamiento en caché no funciona. La marca de tiempo en mi blog cambia constantemente cuando recargo. Comprueba en las reglas .htaccess que la ruta coincide con el lugar donde está el directorio supercache. Puede que tengas que codificarlo. Intenta desactivar el modo supercaché.
  20. Si se generan archivos de caché de supercaché pero no se sirven, comprueba los permisos en todas las carpetas de wp-content/cache/supercache (y en cada una de las carpetas de memoria caché y supercaché de wp-content) y wp-content/cache/.htaccess. Si tu PHP se ejecuta como un usuario diferente a Apache y los permisos son estrictos, es posible que Apache no pueda leer los archivos de caché generados por PHP. Para solucionarlo, debes agregar la siguiente línea a tu wp-config.php (agrégala encima de WP_CACHE define). Después borra la caché.

    umask( 0022 );
  21. Si ves basura en tu navegador después de activar la compresión en el plugin, es posible que la compresión ya esté activada en el servidor web. En Apache debes desactivar mod_deflate, o en PHP la compresión zlib puede estar activada. Puedes desactivarla de tres maneras. Si tienes acceso de administrador, edita el php.ini y encuentra la configuración de zlib.output_compression y asegúrate de que esté «Desactivada» o agrega esta línea al .htaccess:

    php_flag zlib.output_compression off

    Si eso no funciona, añade esta línea a tu wp-config.php:

    ini_set('zlib.output_compression', 0);
  22. La «pantalla blanca de la muerte» o una página en blanco cuando visitas tu sitio casi siempre es causada por un error de PHP, pero también puede ser causado por APC. Desactiva esa extensión de PHP si tienes problemas y reemplázala con eAccelerator o Xcache.
  23. Después de desinstalar, los enlaces permanentes pueden romperse si eliminas también las reglas de mod_rewrite de WordPress. Vuelve a generar esas reglas visitando la página Ajustes->Enlaces permanentes y guarda ese formulario de nuevo.
  24. Si tu blog se niega a cargar, asegúrate de que tu wp-config.php sea correcto. ¿Has perdido una etiqueta PHP de apertura o cierre?
  25. Tu frente …
Instalaciones activas
1M
Probado hasta
6.6
Te puedes descargar este plugin para utilizarlo en tu instalación autoalojada de WordPress.