PageSpeed Insights With Reporting
Run mobile and desktop performance tests for your deployed site using Google PageSpeed Insights with tidy reporting for your build process. A sample Gulpfile demonstrating use is also available.
Uses gpagespeed and the reporter in grunt-pagespeed.
$ npm install --save psi
When using this module for a production-level build process, registering for an API key from the Google Developer Console is recommended.
var psi = require('psi');
psi({
// key: '...', optional
url: 'http://html5rocks.com',
paths: '', // optional
locale: 'en_GB', // optional
strategy: 'mobile', // optional
threshold: 80 // optional
});
Optionally, a callback is also available with access to the response:
psi(options, function (err, data) {
console.log(data.score);
console.log(data.pageStats);
});
Required
Type: string
URL of the page for which the PageSpeed Insights API should generate results.
Type: string
Default: en_US
The locale that results should be generated in (e.g 'en_GB').
Type: string
Default: desktop
The strategy to use when analyzing the page. Valid values are desktop and mobile.
Type: number
Default: 70
Threshold score that is needed to pass the pagespeed test
Type: array
An array of URL paths that are appended to the URL
Type: string
Default: nokey
Unless Specified defaults to use the free tier on PageSpeed Insights. Good for getting a feel for how well this tool works for you.
You will probably want to globally install psi if using as a CLI. This can be done as follows:
$ npm install --global psi
You can then casually use it with your key:
$ psi http://www.google.com --key 'YOUR_KEY_GOES_HERE'
Similar to gpagespeed, the following optional flags are also supported:
$ psi <url> --key=<key> --prettyprint=<true> --userIp=<userIp> --locale=<locale> --strategy=<desktop|mobile>
$ psi http://www.html5rocks.com --strategy=mobile
A sample Gulp project using PSI is available.
If you use Grunt, grunt-pagespeed is a task by James Cryer that uses PSI under the hood.
For testing local project, we recommend using ngrok.
Apache 2.0
Copyright 2014 Google Inc