Cómo optimizar WordPress al máximo - guía paso a paso

Optimizar WordPress guía paso a paso

Si estás buscando consejos de cómo optimizar WordPress has llegado al sitio idóneo.

Para que lo sepas, WordPress es un gestor de contenidos que va muy rápido.

Somos nosotros los que lo hacemos lento al no controlar bien donde lo alojamos y los plugins y temas que usamos.

Pero este problema va a terminar para ti hoy mismo. Prometido.

Por cierto, si eres de los que no se quiere complicar la vida o la parte técnica no es tu fuerte, puedes echarle un ojo a mi servicio de optimización.

¬ŅTienes un rato libre?

Pues vamos.

Contenido

¬ŅPor qu√© WordPress se vuelve lento?

Hay b√°sicamente 4 motivos por los que WordPress suele tardar bastante m√°s en cargar:

  1. Usas un hosting de mala calidad: cuando se usa un hosting de calidad se nota la velocidad por toda la tecnología que usa.
  2. Tu plantilla es mala: si usas un tema que tenga muchos scripts CSS o JS y esté mal optimizado ralentizará tu WordPress.
  3. Usas plugins demasiado pesados: tener muchos plugins no es malo, siempre que estos no hagan un consumo exagerado de recursos.
  4. Tienes muchos scripts externos: si el problema no es interno, seguro que ser√° externo porque llames a scripts.

Ya no es solo la velocidad del sitio, además hace que sea casi imposible trabajar con el panel de administración.

Y si hablamos de hosting…

Una web mal optimizada, se come los recursos del servidor.

Si tienes pocas visitas no pasa nada.

Pero pasando de las 1000 te tocar√° pagar por m√°s y m√°s recursos.

Si todav√≠a no te parece suficiente motivo sigue leyendo…

¬†¬ŅLa velocidad afecta al SEO?

A ver como te lo digo para que no te duela.

Sí, Google penaliza los sitios web lentos y premia a los que cargan más rápido.

Pero es que además a partir de Julio de 2018 afectará al ranking de visitas móviles.

Así que si el tuyo tarda más de la cuenta en cargar, date por penalizado.

Pero no solo eso, adem√°s es que est√°s perdiendo todo tipo de conversiones.

Tus usuarios no se dar√°n de alta en tu newsletter porque la p√°gina no termina de cargar.

Tampoco te dejar√°n comentarios porque se aburrir√°n de esperar.

Y si tu blog es parte de tu tienda, cosa que veo bien porque no hay nada mejor para atraer tr√°fico que el marketing de contenidos.

Ya te puedes ir olvidando de tasas de ventas altas.

Todo lo que sea empeorar la experiencia de tus usuarios es como si te pegaras un cabezazo t√ļ mismo contra la pared.

Herramientas para medir la velocidad de carga

Hay un dicho que dice que lo que no se mide no se puede mejorar.

En el caso de la optimización web hay que analizar las mejoras que vamos haciendo para comprobar que efectivamente está dando sus frutos.

Tienes que medir tiempos de carga, qué scripts la están ralentizando, los archivos que carga, etc.

Hay 3 herramientas super conocidas para ello:

  • Google Pagespeed: la herramienta del gran G que te va midiendo de forma muy general lo que tienes que arreglar.
  • Pingdom: una herramienta buena que no ayudar√° con esta tarea, pero que desde mi punto de vista se queda algo corta.
  • GTMetrix: la herramientas que yo uso para optimizar todos mis proyectos y es la que te recomiendo.

Tengo un super tutorial de GTMetrix dónde te explico cómo se hace, pero es tan sencillo como:

  1. Ir a la web de GTMetrix.
  2. Poner la url de tu blog y elegir el servidor más cercano a tu hosting y país.
  3. Dale a analizar y comprobar como est√° la web.

GTMetrix pesta√Īa Pagespeed

¬ŅCual es el tiempo de carga recomendado?

Yo solía recomendar un tiempo de carga de unos 3 segundos, pero la cosa va cada día a menos.

Aunque tengamos buenas conexiones de Internet por fibra, 4G y demás, también están aumentando las tecnologías y recargan demasiado los sitios web.

Si te tengo que decir una cifra, te digo que personalmente recomiendo un tiempo de carga lo menor posible.

Yo personalmente ya intento que mis blogs no tarden m√°s de 1 o 2 segundos.

Piensa que no todos los que te visitan tienen 4G y un mega smartphone.

Tiempo de carga Ragose

¬ŅCuanto deber√≠an de pesar mis p√°ginas?

Además de los tiempos de carga hay otro factor que también deberías de controlar y es el peso de tu web.

El problema de que una web pese m√°s de la cuenta ya no es que t√ļ desde la fibra de 300 megas en tu casa la veas bien.

Es que hay gente que no tiene esas velocidades y tendr√° que esperar bastante m√°s en poder ver los contenidos.

Seguramente muchos no terminen de verla y se larguen.

Tienes que pensar de todos los usuarios.

Mi recomendación es que no supere el Mega de peso.

No todos tus lectores tienen 300 Megas de fibra. Piensa en ellos y optimiza tu blog #WPO #WordPressHaz click para twittear

1. Optimización a nivel de hosting

Antes de optimizar nuestro WordPress debes de empezar por la base, tu hosting.

Es donde se aloja, así que si quieres una buena casa, necesitas buenos cimientos.

1.1. C√°mbiate a un hosting de calidad

Si quieres hacer tu web ultrarr√°pida, lo primero que necesitas es un buen alojamiento web.

Puede haber una diferencia bestial de rendimiento entre diferentes alojamientos web.

Debes de buscar un hosting que sea espec√≠fico para WordPress, que use discos SSD, que comprima tu web, que siempre tenga las √ļltimas versiones de PHP y Mysql y si tiene un servicio CDN mucho mejor.

Hay muchas empresas de hosting en Internet y yo he probado muchas.

Te voy a recomendar Siteground que es la que uso actualmente y que creo que estar√© muchos a√Īos con ellos, si obviamente no sale nada mejor al mercado.

Aunque lo dudo, porque es lo m√°s completo que he encontrado.

1.2. Activa la compresión Gzip

Gzip es una tecnología que comprime los archivos de un sitio web haciendo que pesen menos y tarden menos en cargar.

Debería de venir puesto y activado en todos los alojamientos, aunque por desgracia no suele ser así.

Puedes detectar si tu hosting lo tiene activado con la herramienta checkgzipcompression.

Si usas Cpanel puedes activarlo dentro del apartado Software/Servicios y busca si tienes uno que se llama Optimizar sitio web.

Si es así, activa la compresión Gzip eligiendo la opción Compress all content.

Activando Gzip en Cpanel

Si no tienes conocimientos puedes contactar con tu hosting y que ellos te lo activen.

O si eres usuario avanzado puede que te guste hacerlo por el archivo htaccess con el siguiente código.

#Activar compresión Gzip
 
 SetOutputFilter DEFLATE

1.3. Activa las cabeceras para compatibilidad

Al activar Gzip, posiblemente haya alguna incompatibilidad con algunos usuarios.

Para solucionarlo, a√Īadimos esa compatibilidad al htaccess.

<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding

1.4. Desactivar las Etag

Digamos que lo que vamos a hacer es desactivar una comprobación que hacen los navegadores y que ralentiza la carga de la web.

Pues a√Īadimos lo siguiente al htaccess.

Header unset ETag

FileETag None

1.5. Activa PHP 7

WordPress es un gestor de contenidos programado con PHP, con lo que lo necesita para funcionar.

Para que tenga mejor rendimiento y consuma menos recursos necesita tener siempre la √ļltima versi√≥n, pero siempre y cuando todos los plugins y temas sean compatibles.

Si todavía no la tienes te recomiendo que cambies tu WordPress a PHP 7.

Una vez que has comprobado que todos tus plugins y temas son compatibles puedes activarlo.

Para hacerlo en Cpanel es tan sencillo como irte a 1H softwareadministrador de versiones de PHP.

Haces clic en la carpeta que quieras cambiar y elige la versión de PHP correspondiente.

Cambiar a PHP 7 en Cpanel

1.6. Habilita Keep Alive

Para no marear mucho, te diré que con ésto se aceleran las conexiones a tu web, porque se aprovechan las que ya están abiertas.

Lo mismo, al htaccess.

Header set Connection keep-alive

2. Optimización de WordPress, plugins y temas

El siguiente paso es optimizar WordPress, en lo que entra tanto el gestor de contenidos, como todos los plugins y temas que tengamos instalados.

2.1. Aumenta la memoria de WordPress

Si WordPress funciona con menos memoria de la que necesitas, además de darte problemas de lentitud, seguramente tendrás caídas y errores 500 y mal funcionamiento de plugins.

Yo te recomiendo que tu hosting te provea de por lo menos 256 Megas que es lo mínimo para este CMS.

Aunque en determinadas ocasiones y seg√ļn los plugins que uses puede que necesites m√°s.

Antes de hacer este cambio entérate si tu hosting lo permite porque sino lo que hagas no servirá de nada.

También puedes comprobar la memoria que tiene tu hosting y la que tiene signada WordPress instalando el plugin Server IP & Memory Usage Display.

Una vez que lo instalas, te vas a la parte de abajo del admin y ver√°s una barra similar a esta.

Consumo memoria RAM WordPress

Para aumentarla debes de editar el archivo config.php que estar√° en la carpeta public_html e insertar dentro lo siguiente:

define('WP_MEMORY_LIMIT', '256M');

2.2. Desactiva el archivo Cron

El archivo Cron de WordPress es el encargado de realizar muchas tareas.

Desde buscar actualizaciones del sistema y de plugins, hace que tus artículos programados se publiquen, que tus copias de seguridad se hagan automáticamente y mucho más.

Pues √©ste peque√Īo archivo es un traga recursos.

Vamos a ver.

¬ŅPara que quiero que se mire a cada momento¬†si hay o no actualizaciones y dem√°s historias?

Vamos a desactivarlo y configurarlo para que se active cada x tiempo ahorrando muchos recursos.

Lo primero es irnos a editar el archivo de configuración de WordPress wp-config, ya sea por el panel hosting o por FTP.

Y a√Īadimos lo siguiente para desactivarlo.

define('DISABLE_WP_CRON', true);

Ya lo tenemos desactivado, pero así no nos funciona nada que esté programado.

La solución es activarlo cada x tiempo para que realice las acciones necesarias.

Atención: Yo voy a explicarlo en mi actual hosting. Para asegurarte de lo que vamos a hacer, consulta mejor con el tuyo para saber si el comando es correcto.

Nos vamos a nuestro Cpanel y en la parte de abajo entramos en Avanzado y Tareas de Cron.

cPanel X - Tareas de Cron

Yo lo tengo configurado para que se active cada 15 minutos. Tiempo suficiente para todo.

B√°sicamente tenemos que a√Īadir la regla y elegir los tiempos.

No es difícil, pero hay que conocer la ruta a insertar y eso nos lo dice nuestro hosting.

En mi caso tengo lo siguiente:

*/15 * * * * /usr/bin/wget "http://miweb.com/wp-cron.php" -O=log.txt

Si haces ésto correctamente, tendremos una web que gasta menos recursos, pero manteniendo el mismo funcionamiento.

2.3. Elimina plugins duplicados o que no sirvan

Sé perfectamente que no vas a instalar el mismo plugins 2 veces.

Pero seguramente tengas plugins que hagan las mismas funciones y no estés usando. Te pongo algunos ejemplos:

  • Anal√≠tica: recomiendo tener un solo sistema de anal√≠tica y a poder ser fuera de WordPress para no recargar la instalaci√≥n. Yo eliminar√≠a cualquier otro sistema de anal√≠tica como Jetpack.
  • Redes sociales: si tu plantilla ya ofrece esta funci√≥n, no instales otro plugin o si lo haces, desactiva la funci√≥n de esta para ahorrar recursos.
  • Cach√©: no necesitas m√°s de un plugin de cach√© en tu WordPress. Qu√©date el mejor y elimina el resto.

El resto que no estés usando directamente elimínalos.

2.4. Actualiza WordPress, temas y plugins

Muchos de los fallos de velocidad suelen venir¬†porque alg√ļn plugin o un tema tiene alg√ļn¬†fallo.

A lo mejor intenta conectarse a una url que ya no existe, carga una api que ya no est√° u otra cosa.

Por eso lo suyo es siempre tener instalada la √ļltima versi√≥n de todo.

Yo sé que entras como mínimo una vez al día a tu WordPress.

Pero con la pereza o falta de tiempo miramos arriba el icono de actualizaciones y¬†decimos, ma√Īana.

Y así un día y otro.

Actualizar no es solo por velocidad, también protege tu WordPress ante cualquier problema de seguridad.

Así que ya sabes.

2.5. Analiza plugins lentos y cambialos por otros

No importa si tienes 8 u 80 plugins.

Lo que importa es que no haya plugins con un alto consumo de recursos, porque ser√° este el que ralentice tu WordPress.

Así que toca meterse en los confines de WordPress y ver cuál plugin lo está frenando.

El problema es que no es sencillo de mirar, dado que a veces se tienen muchos plugin y no podemos desactivarlos durante mucho tiempo.

Es lo que pasa cuando una web est√° en funcionamiento y ya recibe cierto tr√°fico.

Así que nos toca tirar de herramientas que nos ayuden a solucionar este problema.

Para ello te recomiendo que uses el plugin P3 Performance Profiler.

Es un plugins para WordPress que analizar√° hasta el √ļltimo plugin de tu web y te dir√° cu√°l de ellos es el culpable del consumo de recursos.

Entras en el instalador de plugins de WordPress, buscas P3 Profiler, lo instalas y activas.

Ahora te vas a herramientasP3 Plugin Profiler, le das al botón de realizar un análisis y piensa en que tienes que quitar todo el que te consuma más de un 20%.

P3 Runtime by plugin

Recuerda que este plugin no es compatible con PHP7.

Así que deberás de cambiar la versión de este a la 5.6 para usarlo y después vuelve a la que tenías.

2.6. Detecta consumos altos de RAM

A veces el problema no viene del consumo de cpu, sino de consumos altos de memoria RAM.

WordPress al igual que cualquier otro programa se ejecuta en RAM.

Si hay alg√ļn plugin que est√© consumiendo m√°s recursos de la cuenta, pues la web cargar√° m√°s lenta.

Así que nos toca ver qué plugin está haciendo un consumo excesivo de memoria RAM.

Tienes que saber que no hay un plugin que te diga la cantidad de RAM que consume un plugin.

Hay algunos, pero son complicados de entender y no te dan datos sencillos.

Pero yo he descubierto un modo de saber m√°s o menos el consumo de RAM de los plugins.

Basta que con tener activado el plugin Server IP & Memory Usage Display y vamos desactivando plugins y viendo como la memoria va bajando para saber lo que estos consumen.

2.7. Usa una plantilla que sea ligera

Además de plugins ligeros, también necesitas que tu plantilla sea lo más rápida posible.

Hay 2 factores que influyen en la velocidad de carga de la plantilla.

Uno es si usa muchos scripts y lo puedes averiguar de forma sencilla con GTMetrix.

Analiza tu web y busca scripts que tengan el nombre de la plantilla en la url.

Si tiene m√°s de 10 ya sabes que es muy pesada.

El otro modo es con P3 Profiler.

Al mismo tiempo que este analiza tus plugins tambi√©n puedes analizar tu plantilla en la pesta√Īa Detailed breakdown.

Si ves que esta hace un consumo desorbitado, ya sabes que hay que cambiarla por otra.

Detectar plantilla lenta WordPress

2.8. Busca una plantilla adaptada a móviles

Una plantilla está adaptada a móviles cuando se puede leer el texto sin tener que aumentarlo.

Si estás leyendo este artículo desde un móvil lo sabrás.

Pero adem√°s de ello, tienes que saber que cuando una plantilla es responsive, suele ser m√°s ligera.

Suele desactivar algunas opciones cuando detecta el navegador, etc.

Así que acelera mucho la carga.

2.9. Instala un plugin de caché

Cuando un usuario entra a un sitio web, el hosting tiene que crear la p√°gina usando los archivos PHP y haciendo algunas llamadas a la base de datos.

Eso de que el hosting tenga que crear la p√°gina de nuevo para cada visitante es un esfuerzo demasiado grande para cualquier servidor.

Piensa que si esa página en vez de tener al día 100 usuarios, tuviera 10.000.

Para mejorar esto se guardan copias de esas páginas en caché y se sirven a los siguientes usuarios.

En WordPress lo hacemos mediante plugins de caché y el más usado por ser gratuito es WP Super Cache.

Para instalarlo y configurarlo:

  1. Entra en el instalador de plugins de WordPress.
  2. Busca WP Super Caché, los instalas y activas.
  3. Vete a su panel que está en ajustesWP Super Caché.
  4. En cacheando elige la opción de Almacenamiento en caché Activado (Recomendado).
  5. Le das a actualizar estado y ya tendrás tu sistema de caché instalado.

Instalar Super Caché

Obviamente el plugin tiene m√°s ajustes, pero con esto ya tendr√°s lo que necesitas.

Ahora esta caché se regenerará cada cierto tiempo para mostrar las actualizaciones que hagas.

Hay m√°s plugins y muy completos como WP Rocket que es de pago y es el que uso actualmente.

Yo me pasé a este hace ya bastante tiempo y tengo que decirte que estoy más que satisfecho.

Por una mínima cantidad anual me hace el trabajo de varios plugins, con que le quito mucha carga.

2.10. Desactiva el HeartBeat de WordPress

El HeartBeat o latido de WordPress es una función que hace que WordPress esté despierto ejecutando continuamente algunas funciones.

Un ejemplo puede ser la de guardar un artículo cada x segundo para que no ser pierdan los nuevos cambios.

El problema de esto es que hace un consumo muy elevado de recursos y m√°s si se trata de plugins pesados.

Por eso te recomiendo que lo controles todo lo que puedas.

Es tan sencillo como instalar y activar el plugin Hearbeat Control y te vas a ajustes –¬†Heartbeat Control Settings.

Ahora seleccionas Allow Hearbeat y eliges post para que este solo se ejecute en estos.

Desactivar HeartBeat WordPress

Ver√°s como el consumo de recursos baja.

3. Es hora de optimizar las im√°genes

Las im√°genes son otro de los motivos principales que hacen que el tiempo de carga de una web WordPress aumente.

3.1. Usa las miniaturas para todo

Las miniaturas de WordPress son b√°sicamente unas copias de estas im√°genes en otros tama√Īos.

Puedes tener varios tama√Īos configurados y cuando subas una imagen en por ejemplo 1200×800, se crea una de 600×300, otra de 150×150, etc.

Esto obviamente depende de los tama√Īos que tengas configurados.

Pero tambi√©n depende de la plantilla, porque estas tambi√©n suelen traer incorporados algunos tama√Īos predefinidos.

Para la plantilla no hay problema, pero cuando uses un builder o insertes im√°genes a mano te recomiendo que lo hagas todo con miniaturas.

Ver√°s como de este modo tu blog ser√° m√°s r√°pido.

3.2. Optimiza las im√°genes

Las im√°genes pesadas son unos de los factores que m√°s hacen subir los tiempos de carga de WordPress.

Aunque ya estemos usando tama√Īos correctos, puede que sigan ralentizando nuestra web.

Esto suele pasar porque adem√°s de adaptarles el tama√Īo, hay que optimizarlas para reducir su peso.

Por suerte hay muchas herramientas para ello y adem√°s muchas son gratis.

Lo que hace este tipo de herramientas o plugins es coger la imagen, reducir su peso, pero sin pérdida de calidad.

Para solucionar esto lo ideal es optimizar todas las imágenes cuando se suben, pero obviamente no podemos estar haciéndolo una a una si subimos muchas.

Lo suyo es automatizarlo y para ello usaremos un plugin de WordPress.

Los hay muchos,, pero si tienes pocas im√°genes puedes usar WP Smush.

  1. Entras al instalador de plugins y buscas WP Smush, lo instalas y activas.
  2. Te vas a mediosWP Smush.
  3. Le das a Smush masivo y se ir√°n optimizando todas las im√°genes.

El problema de este plugin es que solo optimiza 50 imágenes cada vez que le das al botón.

Si tu blog tiene muchas más, puedes o bien pagar la versión Pro o usar Imagify que es la que yo uso.

Es de pago pero vale la pena.

3.3. Cachea las im√°genes de Gravatar

Seamos claros, un blog no es un blog si no hay usuarios que dejan comentarios y estos obviamente tendr√°n que tener una foto.

El problema de ponerte una foto en Gravatar es que si hay un artículo con 100 comentarios, son 100 llamadas más que se hacen.

Esto recarga mucho el blog tanto por el peso de las mismas, como el tiempo que tardan en cargar.

La solución pasa por cachear las imágenes de Gravatar y lo puedes hacer usando el plugin NIX Gravatar Caché.

  1. Entras en el instalador de plugins de WordPress.
  2. Buscas NIX Gravatar Caché, lo instalas y activas.
  3. Te vas a ajustes –¬†NIX Gravatar Cach√©.
  4. Lo activas desde la opción Activate Cache Gravatar.
  5. En TTL of cache eliges el tiempo de caché que pueden ser 1o días.
  6. Y guardas los cambios.

Panel NIX Gravatar Cache

Ahora todas esas imágenes de los Gravatar se guadarán en caché, haciendo que tus post sean mucho más rápidos.

3.4. Expiración de imágenes

Si cada vez que entraras a un sitio web, se te tuvieran que descargar de nuevo todos los archivos.

Por una parte la web iría lenta y por otro te comerías la tarifa de datos del teléfono.

La solución es que cada visitante guarde lo más pesado en la cache de su ordenador o smartphone para que no lo tenga que descargar de nuevo.

Y con eso me refiero a las im√°genes, archivos css, Javascripts, etc.

Así que vamos a preparar nuestro WordPress para que les diga a los navegadores que las guarde, pero solo con una caducidad de una semana por si cambian.

Nos vamos a nuestro archivo htaccess para editarlo y agregamos lo siguiente:

ExpiresActive On
ExpiresDefault A3600
<filesmatch ".(jpg|JPG|gif|GIF|png|css|ico|js)$">
ExpiresDefault "access plus 1 week"

4. Optimiza la base de datos de WordPress

WordPress suele recargar la base de datos de varias maneras:

  • Post: cada vez que editas un post se crea una revisi√≥n.
  • Plugins: por cada plugin que instales se crea una o varias tablas en la misma y hay algunos que crean m√°s de 10.¬†Si sueles instalar y desinstalar muchos plugins lo m√°s normal es que la base de datos se acabe haciendo m√°s pesada.
  • Comentarios spam: s√≠, todos esos comentarios sobre pastillas azules de la felicidad tambi√©n sobrecargan tu base de datos y debes de limpiarlos.
  • Datos temporales: se crean los¬†transients que son datos temporales que ya no se necesita, pero ocupan espacio.

Cada uno de estos factores hace que tu sitio web tarde m√°s y m√°s en resolver las llamadas a la base de datos.

Esto termina ralentizándolo, así que hay que tener la base de datos de WordPress optimizada.

Para solucionar el problema de las revisiones lo ideal es que las desactives y esto se hace a√Īadiendo el siguiente c√≥digo al config.php:

define('WP_POST_REVISIONS', false);

Tambi√©n puedes limitar el n√ļmero de revisiones si las necesitas cambiando el n√ļmero en el siguiente c√≥digo:

define('WP_POST_REVISIONS', 5);

Respecto a los plugins, lo mejor para ello es entrar en la base de datos de tu WordPressy eliminar las tablas que ya note sirvan.

Ojo: antes haz una copia de seguridad por si borrar algo que no debieras.

Haces clic en la base de datos, seleccionas las tablas y después le das a borrar.

Limpiar base de datos WordPress

Y después lo que te queda es optimizar la base de datos y lo puedes hacer con el plugin WP Optimize.

  1. Entras al instalador de plugins de WordPress.
  2. Buscas WP Optimize, lo instalas y activas.
  3. Entras en él y seleccionas las revisiones, opciones transitorias y seleccionas optimizar la base de datos.
  4. Le das a procesar y tu base de datos estar√° optimizada.

Wp-optimize - optimizador

WP Rocket también trae esta opción, así que puedes hacerlo con este mismo.

5. Optimiza los archivos est√°ticos HTML, CSS y Javascript

El problema de usar temas y plugins pesados es que contienen muchos archivos est√°ticos.

Por eso lo primero es usar un tema ligero, pero sino, podemos intentar arreglarlo.

Ademas, cada plugin lleva los suyos, así que en cuanto tengas varios plugin, puede que WordPress acabe ralentizado.

5.1 Minificación de archivos CSS y JS en WordPress

Una solución para este problema es la minificación de archivos.

Esto es b√°sicamente coger estos archivos y comprimirlos para que sean lo m√°s ligeros posibles.

Además de ello se suele usar la técnica de la concatenación, que no es más que juntarlos todos en uno o varios para que se hagan menos llamadas.

El problema de esto es que a pesar de haber varios plugins gratuitos no he tenido buen resultado.

Simplemente porque estos plugins consumen m√°s recursos que el problema que intentan resolver.

Yo he solucionado esto con el plugin WP Rocket y te lo explico en mi post de cómo minificar y concatenar archivos en WordPress.

5.2 Eliminar cadenas est√°ticas o query string

Muchos archivos CSS y scripts de Javascript tiene un control de versiones. Por ejemplo:

http://miweb.com/miarchivo.css?version=1.02

Lo malo de √©sto es que hacer esa comprobaci√≥n a√Īade carga a la web.

Y no ayuda precisamente a la seguridad del sitio, porque cualquiera puede ver la versi√≥n de ese script que usas y si tiene alg√ļn fallo que explotar.

Lo podemos desactivar a√Īadiendo lo siguiente¬†al archivo functions.php dentro de AparienciaEditor.

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

5.3 Usa un CDN

Un CDN o Content Distribution Network es un servicio que lo que hace es servir por ti los archivos est√°ticos de tu sitio web.

Desde los archivos de imagen, las hojas de estilo CSS y los script de Javascript JS.

Yo suelo recomendar Cloudflare y para configurarlo es tan sencillo como:

  1. Date de alta gratis en CloudFlare.
  2. Escribe el dominio de tu blog y dale a siguiente.
  3. Copia los DNS y sustituye los de tu dominio por los de Cloudflare.
  4. Ahora todo el tráfico de tu blog pasará por él y verás como tu blog carga más rápido y además ahorras recursos de tu hosting.

Si quieres más detalles sobre esto, escribí una guía completa de Cloudflare en el blog de David.

6. Optimiza los scripts externos

Los scripts externos son los que se cargan desde otros sitios web que no es el nuestro.

Y los hay de muchos tipos:

  • Anal√≠tica: como por ejemplo Google Analytics.
  • Publicidad: En este caso lo normal es cuando usas Google Adsense.
  • Formularios: ya sean de Google Forms o de herramientas de email marketing.
  • Y mucho m√°s.

El problema de estos scripts es que no se pueden optimizar porque no est√°n en tu hosting.

Pero sí podemos darle alguna solución.

Para los de analítica poco podemos hacer, porque los necesitamos.

En el caso de la publicidad te recomiendo que no uses muchos banners porque adem√°s de empeorar la experiencia de usuario, tu WordPress cargar√° m√°s lento.

Si usas formularios te recomiendo que uses alguna opción interna y no externa.

Por ejemplo Contact Form para los de contacto o integrar un plugin como Convert Pro o Thrive Leads para formularios de correo electrónico.

7. Instala Google AMP

Google AMP es una tecnología de Google que hace que tus páginas carguen mucho más rápido.

Está orientado a contenidos, osea artículos, así que no lo vas a usar con páginas y menos si usas un builder.

Para instalar Google AMP en tu blog WordPress es sencillo:

  1. Entra en el instalador de plugins de WordPress.
  2. Busca AMP for WordPress, lo instalas y activas.
  3. Puedes personalizar los colores desde aparienciapersonalizarAMP.

Ahora todos tus artículos irán creando esta versión de páginas más rápidas.

Tambi√©n puedes mejorar esta personalizaci√≥n poniendo un men√ļ, art√≠culos relacionados y mucho m√°s con el plugin AMP for WP.

Pero mi punto de vista es que si quieres hacer tu blog m√°s ligero no te pongas tantas cosas.

Escribí un tutorial de AMP for WordPress en el blog de Javier Gobea.

Es hora de acelerar tu WordPress

Espero que esta guía te sea de utilidad y consigas optimizar tu WordPress todo lo que puedas.

Todas estas t√©cnicas y consejos los he ido adquiriendo durante a√Īos y los actualizo para usar siempre las mejores herramientas.

Debes de tener en cuenta que esto es el trabajo est√°ndar y que cada proyecto suele tener sus peculiaridades y dificultades.

Haz tu web ultrarr√°pida y ver√°s como mejoran todos los resultados.

¬ŅTienes alguna duda?

Venga, te espero en los comentarios.

40 comentarios en “C√≥mo optimizar WordPress al m√°ximo – gu√≠a paso a paso”

  1. Ahhhh, me paro en la mitad luego sigo leyendo, prueba hecha, y pum 22segundos…¬Ņqu√© es esto? Si estoy en 2 seg, acto seguido, voy a cpanel y tachan…estoy en I/O al m√°ximo de recursos a 4096kb/s que tengo de l√≠mite desde las 11 de la ma√Īana de hoy, y ahora que hago miro estad√≠sticas…y pum..206 visitas, no son muchas pero si todos los d√≠as y mi s√ļper p√°gina ha tardado 22 segundos…ahora es cuando sigo leyendo tu art√≠culo …

  2. Me quedo con el take away. Gracias por semejante post! Intentaremos hacer las cosas bien, como dices, otra cosa es lo que me saldr√°…gracias de nuevo!

    1. Ra√ļl Gonz√°lez

      Hola Sonia,

      Lo de que tu blog tarda 22 segundos, ¬ŅSabes por qu√©? Yo s√≠. Me he tomado la libertad de mirarlo.
      Resulta que tienes un anuncio de Amazon y se ve que la web a la que se conecta est√° lenta y te ralentiza todo el sitio web.
      Si haces de nuevo la prueba. O mejor, más de una porque a la primera no se ve, verás abajo en la tabla el tiempo de carga de los scripts y ahí puedes verlo.
      √Čsto puede que cargue los recursos del servidor, ya que mientras a un visitante no se le cargue por completo la web, no libera recursos.

      Saludos.

      1. Gracias!! estuve haciendo modificaciones en la plantilla igual toqué demasiado, yo prefiero gtmetrix.com a pingdom tools, lo entiendo mejor, y si es el banner de amazon, lo quito y punto!

        Un saludo y gracias por las molestias!

        1. Ra√ļl Gonz√°lez

          Pues no creo que te de fallos por tocar partes gr√°ficas de la plantilla. Puede dar error o que la carga sea lenta por alg√ļn script externo.
          Lo tuyo es por el banner y después de eso, pues tendrás que mirar más a fondo.
          Yo también uso Gtmetrix, pero en ésta ocasión he recomendado Pingdom.

          Nadaaaaa!!!

  3. ¬ŅC√≥mo s√© cual es mi comando cron? Esto lo veo complicado…he activado el gzip pero lo del cron y el take away me va a costar…de todas formas te comparto el post por Google y Twitter que est√° genial!

    1. Ra√ļl Gonz√°lez

      No te preocupes, las cosas llevan su tiempo.
      Si est√°s con Webempresa seguramente ser√° igual que el mio, pero variando la url por la tuya. Consulta a soporte a ver que te dicen.

      Saludos.

  4. Muy buen aporte Ra√ļl,

    Tienes unos tiempos de carga realmente excelentes.

    En mi web no tenía desactivado el Cron, ni me había acordado de él cuando me puse a optimizar la velocidad de carga.

    Con ese detalle he ganado otros 300ms.

    Gracias!

    1. Ra√ļl Gonz√°lez

      Gracias Arturo,

      La verdad es que la velocidad es algo imprescindible para el seo y tu lo sabes. Todas mis webs las tengo bien optimizadas para una carga r√°pida, pocas llamadas a la base de datos y cacheadas.
      El cron es un come recursos. Lo que se me olvidó comentar en el artículo es que si se tienen varias webs, no poner el cron al mismo tiempo en ellas, para que no haya cargas de recursos. Así se distribuye mejor.

      Saludos.

  5. Ra√ļl, muchas gracias por el art√≠culo, me viene muy bien… y, por cierto, otro que se va a WebEmpresa ūüôā

    Me funciona todo bien excepto lo de eliminar las cadenas est√°ticas.
    Que hace que en mi p√°gina el texto salga sin el estilo que quiero.

    1. Ra√ļl Gonz√°lez

      Me alegro Juan Carlos.
      Ahora tienes un c√≥digo de descuento hasta fin de mes que se llama “gracias30”.
      Si usas alguno de mis enlaces se agradece.
      Felices fiestas!!

  6. tengo un problema.me aparece ese error 406.
    dentro de wordpress en Apariencia>editor> y le doy al style.css para hacer un cambio, cuando le doy al bot√≥n de ‚Äúactualizar cambios‚ÄĚ ,me salta a una pagina en blanco y me indica este error 406. solo puedo volver a mi wordpress con el bot√≥n de retroceder del explorador. y evidentemente los cambios no se han guardado. solo me pasa con este style.css. si toco otro archivo como el ‚Äúcontent.php‚ÄĚ y le doy al bot√≥n de ‚Äúactualizar cambios‚ÄĚ no hay ning√ļn problema.
    y no es por haber hecho nada mal en el style.css, ya que no he cambiado nada, simplemente con darle al botón, ya me aparece ese error.
    que puede ser?? que tengo que hacer??? me podeis ayudar por favor.
    gracias.

  7. Gracias por semejante post!
    Llevo semanas con una lentitud del demonio en el site y ahora que he visto tu articulo, espero me mejore mucho, mi cliente esta a punto de colgarse por la lentitud de la pagina.
    Te haré saber si el rendimiento mejora!
    Gracias!

      1. Raul, Espero puedas ayudarme, sigo con problemas a pesar de haber hecho todo lo recomendado en este sitio y otros. El sitio solamente una vez al dia (durante la misma hora todos los dias) se cae!
        Aqui abajo te pongo una copia de algunos errores. En el servicio de mi hosting me dice que la carga o uso de recursos se debe a entradas de wordpress. Pero la gente trabaja todo el dia en ellas y solo una hora se cae el sitio, y siempre a la misma hora. Espero puedas ayudarme. El servidor es dedicado (cloud) tenemos 6GB de ram y aun asi no es suficiente.

        1. Ra√ļl Gonz√°lez

          Franklin te he editado el comentario, porque has pegado un buen trozo de log. Si quieres, cont√°ctame por la p√°gina de contacto y vemos que podemos hacer. Saludos.

  8. Antonio Lòpez

    Hola
    Estoy intentando optimizar la web pero a pesar de tener habilitado gzip, siguen diciendome todos los medidores de velocidad que debo habilitar la compresi√≥n de………….ruta/elquesea.js y lo mismo para .css.
    Te pego el código del .htaccess

    Header append Vary User-Agent env=!dont-vary

    AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json

    # DEFLATE by extension
    AddOutputFilter DEFLATE js css htm html xml

    No le encuentro la raz√≥n pero …….

    Si puedes aportarme algo de luz, te lo agradecería.

    Un saludo

    1. Ra√ļl Gonz√°lez

      Antonio depende de muchas cosas. Lo √ļltimo que me he encontrado es que muchos hostings trabajan con Nginx como proxy cach√©, con lo que no coge las directivas del htaccess y te lo tienen que implementar ellos directamente. Saludos.

    1. Ra√ļl Gonz√°lez

      Pues Nicolás hace mucho que trabajé con Cloudflare y no recuerdo bien como trabaja. Pero para usar un CDN sí se debería activar y poner en cname del CDN. Saludos.

  9. Hola, estoy buscando alguien que me ayude con mi web y me diga cuanto me cobraria, espero tu respuesta si puede ser via email te agradezco. un abrazo

  10. Como estas amigo,
    Admiro mucho tu sabiduría,
    Quer√≠a consultarte. Yo uso Digital Ocean, y no tengo Cpanel all√≠, pero si me he instalado ispconfig en el. Quer√≠a saber si puedo realizar las compresiones all√≠ y como deber√≠a hacerlas de forma correcta, y con respecto al cronjob… Ya que no uso Cpanel, el mismo no lo encuentro.. Podr√≠as darme alg√ļn consejo?
    Gracias por todos tus aportes, valoro mucho tu trabajo.

  11. Muy buenos d√≠as, he hecho varias de las modificaciones de las que hablas y la verdad es que funcionan de lujo, muchas gracias por tan buenos consejos!!! aunque si que me ha surgido un peque√Īo problema: al incluir lo de las cadenas est√°ticas al functions.php algunas tipograf√≠as pierden las fuentes que ten√≠an y aparecen con la tipograf√≠a por defecto, habr√≠a alg√ļn modo de solucionarlo?

    Un saludo

    1. Ra√ļl Gonz√°lez

      Hola David, si, son mejoras que te deberían de funcionar y mejorar la velocidad de la web. Hay muchas más que estoy preparando en mi curso de optimización de velocidad de WordPress, pero con esas mejora bastante.
      Respecto a lo de las cadenas estáticas es algo que puede ocurrir. Si te pasa directamente no uses esa opción.

      Saludos.

  12. Muy Buen Aporte Ra√ļl …
    Lo he puesto en pràactica y he conseguido que mi pàgina cargue en 1.4 segundos (test realizado en GTmetrix)
    Lo √Ļnico que me falta es poner en forma “async” los javascript para que no bloqueen la carga…
    Seg√Ļn PageSpeed Insights “Eliminar el JavaScript que bloquea la visualizaci√≥n y el CSS del contenido de la mitad superior de la p√°gina ” y hace referencia a:
    jquery.js y a jquery-migrate.min.js
    Si fuera html lo podrìa solucionar sòlo poniendo async antes de la llamada al js
    es decir : asì
    Pero como la llamada la realiza en php add( ‘jquery’, false, array( ‘jquery-core’, ‘jquery-migrate’ ), ‘1.12.3’ );
    $scripts->add( ‘jquery-core’, ‘/wp-includes/js/jquery/jquery.js’, array(), ‘1.12.3’ );
    $scripts->add( ‘jquery-migrate’, “/wp-includes/js/jquery/jquery-migrate$suffix.js”, array(), ‘1.4.0’ );
    En el directorio wp-includes …archivo script-loader.php .
    Ah√¨ no se como colocar el “async” para que los js carguen en forma asyncr√≤nica.
    Saludos y gracias por la ayuda.

    1. Ra√ļl Gonz√°lez

      Hola Gabriel,

      Dentro de poco voy a hacer un artículo sobre un plugin que te puede ayudar. Se llama WP-Rocket.

      Saludos.

  13. Hola! Excelente art√≠culo, implement√© y prob√© varias de las opciones y la verdad que logr√© bajar casi 5 segundos la carga de mi sitio. Gracias y te felicito por este aporte genial ūüôā

  14. Hola Excelente post, me esta ayudando mucho a evaluar los errores de mi web.

    Tengo una consulta hace poco tuve un inconveniente con mi web y Bluehost detecto malware y la deshabilitarón, tuve que adquirir un servicio de ellos Sitedoctor para que la limpie y la activaron la web, lo que me informaron que hubo un problema de seguridad por no actualizar el WordPress, ellos lo actualizaron y ahora al entrar me muestra lo siguiente:
    ¬°WordPress se ha actualizado! Antes de continuar, tenemos que actualizar tu base de datos a la √ļltima versi√≥n.
    En que puede afectar esto a mi web? y que otras medidas puedo tomar para no verme afectado por los malware.

    Gracias por tu respuesta

    1. Ra√ļl Gonz√°lez

      Hola Orlando,

      Cuando se actualiza a algunas versiones de WordPress, suele solicitar actualizar la base de datos, pero es algo normal y que no suele dar problemas.
      Respecto a securizar la web, pues hay muchas cosas que se pueden hacer. A ver si empiezo con algunos temas de seguridad que os ayuden.

      Saludos.

  15. Buenos d√≠as Ra√ļl, estoy atope con mi web y necesito darle los ajustes para optimizar y pulir con respecto a la velocidad, donde tendr√≠a que colocar las lineas de texto en el archivo htaccess.
    Por otra parte me estoy volviendo loco con la configuración de cache de w3total cache

    y con respecto al tema del cron ni me había planteado tocarlo

    Que me recomiendas para optimizar todo lo posible

    muchas gracias

  16. Hola Ra√ļl ¬ŅC√≥mo est√°s? Excelente tu blog y toda la informaci√≥n que nos compart√≠s. Me ha ayudado mucho con una de mis p√°ginas.

    Tengo un problema. Despu√©s de haber utilizado los diferentes c√≥digos en .httacces de mi WordPress, la pagina empez√≥ a funcionar mucho mejor pero con un solo inconveniente. Una de las paginas dentro mi pagina tengo unos formularios que tiene la imagen de “captcha” se genera un conflicto y me aparece como si la imagen estuviese rota.

    No lo he podido corregir y me genera un problema importante porque todas las consultas las recibo a través de esos formulario.

    Si sabes de alguna posible solución seria óptimo.
    Muchas gracias, saludos desde Argentina.

    Nicol√°s.

Dejar un comentario

You have to agree to the comment policy.

Información básica sobre Protección de Datos

Responsable: Ra√ļl Gonz√°lez Sede√Īo (yo mismo).
Finalidad: Moderar los comentarios.
Legitimación: Que me das permiso, vaya.
Destinatarios: Tus datos se guardan en mi hosting Siteground, cifrado con SSL y que los proteger√° con garras y dientes.
Derechos: Y obviamente puedes acceder, rectificar y suprimir tus datos, así como otros derechos cuando quieras.
Información adicional: Puedes consultar la información adicional y detallada sobre protección de datos personales en mi página web ragose.com + info

¡Atención!

Estás a punto de descargar la plantilla y formar parte de mi comunidad para mejorar cada día las visitas de tu blog. 

Información básica sobre Protección de Datos

Responsable: Raúl González Sedeño (yo mismo).

Finalidad: Enviarte la plantilla y la newsletter de mi blog.

Legitimación: Que me das permiso, vaya.

Destinatarios: Tus datos se guardan en Active Campaign que es mi servicio de email marketing y que está acogido al acuerdo de seguridad EU-US Privacy. Resumiendo, que están protegidos.

Derechos: Y obviamente puedes acceder, rectificar y suprimir tus datos, así como otros derechos cuando quieras.

Información adicional: Puedes consultar la información adicional y detallada sobre protección de datos personales en mi página web ragose.com + info.

¡Atención!

Estás a punto de descargar mi guía y formar parte de mi comunidad para mejorar cada día las visitas de tu blog. 

Información básica sobre Protección de Datos

Responsable: Raúl González Sedeño (yo mismo).

Finalidad: Enviarte las 50 técnicas  y la newsletter de mi blog.

Legitimación: Que me das permiso, vaya.

Destinatarios: Tus datos se guardan en Active Campaign que es mi servicio de email marketing y que está acogido al acuerdo de seguridad EU-US Privacy. Resumiendo, que están protegidos.

Derechos: Y obviamente puedes acceder, rectificar y suprimir tus datos, así como otros derechos cuando quieras.

Información adicional: Puedes consultar la información adicional y detallada sobre protección de datos personales en mi página web ragose.com + info.

¡Atención!

Estás a punto de descargar la plantilla y formar parte de mi comunidad para mejorar cada día las visitas de tu blog. 

Información básica sobre Protección de Datos

Responsable: Raúl González Sedeño (yo mismo).

Finalidad: Enviarte la plantilla y la newsletter de mi blog.

Legitimación: Que me das permiso, vaya.

Destinatarios: Tus datos se guardan en Active Campaign que es mi servicio de email marketing y que está acogido al acuerdo de seguridad EU-US Privacy. Resumiendo, que están protegidos.

Derechos: Y obviamente puedes acceder, rectificar y suprimir tus datos, así como otros derechos cuando quieras.

Información adicional: Puedes consultar la información adicional y detallada sobre protección de datos personales en mi página web ragose.com + info.

Ir arriba