Optimizar servidor para WordPress

Home   /   Optimizar servidor para WordPress

¿Qué partes del servidor influyen en la velocidad de WordPress?

  1. Nacionalidad del hosting: Cuanto más cerca esté la IP del servidor a la de nuestros visitantes mejor
  2. Configuración del hosting: Un servidor compartido siempre será más lento que uno dedicado. Nginx es más rápido que Apache. Habilitar compresion gZip en WordPress
  3. Php: Las últimas versiones son mas rápidas
  4. Base de datos: Una base de datos SQL sin caché o llena de datos temporales y residuales hacen que la página web vaya lenta.
  5. Configuración de Apache (a través de .htaccess): Algunos microsegundos podemos rascar modificando .htaccess

Cómo reducir los tiempos de respuesta del servidor (TTFB)

TTFB significa Time to first Byte (tiempo en recibir el primer byte desde el servidor). Aquí influye la nacionalidad del hosting y su configuración, pero también puede ser que el hosting esté perfecto y el problema sea nuestro PHP y su relación con la base de datos SQL.

Aumentar memoria WordPress no es una solución a menos que tengas disponible muy poca memoria RAM en el servidor, no hay ningún hosting popular que requiera de aumentar (al menos de forma permanente el tamaño de la memoria) la memoria para mejorar la velocidad de WordPress. A parte de que pueden intentar cobrarte por ello. Otra cosa es que temporalmente necesites aumentar la memoria, al no ser permanente, adelante.

Para reducir el tiempo de respuesta del servidor  hay que hacer 3 cosas:

Haz la prueba, carga un archivo pagespeed.html (vacío da igual) en el FTP. Desde Page Speed Insights comprueba la velocidad http://www.tudomini.com/pagespeed.html si consigues un 100/100 analizando este página html, pero consigues algo inferior a los 60/100 cuando compruebas tu página, el problema no es el hosting, es tu php-mysql.

WordPress usando PHP versión 7 o superior

Setea php 7 (7.3) si está disponible en tu hosting. A través de cpanel o la herramienta que usen.

Optimizar base de datos WordPress

Si no tienes acceso a la configuración de mysql (mysql.cnf) del servidor, envia un email a tu hosting pidiendo estos cambios en la configuración. No siempre es posible, pero pruébalo.

Cambios en la configuración de mysql.cnf:

query_cache_limit = 128K 
query_cache_size = 32M 
query_cache_type = ON
table_open_cache = 1000
read_buffer_size = 2M 
read_rnd_buffer_size = 1M 
thread_cache_size = 80 
join_buffer_size = 2M 
sort_buffer_size = 2M 
max_connections = 400 
tmp_table_size = 32M 
max_heap_table_size = 32M 
table_definition_cache = 1000 
performance_schema = OFF

Instala el plugin DB optimizer para limpiar base de datos. Haz una copia de seguridad de la base de datos antes. Borra todos los datos temporales que puedas. Si hace tiempo que tu web está activa es muy posible que la base de datos haya quedado llena de datos residuales o huérfanos.

Evitar Redirecciones

Usa redirectdetective.com para comprobar las redirecciones en tu servidor. Máximo 1 redirección. Aquí no estamos hablando de redirecciones que se dan por el plugin redirection o direcciones que has redirigido desde entradas antiguas que has redirigido a páginas nuevas. Las redirecciones a evitar son las siguientes:

  1. De http a https
  2. De dominio.com a www.dominio.com

Si por ejemplo estás usando https://www.dominio.com cómo canónica, el peor caso seria cuando el usuario introduce en el navegador simplemente «dominio.com». Ya que habrá 2 redirecciones extra. Eso sin contar las redirecciones posteriores, a contenido nuevo, a idioma, …

Para optimizar redirecciones en WordPress vía .htaccess (teniendo en cuenta que quieres usar la versión https://www.dominio.com cómo principal, redirigiendo la ruta sin www y sin https o alguna de las dos.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
</IfModule>

Cambios en htaccess para habilitar la compresión de las respuesta del servidor

Copia y pega lo siguiente en tu archivo .htaccess para activar compresión gzip

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

Si te apetece probar, aquí tienes un htaccess completo para acelerar tu WordPress al máximo, pero puede darte problemas, si quieres pruébalo y sino vuelve a realizar los pequeños cambios que sugiero por separado. Aunque si tienes algo de experiencia te recomiendo revisar este htaccess y copiar y pegar en tu htaccess lo que consideres interesante.

 

Continuamos con la optimización de imágenes

Deja una respuesta

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

Optimizando WP

Optimizando WP es una guía para optimizar y acelerar la velocidad de carga de tu página web WordPress en constante construcción.

Autor: @betoayesa
Última actualización: 13/04/2020

Si necesitas ayuda contacta con PhpNinja

Cualquier duda, escribe en los comentarios, trataremos de responder rapidamente.