Hoy en día es muy importante la velocidad de carga de un sitio, tanto que forma parte del SEO. Porque o tu web va rápida o Google o cualquier otro buscador, te puede penalizar por ello.
Así que te voy a dar unos buenos consejos para meterle el turbo a tu WordPress y acelerarlo lo máximo que pueda.
Con éstos consejos he visto WordPress que han aumentado de velocidad un 30, 50 , 200 o más por ciento.
Pero ésto ya depende de como lo hagas, del hosting y de otras cosas que ahora te contaré.
Te doy 5 minutos para que te prepares un café.
¿Listo?
Vamos al lío.
Lo primero es ver la velocidad que tiene tu WordPress y ver en que falla o se nos atasca.
Que conste que no solo sirve para WordPress y lo puedes aplicar a cualquier otro tipo.
Podemos usar Google Analytics, Pagespeed y otras herramientas.
Pero como cada maestrilllo tiene su librillo, yo te voy a enseñar el mio.
La herramienta que suelo usar se llama Gmetrix y te puedes registrar(es gratis) o no si no quieres.
La ventaja de registrarte es que vas guardando las urls y vas viendo los avances.
Si ponemos una url ya sea de la principal u otra de las páginas, podremos ver el rendimiento de la web tanto en Pagespeed como en Ylow, pero a un modo más profundo en el que veremos donde falla nuestra web.
Cuanto más verde está un apartado mejor. Pero debes tener en cuenta de que hay cosas que no se pueden mejorar, dado que no depende de nuestra web.
Como por ejemplo enlaces a redes sociales, el sistema de comentarios Disqus y cualquier otro servicio externo.
En mi caso estoy más pendiente de apartado Pagespeed para los errores y el Timeline, dado que en éste último puedes ver si hay algún archivo o url que tarde en cargar y ralentice tu sitio.
Un ejemplo de una web mía, que por cierto la pondré a dieta ya mismo que la veo algo pesada.
Que conste que la puntuación del 95% de mi web es después de haber elegido una buena plantilla y haber realizado un trabajo bueno para que de éste resultado.
Algunos de esos problemas son los que hacen las web pesadas y de esos consejos te voy a hablar en ésta guía.
Intentaré darle un repaso a lo más problemático y a lo que yo le se dar solución.
Antes de hacer nada, quiero que apuntes los datos que te pone arriba a la derecha:
- Page load time: El tiempo que tarda tu web en cargar.
- Total page size: Lo que ocupa tu web.
- Total number of requests: El número de peticiones que hace al servidor.
Cada vez que lleves a cabo alguno de los consejos, verás como tu WordPress va cogiendo el turbo y baja en todo.
Índice de contenidos
Especifica un cache validator
La cache es un sistema que guarda una copia en el navegador de ciertos archivos estáticos como imágenes, CSS y otros.
La ventajas de ésto es que si tu sueles entrar a una página de vez en cuando, solo se cargará el contenido nuevo y no se tendrá que volver a descargar imágenes y demás.
Le ahorra tiempo y esfuerzo al servidor y a ti como navegante, te ahorra datos y por supuesto tiempo de carga.
Si no lo tienes activo, copia y pega lo siguiente en tu archivo .htaccess.
<ifmodule mod_expires.c> ExpiresActive On ExpiresDefault A3600 <filesmatch ".(jpg|JPG|gif|GIF|png|css|ico|js)$"> ExpiresDefault "access plus 1 week" </filesmatch> </ifmodule>
Activa la compresión gzip
Puede que tengas marcado ese error si no tienes la compresión activada en tu sitio web.
Eso puede ser por que tu hosting no la activa a sus clientes. Si es así, yo personalmente dejaría ese hosting cuanto antes.
Es muy importante, dado que reduce de tamaño los archivos que se pueden comprimir como los de texto, HTML, CSS, etc.
Ésto ahorra cantidad de tráfico y la web carga mucho más rápido.
Pregunta a tu hosting a ver que te dicen.
Activa Keep-Alive
Ésto es un sistema que mejora las conexiones y éste casi seguro que lo tiene tu hosting activado, pero también debemos activarlo en el .htaccess.
<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>
Especifica el Vary: Accept-Encoding header
Ésto mejora la carga de las páginas dado que modifica la información de las cabeceras, según el cliente que reciba el archivo.
Lo mismo, al .htaccess.
<IfModule mod_headers.c> <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary: Accept-Encoding </FilesMatch> </IfModule>
Desactivar ETAG
Las etags tienen que ver con las versiones de los archivos y normalmente suelen ralentizar la carga y creo que es por la comprobación de las mismas.
La solución es quitarlas y problema resuelto.
Copiamos lo siguiente al .htaccess.
<ifModule mod_headers.c> Header unset ETag </ifModule> FileETag None
Quita las cadenas de peticiones de recursos estáticos
Éste me encanta.
Resulta que WordPress tiene un sistema de versiones de archivos como el JQuery y otros.
A lo mejor la web tiene unos scripts o archivos CSS que tienen un control de versiones del tipo archivo.css?ver=3.2.4.
Ésto ayuda a llevar un control de la versión del archivo, pero a parte de que cualquiera puede ver si la versión de tu script tiene un bug conocido, también ayuda a que la web vaya lenta.
Para quitar ésto tenemos 2 opciones, pero con el mismo código.
Pegarlo en nuestro archivo functions.php:
function _remove_script_version( $src ){ $parts = explode( '?', $src ); return $parts[0]; } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
O crear un pequeño plugin para hacerlo si no podemos modificar el functions.php o nuestros cambios se perderán en el momento que se actualice el tema.
Copia lo siguiente en un archivo de texto. Renombrálo a nombredelpluginquemedelagana.php. Lo subes por FTP a la carpeta wp-content – plugins y te vas a los plugins de WordPress y lo activas.
<?php /* Plugin Name: Mi plugin Plugin URI: Description: Elimina las cadenas. Author: Yo mismo Version: 1.0 Author URI: */ ?> <?php function _remove_script_version( $src ){ $parts = explode( '?', $src ); return $parts[0]; } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 ); ?>
Especifica las dimensiones de imágenes
Éste problema es debido a quien hizo la plantilla de tu WordPress, no especificó el tamaño de las imágenes.
Poco podemos hacer aquí.
Lo mejor, buscar una plantilla mejor.
Sirve imágenes escaladas
Éste error es debido a que tu plantilla sirve las imágenes más grandes de lo que son, con el consecuente gasto de recursos y tiempo de carga.
Puede ser por fallo del que hizo la plantilla, pero no creo. O porque hayas cambiado de plantilla y no hayas vuelto a crear las miniaturas o thumbnails.
Mira ésto anda y no se te olvide para la próxima.
Optimiza las imágenes
Otro problema que suele haber con las imágenes es que no están optimizadas.
La mejor manera sería coger un programa de retoque de imágenes y optimizarlas para páginas web.
Ésto es un trabajo bastante arduo y no creo que vayamos a hacerlo a no ser que tengamos que retocar alguna imagen y digamos «ya que estoy la guardo optimizada para la web».
Pero no re preocupes que te doy la solución.
Hay algunos plugins que sirven para optimizar las imágenes como el smush it.
Con un simple clics, te optimiza todas las imágenes de tu Wordpress.
No quedarán perfectas, pero te quitará algo de peso.
—
Pues listo. Ahí queda ésto.
Si te ha servidor de ayuda, no olvides compartirlo.
Y cuando quieras estas invitado a pasar por mi web y aprender sobre WordPress.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Tienes un error en los Etag
Me alegro!
Los Etag los tengo exactamente igual.
Pero el «FileETag None» no tiene que ir dentro de «».
Jaja. Ya me estabas poniendo en duda y he revisado los blogs ingleses que leo y está correcto.
Puedes meterlo en la directiva «FilesMatch» para que afecte sólo a ciertos tipos de archivos.
Buen artículo. Hay cosas que no sabía y empezaré a aplicar ahora mismo. En el tema de «Remove query strings from static resources» , he usado código en el functions.php(ahora mismo no recuerdo si era este), pero si usaba un mapa de Google Maps, daba error, ya que se ve que era necesario. ¿Sabes si se puede poner alguna línea que lo discrimine y no le afecte? Un saludo.
Excelente artículo!!!
wooow eh pasado de 68% a 90% aplicando algunos de estos trucos
Como me emocioné cuando vi este artículo en el Feedly, ya que siempre checkeo GTMetrix. Lástima cuando llegué a la parte de «Remove query strings from static resources» 🙁 Apliqué el código en el functions pero sigo en el mismo porcentaje :S la mayoría de sugerencias es sobre un resize de imágenes. Será esto porque el theme es responsive o porque no están especificadas en algún lado las medidas. Imagino que el theme es super bueno, lo compré en StudioPress, pero no puedo avanzar con la optimización 🙁 Quizá sea por estar usando Photon de Jetpack?
Este es mi reporte:
es para el sitio RobertoRamasso.com
alguna sugerencia? Gracias.
Por mucho que tu puntuación sea de 95 si tu sitio carga en 3.85sg tu sitio es lento, en realidad muy lento. Los tips que apuntas son de utilidad pero deben complementarse con algo más. Al final y si nuestro proyecto es serio deberemos decidir si invertimos o no el, entonces será cuando marcaremos la diferencia.
Tienes razón en lo que has dicho.
Esta web va algo lenta y tal y como he dicho, la tengo que poner a dieta. La publicidad y otras cosillas afectan a la carga.
No es un proyecto serio y no se si seguiré con él mucho tiempo.
Pero es verdad que con éstos consejos, una web puede acelerar mucho la velocidad de carga y lo más importante, las peticiones al servidor que se reducen considerablemente.
Gracias por tu comentario y un saludo.
Vicente, he estado mirando la de webyseo y carga en 10,12 sg según gmetrix. y tiene imagenes sin definir el alto y el ancho.
Es un diseño pareceido al que tiene un amigo que tiene el mismo problema las imagenes están sin dimensionar
Hola Raul, a pesar de que continuamente intento aplicar mejoras para acelerar el sitio en ocasiones no puedes hacer nada si si tu servidor no responde adecuadamente. Acabo de añadir un servicio CDN que una vez puesto en marcha ayuda al sitio a reportar velocidades de hasta 0,85s, utilizando gmetrix como referencia. Ahora mi próximo objetivo es estabilizar esos números para que no hayan picos altos, como bien indicas uno de los puntos a tratar son algunas deficiencias del diseño … hay que tener una dedicación constante!!
Uno de los grandes problemas de Wordpress es el manejo de archivos de idioma «bajo el capó» y el manejo de las imágenes
Desde hace unas semanas Bjoern lanzó este plugin que he estado probando y estoy muy contento con el, ya que acelera el sitio web bastante, tanto el administrador como de cara al usuario, al no tener que cargar todo el paquete de idiomas ni tener que crear miniaturas de las imágenes sino sólo cuando realmente se necesitan
https://wordpress.org/plugins/wp-performance-pack/
El gran problema que le veo a mi web y seguramente al resto es que los botones sociales son lo peor pero necesarios. Siempre en todos los análisis los únicos errores que muestran son de facebook o twitter, de google+ parece que no. Así que yo por mi parte no puedo mejorar mucha a gran escala, ya son detalles mínimos.
Hola, he hecho lo que dices y ha dejado de funcionar todo el blog… en realidad toda mi web… he quitado los códigos y no se soluciona. Me sale este error
Fatal error: Call to undefined function wp_register_plugin_realpath() in /home2/reproart/public_html/blog/wp-settings.php on line 213
por favor, sabrías que puede estar pasando? Gracias
Muy bueno el tutorial. Tengo un problema. si utilizo el código para solucionar: Remove query strings from static resources
Me sale este error con el api de google map
The Google Maps API server rejected your request. The «sensor» parameter specified in the request must be set to either «true» or «false».
¿sabes a que será debido?
De momento he quitado el código para que la web funcione
Me pasa igual con los mapas de google, tengo que desactivar el plugin que has creado.
Por todo lo demás estoy sorprendido de que este blog sea gratis.
Se ve muy bien el tutorial, pero cuando se trata del htacces y functions.php tienes que ser muy cuidadoso, porque puedes dañar todo el sitio… me gustaría saber en qué línea va el código, después de qué cosa o entre qué y qué… es que no dice mucho de en qué lugar debe ir o si debemos cambiarlo por otro código. Espero puedan ayudar en ello, saludos y buenos post!
¡GUAU! La web de un cliente reciente ha pasado de 67 a 91 en Pagespeed sólo con los cambios en el .htacess. Como la web ya está en producción no me atreví con el tema de «Remove query strings from static resources» por lo que comenta alguna gente sobre el problema con Google Maps. Pero, vamos, que el resto, gasolina super!!!! Muchísimas gracias!!!!
Buen artículo. ¿Has pasado ayudawp por http://developers.google.com/speed/pagespeed/insights/ ? Sorprendente
Aún estoy lejos de usar esto (ando en construcción) pero me parece una herramienta geniaaaaal! Gracias por tus consejos.
P.D: Has escrito Gmetrix (falta una T).
yo uso el plugins SEO worpres by Yoast y W3 total Cache, estaria bien si hago esas modifiacaciones ?
Hay otros TIps que van muy bien, por ejemplo usar el mod_pagespeed en un VPS o dedicado resulta ser muy util, y para aquellas personas que por ejemplo tiene problema con el tiempo de respuesta del servidor usar solo el cache page del pluign W3 Total Cache lo resuelves rapido…
Aqui muestra de la puntuacion de mi blog si necesitan alguna ayuda yo tengo algunos tips que podrian ayudar.
https://developers.google.com/speed/pagespeed/insights/?url=http%3A%2F%2Ftendenciasdom.com
Nota: Me falta la parte del Remove query strings from static resources ya que desconocia el tema y Fernando explica muy bien esa parte, en la proxima semana lo estare implementando.
Hola! después de hacer esto, no me deja ver el blog, ¿Cuál es el problema?