Usar la Api de Google Page Speed Online para monitorizar la salud de tu web

Todo el que sepa algo de SEO y WPO habrá utilizado PageSpeed Insights que esta muy bien, ya que nos marca que debemos mejorar en nuestra página Web o blog para aumentar su velocidad. Consigue una mayor velocidad de tus páginas web en todos los dispositivos. Lo que no todo el mundo sabe es que tiene una API consultable. Usar la Api de Google Page Speed  Online para monitorizar la salud de tu web puede ser una forma sencilla de montarte un sistema de monitorización de tu Web sencillo y gratis.

Las herramienta para analizar la velocidad de carga de nuestras páginas webs y ayudarnos a optimizarlas mucho más. Google nos proporciona Page Speed Online es un proyecto del Google Labs. Ahora llamado Google Insights https://developers.google.com/speed/pagespeed/insights/

Esta dirección reportará para vuestro sitio web un completo detalle de consejos agrupados por prioridad de las cosas que podrás mejorar en la web analizada. Además nos da una puntuación sobre 100 según lo bien que estemos y lo que nos falte por mejorar. El test es para escritorio y móvil.

Una de las principales preocupaciones de Google y de los webmaster es la velocidad de carga de las páginas webs, en especial pensando en los dispositivos móviles cada vez más habituales para conectar a Internet y que han tenido un crecimiento espectacular.

¿Cómo usar la Api de Google Page Speed Online para monitorizar la salud de tu web?

Os dejo la siguiente url de la API de Google Insights https://www.googleapis.com/pagespeedonline/v3beta1/runPagespeed?url=http://www.frikipandi.com&locale=es_ES

El atributo locale sirve para el idioma. Si no lo pones, te lo devuelve en ingles.

Si cambias la dirección del parámetro url http://www.frikipandi.com por la de tu web o blog esta te devolverá un json con toda la información que devuelven en Google Insights.

{
“kind”: “pagespeedonline#result”,
“id”: “http://www.frikipandi.com/”,
“responseCode”: 200,
“title”: “Frikipandi – Blog de Tecnología – Lo más Friki de la red.”,
“ruleGroups”: {
“SPEED”: {
“score”: 87
}
},
“pageStats”: {
“numberResources”: 94,
“numberHosts”: 20,
“totalRequestBytes”: “16789”,
“numberStaticResources”: 67,
“htmlResponseBytes”: “523187”,
“cssResponseBytes”: “219182”,
“imageResponseBytes”: “536745”,
“javascriptResponseBytes”: “1275106”,
“otherResponseBytes”: “183361”,
“numberJsResources”: 20,
“numberCssResources”: 5
},
“formattedResults”: {
“locale”: “es”,
“ruleResults”: {
“AvoidLandingPageRedirects”: {
“localizedRuleName”: “Evita los redireccionamientos a páginas de destino”,
“ruleImpact”: 0.0,
“groups”: [
“SPEED”
],
“summary”: {
“format”: “Tu página no tiene redireccionamientos. Más información sobre cómo {{BEGIN_LINK}}evitar redireccionamientos de páginas de destino{{END_LINK}}”,
“args”: [
{
“type”: “HYPERLINK”,
“key”: “LINK”,
“value”: “https://developers.google.com/speed/docs/insights/AvoidRedirects”
}
]
}
},
“EnableGzipCompression”: {
“localizedRuleName”: “Habilitar compresión”,
“ruleImpact”: 0.0,
“groups”: [
“SPEED”
],
“summary”: {
“format”: “La compresión está habilitada. Más información sobre la {{BEGIN_LINK}}habilitación de la compresión{{END_LINK}}”,
“args”: [
{
“type”: “HYPERLINK”,
“key”: “LINK”,
“value”: “https://developers.google.com/speed/docs/insights/EnableCompression”
}
]
}
},…

Como podéis ver una información muy útil. Nosotros hemos programado un pequeño php para que con un crontab cada x minutos y hacernos un pequeño programa de monitorización. Así si devuelve en el responseCode algo diferente de 200 con un 404 no encontrado o un error 500 de programación nos avisará.

Si el índice de Google Insights baja del 80% es recomendable revisarlo y que nos avise.

“ruleGroups”: {
“SPEED”: {
“score”: 87
}
},

También es interesante si htmlResponseBytes o totalRequestBytes es muy pequeño o muy grande. Puedes detectar si alguna publicidad nos mete mucho tamaño en imageResponseBytes o JavascriptResponseBytes.

El php para leerlo es muy sencillo:

<?php
// Lee el fichero de google Apis, y convierte su contenido a una estructura de datos
$urlapi=”https://www.googleapis.com/pagespeedonline/v3beta1/runPagespeed?url=http://www.frikipandi.com&locale=es_ES”;
$str_datos = file_get_contents($urlapi);
$datos = json_decode($str_datos,true);
echo “<br/>Domain “.$datos[“id”].”\n”;
echo “<br/>Response Code: “.$datos[“responseCode”].”\n”;
echo “<br/>PageSpeedGoogle Level: “.$datos[“ruleGroups”][“SPEED”][“score”].”/100\n”;
echo “<br/>Trace HTTP: “.$datos[“pageStats”][“numberResources”].”\n”;
echo “<br/>Hosts: “.$datos[“pageStats”][“numberHosts”].”\n”;
echo “<br/>Number Static Resources: “.$datos[“pageStats”][“numberStaticResources”].”\n”;
echo “<br/>HtmlResponseBytes: “.$datos[“pageStats”][“htmlResponseBytes”].”\n”;
echo “<br/>CssResponseBytes: “.$datos[“pageStats”][“cssResponseBytes”].”\n”;
echo “<br/>ImageResponseBytes: “.$datos[“pageStats”][“imageResponseBytes”].”\n”;
echo “<br/>Javascript Response Bytes: “.$datos[“pageStats”][“javascriptResponseBytes”].”\n”;
echo “<br/>Other Response Bytes: “.$datos[“pageStats”][“otherResponseBytes”].”\n”;
echo “<br/>Number Css Resources: “.$datos[“pageStats”][“numberCssResources”].”\n”;
echo “<br/>Number Js Resources: “.$datos[“pageStats”][“numberJsResources”].”\n”;
//If de condiciones con los datos $datos[“responseCode”], $datos[“ruleGroups”][“SPEED”][“score”],$datos[“pageStats”][“htmlResponseBytes”], $datos[“pageStats”][“imageResponseBytes”],…
//Si se cumple mandar un email de alerta
/
?>

Por último si quieres descargarte todos los js, imágenes y css optimizados en peso y minimizados tienes dos urls

https://www.googleapis.com/pagespeedonline/v3beta1/optimizeContents?url=http%3A%2F%2Fwww.frikipandi.com%2F&strategy=desktop
https://www.googleapis.com/pagespeedonline/v3beta1/optimizeContents?url=http%3A%2F%2Fwww.frikipandi.com%2F&strategy=mobile

Con esto te descargas un ZIP los js, imagenes y css optimidos para versiónd e escritorio o móvil. La de escritorio es muy recomendable reemplazar los ficheros de tu servidor por los que te da Google minimizados y optimizados para un buen SEO y WPO.

Espero que os sirva.

Te interesa

Las series y películas más vistas en Netflix de 2017

Las series y películas más vistas en Netflix de 2017. Termina un año 2017 marcado por la consagración de …

Últimas noticias de Frikipandi.com

Las noticias se actualizan cada 15 minutos.