
A continuación ofrezco un pequeño script que nos permitirá realizar ese seguimiento de forma automática y vigilar que la puntuación en Google PageSpeed Insights no caiga de un determinado valor que nosotros fijemos.
Error: Your Requested widget " ai_widget-6" is not in the widget list.
- [do_widget_area above-nav-left]
- [do_widget_area above-nav-right]
- [do_widget_area footer-1]
- [do_widget id="wpp-4"]
- [do_widget_area footer-2]
- [do_widget id="recent-posts-4"]
- [do_widget_area footer-3]
- [do_widget id="recent-comments-3"]
- [do_widget_area footer-4]
- [do_widget id="archives-4"]
- [do_widget_area logo-bar]
- [do_widget id="oxywidgetwpml-3"]
- [do_widget_area menu-bar]
- [do_widget id="search-3"]
- [do_widget_area sidebar]
- [do_widget id="search-4"]
- [do_widget id="ai_widget-2"]
- [do_widget id="categories-5"]
- [do_widget id="ai_widget-3"]
- [do_widget id="ai_widget-4"]
- [do_widget id="ai_widget-5"]
- [do_widget_area sub-footer-1]
- [do_widget id="text-4"]
- [do_widget_area sub-footer-2]
- [do_widget_area sub-footer-3]
- [do_widget_area sub-footer-4]
- [do_widget_area upper-footer-1]
- [do_widget id="search-2"]
- [do_widget id="recent-posts-2"]
- [do_widget id="recent-comments-2"]
- [do_widget id="archives-2"]
- [do_widget id="categories-2"]
- [do_widget id="meta-2"]
- [do_widget_area upper-footer-2]
- [do_widget_area upper-footer-3]
- [do_widget_area upper-footer-4]
- [do_widget_area widgets_for_shortcodes]
- [do_widget id="search-5"]
- [do_widget id="ai_widget-6"]
- [do_widget_area wp_inactive_widgets]
- [do_widget id="wpp-2"]
- [do_widget id="text-1"]
- [do_widget id="recent-posts-3"]
- [do_widget id="categories-3"]
- [do_widget id="archives-3"]
- [do_widget id="icl_lang_sel_widget-3"]
Herramienta psi
El script se basa en una pequeña pero muy útil herramienta llamada psi y desarrollada por Addy Osmani en Javascript, por lo que en primer lugar necesitaremos instalarla mediante el gestor de paquetes Npm de Node.js:
$ npm install --save psi
Una vez instalado, este programa nos muestra en la línea de comandos información similar a la que podemos obtener a través de la aplicación web oficial de Google:
Script desktop-pagespeed-score-watchdog.sh
A continuación muestro un pequeño script programado en Bash que filtra la información facilitada por el comando psi y vuelca el resultado a un fichero de log que va registrando la evolución de la puntuación a lo largo del tiempo y que puede ser procesado por un sistema de monitorización que genere algún tipo de alerta que nos avise cuando la puntuación de nuestro sitio web caiga por debajo de un valor determinado.
#! /bin/bash
scoreLimitDesktop="90"
website="www.daniloaz.com"
error=0
log ()
{
logFileName=`echo $0 | egrep -o "[^\/]+$"`
logStatusFile=$logFileName.status
logFile=$logFileName.log
echo "$1|$2" > /var/log/$logStatusFile
echo `date +%Y-%m-%d\ %H:%M:%S`"|$1|$2" >> /var/log/$logFile
}
if [ ! -f /usr/bin/psi ];then
echo "Error: no está disponible el ejecutable /usr/bin/psi."
exit 1
fi
scoreDesktop=`/usr/bin/psi --strategy=desktop "$website" | grep 'Speed:' | awk '{print $2}'`
if [ $scoreDesktop -lt $scoreLimitDesktop ];then
msg="ERROR: la puntuación de PageSpeed Desktop de $website ha bajado a ${scoreDesktop}/100."
echo $msg
log 2 "$msg"
exit 1
else
msg="OK: la puntuación de PageSpeed Desktop es igual o superior al límite: ${scoreDesktop}/100."
echo $msg
log 0 "$msg"
exit 0
fi
Este script obtiene la puntuación para ordenador o desktop, pero igualmente podría obtenerla para la versión móvil con sólo cambiar el parámetro –strategy=desktop por –strategy=mobile.

# Vigilar cada 15 minutos la puntuación del sitio www.daniloaz.com en Google PageSpeed Insights 0,15,30,45 * * * * /bin/bash /usr/local/scripts/desktop-pagespeed-score-watchdog.sh
Por último, este es el aspecto que presenta el log que va registrando períodicamente la evolución del PagesPeed Score:
$ cat desktop-pagespeed-score-watchdog.sh.log 2017-05-26 12:00:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 12:15:03|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 12:30:03|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 90/100. 2017-05-26 12:45:03|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 90/100. 2017-05-26 13:00:03|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 13:15:03|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 13:30:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 13:45:03|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 14:00:03|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 14:15:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 14:30:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 14:45:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 15:00:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 15:15:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 15:30:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 15:45:04|0|OK: la puntuación de PageSpeed Desktop es igual o superior al límite: 91/100. 2017-05-26 16:00:04|2|ERROR: la puntuación de PageSpeed Desktop de www.daniloaz.com ha bajado a 89/100. 2017-05-26 16:15:03|2|ERROR: la puntuación de PageSpeed Desktop de www.daniloaz.com ha bajado a 89/100.

Deja una respuesta