Alojamiento y Plugins de WordPress

Haciendo que WordPress sea rápido y seguro: Una lista de verificación de rendimiento y plugins

WordPress es tan rápido y seguro como lo que lo ejecuta. Esta es la lista de verificación práctica que aplicamos a cada sitio WordPress que alojamos: qué almacenar en caché, qué asegurar y qué plugins se ganan su lugar frente a los que la plataforma vuelve redundantes.

WordPress es tan bueno como aquello que lo ejecuta

WordPress impulsa una gran parte de la web porque es flexible, pero esa flexibilidad es también el motivo por el cual se vuelve lento e inseguro: una instalación predeterminada consulta la base de datos decenas de veces por página, transmite su versión y pila tecnológica a cualquiera que mire, y te invita a acumular plugins hasta que tanto el rendimiento como la superficie de ataque aumentan silenciosamente. Nada de eso es un fallo en WordPress tanto como la consecuencia de ejecutarlo en una infraestructura que no hace nada para ayudar.

La buena noticia es que el mismo puñado de decisiones soluciona la mayor parte, y son decisiones sobre la infraestructura en lugar de sobre el contenido. Utiliza la caché de forma agresiva en la capa correcta, mantén la base de datos fuera de la ruta crítica, ejecuta los pocos plugins que realmente merecen la pena, mantén todo actualizado con parches y aísla el sitio para que cualquier problema permanezca contenido. Esta publicación es esa lista de verificación, en el orden en que la aplicamos a todos los sitios de WordPress en la plataforma.

Caché en el servidor, no solo en un plugin

La mayor baza para acelerar WordPress es no ejecutar WordPress en absoluto en la mayoría de las visitas. Una solicitud estándar inicia WordPress, ejecuta sus complementos y consulta la base de datos antes de enviar un solo byte; una caché de página completa sirve la página ya terminada directamente desde el servidor web en la siguiente visita, omitiendo todo ese arranque. Dónde se aloja esa caché importa: un complemento de caché se encuentra dentro de PHP, por lo que PHP todavía se inicia antes de que la caché pueda responder, mientras que una caché a nivel de servidor responde antes en la solicitud y almacena las páginas en un formato que el servidor puede vaciar instantáneamente.

Cada sitio de WordPress que alojamos funciona en LiteSpeed Enterprise con LSCache a nivel de servidor, y nuestro propio complemento de caché conecta WordPress con él correctamente de manera predeterminada: preinstalado y actualizado automáticamente, por lo que es una cosa menos que configurar o mantener al día. En un origen que no sea LiteSpeed, el mismo complemento simplemente no emite cabeceras de página completa y se mantiene al margen mientras la caché de objetos sigue funcionando, de modo que un sitio migrado nunca queda medio configurado. La regla práctica para su propia lista de comprobación: una caché de página completa, en el servidor, y no acumule un segundo complemento de caché encima, ya que compiten entre sí.

La caché de objetos y la base de datos

No todas las solicitudes pueden ser una página estática. Las sesiones iniciadas, el panel de administración, las búsquedas, los carritos y cualquier fragmento personalizado deben ejecutar PHP, y para ellos el objetivo cambia de omitir la aplicación a omitir la base de datos. Una caché de objetos por sitio —Redis, en nuestro caso— almacena en la memoria los resultados de las lecturas repetidas de la base de datos, por lo que las mismas opciones, transients y consultas no se solicitan a la base de datos en cada visita. El efecto se manifiesta exactamente donde la caché de página completa no puede ayudar: un panel de administración más rápido, carritos más rápidos y una carga de base de datos mucho menor bajo tráfico.

La palabra clave es por sitio. Una caché de objetos compartida significa que un sitio con mucho tráfico o mal optimizado puede expulsar los datos en caché de los demás y saturar la base de datos de sus vecinos; una caché dedicada por sitio, combinada con límites de base de datos por sitio, mantiene ese radio de impacto contenido. En tu lista de verificación, considera una caché de objetos persistente como indispensable para cualquier sitio con usuarios conectados o una tienda, y desconfía del alojamiento donde se comparta entre inquilinos.

Los plugins que vale la pena utilizar — y los que la plataforma reemplaza

Cada plugin que añades es código que se ejecuta en las peticiones y una puerta por la que alguien podría entrar algún día, por lo que el objetivo honesto es tener el menor número de plugins que hagan el máximo. Un buen proveedor de hosting elimina la necesidad de toda una categoría de ellos: con caché a nivel de servidor, una caché de objetos gestionada y copias de seguridad en la plataforma, no necesitas un plugin de caché, un plugin de caché de objetos independiente ni un plugin de copias de seguridad; esas tareas se realizan mejor por debajo de WordPress, y ejecutarlas por encima solo añade conflictos y sobrecarga.

Lo que queda por ejecutar es el pequeño conjunto que aporta capacidad genuina: los plugins que su sitio realmente necesita para su funcionamiento y —en nuestra plataforma— los dos plugins de nivel de repositorio que construimos y enviamos con cada sitio. Nuestro plugin de caché conecta WordPress con la caché del servidor y gestiona la depuración inteligente para que una edición borre solo las páginas que debe. Nuestro plugin de footprint elimina los indicios que transmite una instalación predeterminada de WordPress —la etiqueta de versión y de generador, los puntos finales de descubrimiento, XML-RPC, los pingbacks y la cabecera powered-by— en cada despliegue, para que la actualización de un plugin o tema no pueda volver a introducirlos sigilosamente. Ambos están construidos según los estándares del directorio de plugins de WordPress.org, son gratuitos y se actualizan por sí mismos.

Manteniendo WordPress seguro y actualizado

La mayoría de las vulnerabilidades en WordPress no son ingeniosas, son antiguas. Un núcleo, tema o plugin desactualizado con una vulnerabilidad conocida y publicada es, con abrumadora diferencia, la forma más común en que los sitios se ven afectados, lo que convierte a mantenerse actualizado en la labor de seguridad más valiosa que existe —y la más tediosa, razón por la cual se omite—. El alojamiento gestionado debería quitarte ese peso de encima: parcheando la pila tecnológica subyacente a WordPress, y haciendo que las actualizaciones del núcleo y de los plugins sean seguras de aplicar al ofrecerte una copia de ensayo para probarlas y una copia de seguridad a la cual revertir.

Además de la moneda, espere que los límites se apliquen por usted: análisis de malware activado por defecto para que una infección se detecte en lugar de ser descubierta por un visitante, aislamiento para que un sitio comprometido no pueda alcanzar a otro, protección DDoS en el perímetro y TLS en todas partes con certificados renovados automáticamente. Nada de eso reemplaza la higiene básica —credenciales seguras, acceso con privilegios mínimos, eliminación de complementos que ya no utiliza—, pero significa que la infraestructura no es el eslabón débil. En su lista de verificación, la pregunta para cualquier proveedor de alojamiento es simple: ¿es la seguridad lo predeterminado o un paquete que se compra?

WooCommerce y las páginas que nunca debes almacenar en caché

Una tienda es el lugar donde el almacenamiento en caché agresivo obtiene su mayor beneficio y causa su mayor daño si es ingenuo. Las páginas de catálogo, de productos y de categorías son las que reciben más tráfico y son las más aptas para la caché, y servirlas desde una caché de página completa es lo mejor que puedes hacer para la velocidad de una tienda. Pero las páginas de carrito, pago y cuenta son personales y nunca deben servirse desde una caché compartida; hacer eso provoca que un comprador vea la cesta de otra persona, lo cual constituye tanto una tienda rota como un fallo de privacidad.

La forma de tener ambas cosas es almacenar la página en caché y dejar huecos para las partes dinámicas. Las Edge Side Includes renderizan el fragmento del carrito, los totales del minicarrito y el estado de la cuenta por solicitud mientras el resto de la página se sirve desde la caché, y el carrito, el pago, mi cuenta y cualquier página con nonce o de sesión se excluyen por defecto. La frescura se gestiona mediante un sistema inteligente de purga automática que se activa cuando cambia un producto, un precio o un pedido, por lo que nunca queda un precio desactualizado. Si utilizas WooCommerce, esta es la parte de la lista de comprobación que debes hacer bien: escaparate rápido desde la caché, carrito dinámico por usuario y sin datos personales almacenados en caché jamás.

Preguntas frecuentes

¿Todavía necesito un plugin de caché como WP Rocket?

No. El almacenamiento en caché de página completa lo gestiona el servidor web mediante LSCache de LiteSpeed, nuestro propio complemento de caché conecta WordPress a este y gestiona la depuración inteligente, y un caché de objetos Redis por sitio web funciona detrás de él. Añadir un segundo complemento de caché de página completa por encima suele entrar en conflicto con la caché a nivel de servidor en lugar de ayudar, por lo que no es necesario ni se recomienda.

¿Qué plugins hace innecesarios la plataforma?

Los plugins de caché, los plugins de caché de objetos independientes y los plugins de respaldo son redundantes aquí, porque esas tareas se realizan por debajo de WordPress: caché a nivel de servidor, caché de objetos gestionada por sitio y copias de seguridad de la plataforma. Eliminarlos reduce los conflictos y la superficie de ataque. Lo que vale la pena mantener son los plugins que tu sitio necesita realmente para su funcionamiento, además de nuestros dos plugins gratuitos de caché y footprint, que vienen preinstalados.

¿La caché romperá mi carrito de WooCommerce o mis páginas de inicio de sesión?

No. El carrito, la página de pago, la cuenta y cualquier página con nonce o de sesión se excluyen de la caché por defecto, y las Edge Side Includes mantienen el fragmento del carrito y los totales activos en páginas que de otro modo estarían en caché. Los compradores siempre ven su propio carrito y un proceso de compra funcional mientras la tienda sigue cargando desde la caché, y la autopurga inteligente limpia las páginas afectadas cuando cambia un producto, un precio o un pedido.

¿Cómo mantienes WordPress seguro sin que yo tenga que administrarlo?

Parcheamos la pila bajo WordPress, hacemos que las actualizaciones del núcleo y de los plugins sean seguras de aplicar con entornos de pruebas (staging) y restauración en un clic, ejecutamos análisis de malware y protección DDoS activados por defecto, aislamos cada sitio para que una brecha no pueda propagarse, y emitimos y renovamos certificados TLS automáticamente. Eso elimina la infraestructura como el eslabón más débil; la higiene básica como credenciales fuertes y la eliminación de plugins no utilizados sigue siendo tu responsabilidad.

Pruébalo gratis durante 14 días

Crea tus primeros sitios gratis durante 14 días, sin tarjeta. ¿Vas a mudar un sitio o red existente? Tu primera migración corre por nuestra cuenta.

Empieza gratis