Lighthouse

Lighthouse is an open-source,
automated tool for improving the quality of web pages. You can run it against
any web page, public or requiring authentication. It has audits for performance,
accessibility, progressive web apps, and more.

You can run Lighthouse in Chrome DevTools, from the command line, or as a
Node module. You give Lighthouse a URL to audit, it runs a series of audits
against the page, and then it generates a report on how well the page did.
From there, use the failing audits as indicators on how to improve the page.
Each audit has a reference doc explaining why the audit is important, as
well as how to fix it.

Run the Node module programmatically

Run Lighthouse as a Chrome Extension

Note: Unless you have a specific reason, you should use the Chrome DevTools workflow
rather than this Chrome Extension workflow. The DevTools workflow provides
the same benefits as the Extension workflow, with the added bonus of no installation
needed.

Drag the JSON file onto the viewer, or click anywhere on the Viewer to
open your file navigator and select the file.

Share reports as GitHub Gists

If you don't want to manually pass around JSON files, you can also share your
reports as secret GitHub Gists. One benefit of Gists is free version control.

To export a report as a Gist from the Chrome Extension version of
Lighthouse:

Click Export > Open In Viewer. The report opens in the
Viewer, located at https://googlechrome.github.io/lighthouse/viewer/.

In the Viewer, click Share. The
first time you do this, a popup asks permission to access your basic
GitHub data, and to read and write to your Gists.

To export a report as a Gist from the CLI version of Lighthouse,
just manually create a Gist and copy-paste the report's JSON output
into the Gist. The Gist filename containing the JSON output must end in
.lighthouse.report.json. See Share reports as JSON for an example of
how to generate JSON output from the command line tool.

Contribute to Lighthouse

Lighthouse is open source and contributions are welcome.
Check out the repository's issue tracker
to find bugs that you can fix, or audits that you can create or improve upon.
The issues tracker is also a good place to discuss audit metrics, ideas for
new audits, or anything else related to Lighthouse.