¿Qué partes del servidor influyen en la velocidad de WordPress?
Puntos a optimizar
- 1 ¿Qué partes del servidor influyen en la velocidad de WordPress?
- 2 Cómo reducir los tiempos de respuesta del servidor (TTFB)
- 3 WordPress usando PHP versión 7 o superior
- 4 Optimizar base de datos WordPress
- 5 Evitar Redirecciones
- 6 Cambios en htaccess para habilitar la compresión de las respuesta del servidor
- Nacionalidad del hosting: Cuanto más cerca esté la IP del servidor a la de nuestros visitantes mejor
- 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
- Php: Las últimas versiones son mas rápidas
- 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.
- 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:
- De http a https
- 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