Tutorial: Cómo conseguir la máxima puntuación posible en Google PageSpeed

Desde
21 Ago 2010
Mensajes
541
google-page-speed.jpg

¡Hola ForoBeta! Con tal de intentar dejar mi granito de arena en el foro, aquí os traigo mi tutorial referente a obtener la máxima puntuación posible en el archiconocido Google PageSpeed Test.
Antes de comenzar quiero recalcar que hay que tener algún conocimiento mínimo sobre edición de código y dominio de programas básicos, no obstante no considero que se requiera de ningún conocimiento imposible de obtener en unos pocos minutos, por lo que cualquiera es capaz de seguirlo sin ningún tipo de problema.

Sin más dilaciones, comencemos.



Compresión de imágenes

  • Herramientas: FileZilla y FileMinimizer
  • Conocimientos: utilización de varios programas a nivel elemental
  • Duración: 1 minuto o menos por imagen

El primer proceso dentro del tutorial y uno de los más importantes. Consiste en simplemente comprimir al máximo las imágenes de nuestra página web. Para conseguir tal cometido simplemente necesitamos utilizar FileZilla para descargar las imágenes no comprimidas y algún programa para comprimirlas. Yo aconsejo FileMinimizer, es rápido, sencillo y encima dispone de versión gratuita.

forobeta1.png



Comprimir archivos HTML, CSS y JavaScript


Este proceso, al igual que el anterior, consiste en reducir el tamaño de algunos de nuestros archivos, en nuestro caso los archivos HTML, CSS y JavaScript. Para realizar tal cosa simplemente copiamos el contenido original, vamos a la página web propuesta anteriormente (cada una tiene su tipo de archivo), hacemos correr el programa y sustituimos el código antiguo por el nuevo.

forobeta2.png



Habilitar compresión con módulo mod_deflate

  • Herramientas: FileZilla y Bloc de Notas
  • Conocimientos: ninguno
  • Duración: 2-3 minutos

Consiste en simplemente utilizar un módulo de Apache para entregar diferentes tipos de archivos comprimidos. El proceso es simple: el usuario entra a una página web y pide los archivos; el servidor los comprime; el servidor los envía. Para conseguir esto simplemente copia el código siguiente en el archivo .htaccess de tu página web.

Insertar CODE, HTML o PHP:
<IfModule mod_deflate.c>
 
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
 
BrowserMatch ^Mozilla/4 gzip-only-text/html
 
BrowserMatch ^Mozilla/4\.0[678] no-gzip
 
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
 
<IfModule mod_headers.c>

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

</IfModule>
 
</IfModule>

Para comprobar si el proceso ha sido correcto podéis utilizar WhatsMyIp.org (cortesía de Carlos Arreola)



Especificar caché

  • Herramientas: FileZilla y Bloc de Notas
  • Conocimientos: ninguno
  • Duración: 2-3 minutos

Cuando un usuario entra en una página web simplemente descarga un conjunto de archivos, que posteriormente son interpretados por nuestro navegador. Es muy común que estos archivos se repitan entre las diferentes páginas de nuestro sitio, por lo que es interesante que nuestro ordenador guarde estos archivos durante un tiempo para ser utilizados posteriormente. Para realizar este paso, como en el anterior, simplemente copiamos el siguiente código en el archivo .htaccess de nuestra página:

Insertar CODE, HTML o PHP:
<IfModule mod_expires.c>

ExpiresActive on
 
ExpiresDefault                          "access plus 1 month"
ExpiresByType text/cache-manifest       "access plus 0 seconds"
ExpiresByType text/html                 "access plus 0 seconds"
ExpiresByType text/xml                  "access plus 0 seconds"
ExpiresByType application/xml           "access plus 0 seconds"
ExpiresByType application/json          "access plus 0 seconds"
ExpiresByType application/rss+xml       "access plus 1 hour"
ExpiresByType image/x-icon              "access plus 1 week"
ExpiresByType image/gif                 "access plus 1 month"
ExpiresByType image/png                 "access plus 1 month"
ExpiresByType image/jpg                 "access plus 1 month"
ExpiresByType image/jpeg                "access plus 1 month"
ExpiresByType video/ogg                 "access plus 1 month"
ExpiresByType audio/ogg                 "access plus 1 month"
ExpiresByType video/mp4                 "access plus 1 month"
ExpiresByType video/webm                "access plus 1 month"
ExpiresByType text/x-component          "access plus 1 month"
ExpiresByType font/truetype             "access plus 1 month"
ExpiresByType font/opentype             "access plus 1 month"
ExpiresByType application/x-font-woff   "access plus 1 month"
ExpiresByType image/svg+xml             "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType text/css                  "access plus 1 year"
ExpiresByType application/javascript    "access plus 1 year"
ExpiresByType text/javascript           "access plus 1 year"
   
</IfModule>



Trasladar los archivos .CSS y .JS al final de la página

  • Herramientas: FileZilla y Bloc de Notas
  • Conocimientos: edición básica de código
  • Duración: 2-3 minutos por archivo

Google considera que los archivos de estilo (CSS) y los scripts (JS) tienen que ser cargados después del HTML, por lo que es recomendable trasladar las instancias a estos hacia el final del código HTML, justo antes del cierre de la etiqueta <BODY>. En el caso de WordPress, lo que deberíamos hacer es buscar en el archivo header.php todos las lineas de código con una estructura tal que así:

Insertar CODE, HTML o PHP:
<link href="http://www.tudominio.com/XXX.css" rel="stylesheet">

o

<script type="text/javascript" src="http://www.tudominio.com/XXX.js"></script>

Y trasladarlas al archivo footer.php, justo antes de donde ponga "</body>".



Configurar ventana gráfica

  • Herramientas: FileZilla y Bloc de Notas
  • Conocimientos: ninguno
  • Duración: 2-3 minutos

Debido a la baja resolución (o pequeño tamaño) de éstos, los dispositivos móviles y las tabletas tienen que tener su propia versión de cada página web. El diseñador en cuestión tiene dos opciones: o escalar la página a una resolución concreta y que el usuario haga zoom (nada recomendable y muy mal visto por Google) o diseñar la página para que se adapte a todas las resoluciones. Sea como sea, en cualquiera de las dos opciones hay que especificar cual se utiliza, algo que se hace incluyendo la linea siguiente entre las etiquetas <HEAD></HEAD> de nuestra página web (archivo header.php para WordPress):

Insertar CODE, HTML o PHP:
<meta name=viewport content="width=device-width, initial-scale=1">



Otros consejos

Si aplicas todo lo anteriormente explicado tu sitio ya tendrá, garantizados, más de 90 puntos sobre 100. Si quieres llegar hasta 100 será imprescindible que tu servidor tenga un buen tiempo de respuesta, así como evitar redireccionamientos innecesarios (intenta evitarlos).



Si te ha gustado el tutorial te pediría que me dieras un "Me Gusta", así como que lo compartieras en las redes sociales y con tus amigos. Si tienes cualquier duda, así como si alguno de los pasos te causa algún problema, no dudes en comentarlo en esta entrada.
 
Última edición:

Kakkonen

Ómicron
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
18 Jul 2010
Mensajes
4.592
el mio de tenerlo en 83 subio a 89 en ordenador, pero en movil quedo igual en 80
 

Torrecilla

1
Ni
Programador
Verificación en dos pasos activada
Suscripción a IA
Desde
2 Feb 2013
Mensajes
3.867
Voy a probarlo en un rato, esta sí es muy buena info :encouragement:
 
Desde
21 Ago 2010
Mensajes
541
Seguramente es por el apartado de la ventana gráfica. Tu sitio web no estará adaptado a todos los dispositivos web, por lo que necesitarías que algún diseñador lo adaptara. Si me envías tu página por privado te lo miro más detenidamente.
 

Kakkonen

Ómicron
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
18 Jul 2010
Mensajes
4.592
mi sitio se ver y esta configurado para todo tipo de dispositivos y resolucion,
 

Carlos Arreola

Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Excelente comerciante!
Suscripción a IA
Desde
6 Abr 2009
Mensajes
12.382
Me ha agradado el tutorial ya que tiene algunas cosas que no sabía, gracias :)
 

leit0s

Eta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
24 Dic 2012
Mensajes
1.332
Muy buen tutorial, se agradece compartir, generalmente se usara para plataformas que usen php directo pero dime como se aria en blogger cuando por ejemplo también piden lo de la cache o en el caso de la demora de carga de los botones sociales y hasta del mismo g+ algun consejo.

saludos :encouragement:
 

Carambel

Ómicron
Social Media
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
25 Ago 2013
Mensajes
4.932
Seria estupendo si se pudiera usar en blogger lastima q no se tiene acceso ftp en el pero gran tutorial.
 

mickey3

Iota
SEO
Verificación en dos pasos activada
Desde
8 Sep 2010
Mensajes
2.407
Muy bueno, me lo guardo en favoritos para cuando tenga tiempo lo reviso mejor.

Gracias.
 
Desde
21 Ago 2010
Mensajes
541
Perdonad la tardanza, en España era de noche.

Alguna forma de bajar todas las imágenes? Son como 500.

La forma "más rápida" que hay es la que comento: entrar con FileZilla, descargar todas, pasar el FileMinimizer a todas y volverlas a subir. Cuidado con el FileMinimizer, que al ser la versión gratuita añade un espacio al final del nombre de archivo para que tengas que cambiar el nombre manualmente.

alguna captura de los resultados al aplicar este metodo? Antes de despues?

La verdad es que todos mis sitios están lo más optimizados posibles, en cuando programe uno nuevo me apunto la tarea.

Muy buen tutorial, se agradece compartir, generalmente se usara para plataformas que usen php directo pero dime como se aria en blogger cuando por ejemplo también piden lo de la cache o en el caso de la demora de carga de los botones sociales y hasta del mismo g+ algun consejo.

saludos :encouragement:

Los botones sociales son la peor pesadilla que hay en la optimización web: ni están reducidos, ni especifican caché, aumentan el tiempo de carga, normalmente dan problemas con la maquetación... No podemos hacer nada, lo tienen que hacer los ingenieros de Facebook, Twitter y Google, nosotros solo podemos esperar.

Aquí pueden revisar si mod_deflate está activado en su servidor:

WhatsMyIP.org | HTTP Compression Test

Gracias por el aporte, conocía la página pero no me acordé de ponerla en el tutorial, ahora la añado.

Por cierto, hay veces que sí se tiene el mod_deflate activado pero por no enviar el header Vary el PageSpeed no lo detecta. Esto conlleva a que nuestra web cargará más rápido igualmente pero no obtendremos más puntuación. WordPress a veces tiene problemas con esto.
 

facelink

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
3 Ene 2014
Mensajes
240
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Muy buen tutorial muchisimas gracias amigo :)
 
Arriba