Optimize Your Website Speed with Google Lighthouse and PageSpeed Insights

In this comprehensive tutorial, we'll explore in depth how to use Google Lighthouse and PageSpeed Insights to optimise your website's performance. You'll discover how to analyse and improve crucial aspects such as loading speed, accessibility, best practices and SEO. Thanks to concrete examples, code extracts and statistical tables, you'll understand why loading speed is essential for retaining your visitors and how to implement effective optimisation strategies.


Introduction

In the digital age, website performance is no longer a luxury, but a necessity. Users expect sites to load quickly and offer a smooth experience, and search engines reward fast sites with better rankings. Google Lighthouse and PageSpeed Insights are two essential tools for diagnosing performance problems and offering concrete recommendations for remedying them.

This tutorial is aimed at developers, webmasters and anyone concerned about optimising their website. We will cover everything from installing and using these tools to interpreting the results and implementing optimisation solutions. To support our explanations, we'll incorporate statistical tables demonstrating the impact of loading speed on visitor retention rates.

We'll also look at how to automate these analyses to ensure that your site performs optimally throughout its lifecycle. Get ready to dive into the world of web optimisation and discover techniques that will make a difference to your users' experience.


1. Why site performance is critical

Website performance has a direct impact on user experience, search engine optimization (SEO) and, consequently, conversion rates. Several studies show that an increase of a few seconds in loading time can lead to a significant loss of visitors and a drop in revenue.

For example, a study by Google showed that 53% of visitors leave a site if the loading time exceeds 3 seconds. Similarly, analysis by Akamai found that each additional second of delay can reduce conversions by 7%. Here are some key statistics that illustrate the importance of speed:

Load time (sec.) Bounce rate (%) Conversion (%)
1-2 20-25 5-10
3-4 40-45 3-5
5+ 60-70 1-2

These figures show that a fast site not only improves the user experience, but also visitor retention and conversion rates. An optimised loading speed increases the time spent on the site, reduces the bounce rate and, ultimately, improves sales performance.


2. Google Lighthouse and PageSpeed Insights overview

Before diving into the optimisation techniques, it's important to understand the tools we're going to use.

2.1 Google Lighthouse

Google Lighthouse is an open source tool developed by Google that audits the quality of web pages. It offers audits in several areas, including:

  • Performance: Measures loading time and user interactions.
  • Accessibility: Assesses whether the site is accessible to all users, including those with disabilities.
  • Good practices: Checks the use of modern technologies and the security of the site.
  • SEO: Analyses the site's ability to be well referenced by search engines.
  • Progressive Web App (PWA): Tests whether your site offers an experience comparable to a native application.

Lighthouse can be used via Chrome DevTools, on the command line (CLI) or via Node modules. It generates a detailed report that guides you through the optimisation of your site, indicating areas for improvement.

2.2 PageSpeed Insights

PageSpeed Insights is an online service from Google that analyses the content of a web page and generates suggestions for optimising it. It uses the same data as Lighthouse to assess performance, but focuses primarily on loading speed.

This tool provides two types of data:

  • Real data: From analysis of real user interactions (Chrome User Experience Report).
  • Simulated data: From a controlled test environment to identify potential problems.

PageSpeed Insights assigns an overall score ranging from 0 to 100 and offers specific recommendations for improving site load time and responsiveness.


3. Installing and using Google Lighthouse

In this section, we'll look at how to install and use Google Lighthouse in a number of ways. This will allow you to choose the method that best suits your needs, whether via the browser, from the command line or using an integration in your Node projects.

3.1 Using via Chrome DevTools

The easiest way to run a Lighthouse audit is via Google Chrome DevTools. Here are the steps:

  1. Open your website in Google Chrome.
  2. Right-click on the page and select Inspect or press Ctrl+Shift+I (Cmd+Option+I on Mac).
  3. In DevTools, click on the Lighthouse tab.
  4. Select the audit categories you want to run (Performance, Accessibility, Best Practices, SEO, PWA).
  5. Click the Generate Report button to launch the analysis.

Once the analysis is complete, a detailed report is displayed with scores and recommendations. You can also save this report in HTML format for later analysis.

Screenshot of the Lighthouse tool in Chrome DevTools displaying the audit report

3.2 Using via the command line (CLI)

For advanced users or to automate audits, the command line version of Lighthouse is an ideal solution. To install it, you'll need Node.js and npm. Run the following command:



npm install -g lighthouse

  

Once installed, you can run an audit on a URL by executing the following command:



lighthouse https://www.example.com --output html --output-path ./lighthouse-report.html

  

This command generates a detailed HTML report in the current directory. You can customise the audit options by consulting the official Lighthouse documentation.

3.3 Using via the Node module

If you want to integrate Lighthouse into your Node workflow, you can use it as a module. Here's an example of a Node script that runs an audit and saves the report:



// install the module with: npm install lighthouse chrome-launcher
const lighthouse = require('lighthouse');
const chromeLauncher = require('chrome-launcher');
async function runLighthouse(url) {
  const chrome = await chromeLauncher.launch({chromeFlags: ['--headless']});
  const options = {logLevel: 'info', output: 'html', port: chrome.port};
  const runnerResult = await lighthouse(url, options);
  // Save the report
  const reportHtml = runnerResult.report;
  const fs = require('fs');
  fs.writeFileSync('lighthouse-report.html', reportHtml);
  console.log('Lighthouse report generated: lighthouse-report.html');
  await chrome.kill();
}
runLighthouse('https://www.example.com');

  

This script launches Chrome in headless mode, runs the audit on the specified URL and saves the report in an HTML file. It's an effective way to automate your site performance analysis.


4. Using PageSpeed Insights

PageSpeed Insights (PSI) is a web tool that analyses your page load speed and provides optimisation recommendations. Unlike Lighthouse, PSI is based on both real and simulated data. Here's how to use it:

4.1 Using it via the web interface

To use PageSpeed Insights via the web interface:

  1. Go to PageSpeed Insights.
  2. Enter the URL of the page to be analysed in the field provided.
  3. Click on Analyse to launch the audit.

Once the analysis is complete, PSI will display an overall score as well as detailed recommendations for improving performance. You'll see suggestions such as compressing images, reducing JavaScript, and caching.

Screenshot of the PageSpeed Insights interface showing web page performance analysis

4.2 Using via the API

To integrate PageSpeed Insights into your automation tools or processes, you can use its API. The API returns detailed data in JSON format that you can leverage to create custom reports.

Here's an example of a simple query using curl :



curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://www.example.com&strategy=mobile"

  

You can also integrate this call into a Node.js application or automation script to regularly monitor the performance of your pages.


5. Interpreting audit results

Once you've generated a report with Lighthouse or PageSpeed Insights, it's crucial to know how to interpret the results in order to identify areas of weakness and make the necessary improvements.

Key metrics to look out for include:

  • Performance Score: An overall score calculated on the basis of various performance indicators.
  • First Contentful Paint (FCP): The time taken to display the first piece of content.
  • Largest Contentful Paint (LCP): The time taken to display the largest content item.
  • Time to Interactive (TTI): The time required for the page to become fully interactive.
  • Total Blocking Time (TBT): The sum of the periods during which the page is blocked by scripts.
  • Cumulative Layout Shift (CLS): The sum of unexpected layout changes during loading.

These metrics provide you with an overview of how quickly your site loads and becomes interactive. For example, a high CLS value may indicate layout issues that are disrupting the user experience.

It is recommended that you aim for load times of less than 3 seconds to deliver an optimal experience. A regular audit will help you monitor these indicators and spot any degradation in performance.


6. Implementation of optimisation recommendations

Once you've identified the performance issues using Lighthouse and PageSpeed Insights, the next step is to implement the recommendations to optimise your site. Suggestions typically focus on several key areas:

6.1 Optimise static resources

One frequent recommendation is to optimise static resources such as images, style sheets (CSS) and JavaScript files. Here are some techniques for achieving this:

  • Minification: Reduce the size of your CSS and JavaScript files by removing spaces, comments and unnecessary characters.
  • Compression: Enable Gzip or Brotli compression on your server to reduce the size of transferred files.
  • Caching: Set up cache headers so that static resources are stored by the browser and avoid unnecessary reloads.
  • Image optimisation: Convert your images to modern formats such as WebP and adjust their resolution to suit the display.

These improvements reduce the load on the network and speed up your site's rendering time.

6.2 Reduce unused JavaScript and CSS

Many audits report the existence of unused JavaScript or CSS code that weighs down the page. To solve this problem:

  • Delete or postpone the loading of non-essential scripts and styles.
  • Use code splitting to load only what is needed for initial display.
  • Exploit lazy loading techniques for off-screen elements.

These practices help to improve responsiveness and reduce the blocking time of the main thread.

6.3 Improve server infrastructure

In addition to client-side optimisation, your server configuration plays a crucial role. Some actions to consider:

  • Server-side caching: Use tools like Varnish or Redis to store static versions of your pages.
  • Use of a CDN: A Content Delivery Network allows your resources to be served from servers that are geographically close to the user.
  • Database optimisation: Make sure your queries are fast and your database is well indexed.

These measures ensure that the site is as responsive as possible, even during busy periods.


7. Automating performance analysis with Lighthouse CI

To maintain optimal performance as development progresses, it makes sense to integrate automated audits into your continuous integration (CI/CD) pipeline. Lighthouse CI is a tool that allows you to run automated Lighthouse audits on every commit or deployment.

Here's how to set up Lighthouse CI:

  1. Install Lighthouse CI in your project:


npm install -g @lhci/cli

  
  1. Initialize the configuration with the following command:


lhci wizard

  

This command guides you through the configuration of Lighthouse CI. You can then run audits locally or integrate them into your CI pipeline.

Here's a typical configuration snippet (lighthouserc.js):



// lighthouserc.js
module.exports = {
  ci: {
    collect: {
      url: ['https://www.example.com'],
      numberOfRuns: 3,
    },
    assert: {
      assertions: {
        categories:performance': ['error', {minScore: 0.9}],
        'first-contentful-paint': ['warn', {maxNumericValue: 2000}],
        largest-contentful-paint': ['warn', {maxNumericValue: 2500}],
      },
    },
    upload: {
      target: 'temporary-public-storage',
    },
  },
};

  

Lighthouse CI integration will allow you to quickly detect any regression in your site's performance and act accordingly.


8. Examples of improvements brought about by optimisation

To better illustrate the impact of optimisations, let's look at a concrete example. Let's say a site initially had an average load time of 5 seconds with a bounce rate of 65%. After applying the recommendations from Lighthouse and PageSpeed Insights (resource minification, image compression, caching and use of a CDN), the loading time fell to 2.5 seconds and the bounce rate to 30%. The table below shows these data:

Indicator Before Optimization After Optimization
Load time (sec.) 5.0 2.5
Bounce rate (%) 65 30
Performance score 55 92

In addition, a comparison graph can help visualise the improvement. (Insert a screenshot here with the appropriate alt attribute, for example :)

Comparative graph before/after loading speed optimisation

These results clearly demonstrate that targeted optimisations have a direct impact on visitor retention and the overall user experience.


Points to remember

  • Speed and performance: A fast page improves the user experience, reduces the bounce rate and increases conversions.
  • Google Lighthouse: A comprehensive tool for auditing the performance, accessibility, best practices and SEO of your site.
  • PageSpeed Insights: Provides a detailed analysis of loading speed and recommendations for optimising it.
  • Key Metrics: Monitor FCP, LCP, TTI, TBT and CLS to measure performance.
  • Optimisations: Minification, compression, caching, reducing unused resources, and using a CDN.
  • Automation: Integrate performance audits into your CI/CD pipeline with Lighthouse CI.
  • Measurable impact: Improvements of a few seconds in loading time can significantly reduce bounce rates and improve conversion rates.

9. Conclusion

Optimising the performance of a website is an ongoing process that requires constant attention. By using tools such as Google Lighthouse and PageSpeed Insights, you have valuable information to improve not only the loading speed, but also the accessibility, security and SEO of your site.

This tutorial has shown you the different methods for installing and using these tools, interpreting the results of the audits and implementing the optimisation recommendations. Whether you're a novice or an experienced developer, incorporating these practices into your workflow will help you create sites that perform better and are a pleasure to use.

Don't forget that quality performance is an investment in the user experience and the long-term future of your online business. Test your site regularly, measure progress and adjust your strategies based on the results. With a rigorous approach and the right tools, you can rise to the challenge of web optimisation and stay competitive in an ever-changing digital environment.

Adopt these best practices today and watch how effective optimisation can transform your site into a high-performance, fast and user-friendly tool.


Appendix: Code examples and additional resources

Here are some additional examples and resources to deepen your knowledge and automate performance analysis.

Example of integrating Lighthouse into a Node.js workflow



// script-lhci.js
const lighthouse = require('lighthouse');
const chromeLauncher = require('chrome-launcher');
async function runAudit(url) {
  const chrome = await chromeLauncher.launch({chromeFlags: ['--headless']});
  const options = {port: chrome.port, output: 'json'};
  const runnerResult = await lighthouse(url, options);
  // Save the JSON report
  const reportJson = runnerResult.report;
  require('fs').writeFileSync('lh-report.json', reportJson);
  console.log('Audit complete. Report saved in lh-report.json');
  await chrome.kill();
}
runAudit('https://www.example.com');

  

Using the PageSpeed Insights API with Node.js



const axios = require('axios');
async function fetchPageSpeedData(url) {
  try {
    const response = await axios.get(
      'https://www.googleapis.com/pagespeedonline/v5/runPagespeed', {
        params: {
          url: url,
          strategy: 'mobile'
        }
      }
    );
    console.log('PSI data:', response.data);
  } catch (error) {
    console.error('Error retrieving PSI data', error);
  }
}
fetchPageSpeedData('https://www.example.com');

  

Additional resources


Nos derniers articles associés

Close

Lumineth Privacy Policy

At Lumineth, we place great importance on protecting your privacy. This privacy policy describes the types of information we collect, how we use it, and how you can contact us for any questions or requests regarding your personal data.

Collected Information

We collect only the information voluntarily provided by our potential clients through various contact forms. This information may include your name, email address, as well as any other data you choose to share with us.

Use of Information

The information you provide is used exclusively to respond to your requests for website creation, SEO optimisation, and social media publishing. We do not sell or share any of your information with third parties.

Cookies

We only use session cookies essential for the proper functioning of our website. These cookies are necessary to provide you with an optimal user experience and are automatically deleted when you close your browser.

Data Security

We implement appropriate security measures to protect your personal information against unauthorised access, modification, disclosure, or destruction.

Deletion of Information

If you would like your information to be deleted from our databases, please contact us at the following address: contact@lumineth.com. We are committed to processing your request as quickly as possible.

Contact

For any questions regarding our privacy policy, we invite you to contact us by email at the following address: contact@lumineth.com. We remain at your disposal to address all your concerns.