Buenas prácticas para alojar un WordPress

·

WordPress es una gran herramienta pero, para funcionar bien, requiere los recursos correctos, vamos, como cualquier gestor de contenidos.

WordPress de por sí requiere muy pocos recursos pero ¿cuánta gente conoces que use un WordPress a pelo? Poca o ninguna. La mayoría de personas busca una plantilla que no sea un TwentyAlgo, y siempre se instala algún plugin que haga algo especial. En definitiva, aunque WordPress requiere unos requisitos mínimos básicos, estos no se puede cumplir.

Tras el lanzamiento de WordPress 5.0 y la WordCamp US han comenzado una serie de cambios en lo que respecta a la infraestructura y mínimos que va a requerir WordPress.

Para comenzar, miremos el asunto del PHP. WordPress funciona desde PHP 5.2 hasta PHP 7.3, lo que significa que da soporte a versiones que tienen ya 10 años o más, incluso a versiones que hace bastantes años que no tienen soporte de seguridad. Comenzará enero de 2019 solo con soporte de seguridad de las versiones PHP 7.1, y mantenimientos de las 7.2 y 7.3, recién estrenada.

¿Cómo se puede verificar que estamos al día? Pues ahora mismo una buena herramienta es el proyecto en clave Surf Happy, actualmente conocido como el plugin Health Check.

Ejemplo de resultados del plugin Health Check

Este plugin va a ser integrado próximamente en el núcleo de WordPress, antes del lanzamiento de la versión 5.1, y va a tener como objetivo que todo el mundo actualice su versión de PHP a una igual o superior a la 5.6 antes de abril de 2019, y a una igual o superior a la 7.0 antes de 2020. Así que, si usas WordPress y aún no tienes instalado este plugin, hazlo porque te va a permitir verificar el estado de salud de tu instalación.

Recuerda: tener una versión inferior a PHP 7.1 puede poner en riesgo la seguridad de tu WordPress.

Recuerda que mantener unas versiones de PHP actualizadas te aseguran la compatibilidad y el buen funcionamiento de core, plugins y themes en tu instalación.

Pero este plugin no solo analiza el PHP, sino también las bases de datos. Y es que hoy en día hay muchas opciones de MySQL (y forks) disponibles. Además del propio MySQL, tenemos la versión de Percona o MariaDB. En el caso de WordPress podemos decir que da igual qué edición de estas que comento es la mejor, porque da igual, pero lo que no da igual es su versión.

Aunque las bases de datos son compatibles, lo que es menos es su rendimiento. Que un sitio web funcione bien y rápido depende, en gran parte, del funcionamiento de su base de datos. Es por esto que mi recomendación es usar un MySQL +8.x o un MariaDB +10.1. Con esto te asegurarás que el rendimiento del sistema es el correcto. Recuerda que versiones anteriores a MySQL 5.6, además de ser algo inseguras, tienen un rendimiento inferior en un 30%.

¿Hosting compartido o dedicado? En cuanto a esta pregunta hay algunos elementos básicos, sobre todo relacionados en cuánta potencia necesitas. Si simplemente vas a tener un blog o un sitio web corporativo, con un formulario de contacto pero sin transacciones económicas, mi recomendación puede ser la de un hosting compartido, algo simple, algo de unos 10 euros al mes (120 euros al año) puede ser correcto. Un sitio web de este estilo, en principio, no suele tener configuraciones complejas, por lo que algo simple es suficiente.

En el caso de tener un sitio web más complejo, con foros, con un comercio electrónico, con algún tipo de transacción, necesitas algo más potente. En estos casos sugiero un alojamiento compartidos que te garantice unos mínimos de CPU, memoria, y espacio, o un alojamiento dedicado. Obviamente esto sube el precio (no tanto) pero se puede ir a un mínimo de 25 euros al mes (300 euros al año). Si tienes tráfico, al menos necesitarás entre 1 y 2 CPU y al menos 2 GB de RAM. Si el sistema está bien montado, esta es una buena base, y en realidad se puede escalar mucho más por ese precio.

Por otro lado tenemos el servidor web. Sin duda el más conocido puede ser Apache HTTPD, pero también aparece en escena nginx. Personalmente en estas últimas épocas mi apuesta es por LiteSpeed, y si existe la posibilidad, con licencia. Los servidores web en realidad hoy en día, con una configuración estándar, sirve cualquiera, pero cada uno tiene sus peculiaridades y sus posibilidades a la hora de cachear. Aquí es donde tenemos el siguiente elemento: la caché. Los servidores web juegan un papel interesante en ello.

Para WordPress hemos de tener en cuenta al menos 3 capas de caché: navegador, página y objetos.

La caché de navegador en realidad se puede configurar a nivel de servidor web, y en general afecta a imágenes y estáticos. A menos que tengas un sitio web que se vaya a ver desde muchas partes del mundo, no suelo recomendar el uso de CDN, aunque es una opción interesante cuando es necesario.

La segunda parte es la de la caché de páginas. Esta opción es la más habitual y se suele configurar con algún plugin de WordPress. Uno de los más habituales es el WP Super Cache. Su trabajo es simple aunque a veces se complica su configuración.

La última opción es quizá la más compleja pero la que, a mi parecer, más aporta: la caché de objetos. Esta permite, entre otras cosas, almacenar y pre calcular mejor elementos temporales, e incluso el almacenamiento de consultas a la base de datos que se repiten con mucha frecuencia. En este caso este sistema implica disponer de Redis o memcached configurado en el servidor, algo que no todos los alojamientos compartidos disponen.

Otro elemento de serie que hay que tener presente son las copias de seguridad. Tu sistema ha de tener copias de seguridad integradas (o a un precio muy barato) que te permita recuperar al menos la información de la última semana sin problemas. Si tu proveedor no te da copias de seguridad automáticas, dedica tiempo a configurar un buen plugin de backups, sobre todo que permita crear copias en un servidor o servicio externo. Un plugin que a mi me gusta mucho es BackWPup, porque tiene muchas opciones, aunque no te restaura automáticamente.

Para acabar, el tema de la seguridad. En la medida de lo posible, tu alojamiento web debería tener su propia capa de seguridad contra ataques, su propio Firewall fuera de WordPress. En caso de no ser así, vas a tener que configurar un plugin para ello, pero te va a consumir muchos más recurso y hará que tu sitio web vaya más lento.

Y recuerda, además, de tener siempre un servidor que soporte HTTP/2.0 con un certificado TLS para HTTPS.

Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *