PageSpeed Insights (PSI) reports on the performance of a page on both mobile and desktop devices, and provides suggestions on how that page may be improved.

PSI provides both lab and field data about a page. Lab data is useful for debugging performance issues, as it is collected in a controlled environment. However, it may not capture real-world bottlenecks. Field data is useful for capturing true, real-world user experience – but has a more limited set of metrics. 


Classifying Good, Needs Improvement, Poor

PSI also classifies field data into 3 buckets, describing experiences deemed good, needs improvement, or poor. PSI sets the following thresholds for good / needs improvement / poor, based on our analysis of the CrUX dataset:

GoodNeeds ImprovementPoor
FCP[0, 1800ms](1800ms, 3000ms]over 3000ms
FID[0, 100ms](100ms, 300ms]over 300ms
LCP[0, 2500ms](2500ms, 4000ms]over 4000ms
CLS[0, 0.1](0.1, 0.25]over 0.25

Lab data

PSI uses Lighthouse to analyze the given URL, generating a performance score that estimates the page’s performance on different metrics, including: First Contentful PaintLargest Contentful PaintSpeed IndexCumulative Layout ShiftTime to Interactive, and Total Blocking Time.


Each metric is scored and labeled with a icon:

  • Good is indicated with a green check mark
  • Needs Improvement is indicated with orange informational circle
  • Poor is indicated with a red warning triangle


Lighthouse separates its audits into three sections:

  • Opportunities provide suggestions how to improve the page’s performance metrics. Each suggestion in this section estimates how much faster the page will load if the improvement is implemented.
  • Diagnostics provide additional information about how a page adheres to best practices for web development.
  • Passed Audits indicates the audits that have been passed by the page.

Thank you for reading this article, I really appreciate it. If you have any questions feel free to leave a comment.



3 responses to “PageSpeed Insights (PSI)”

Leave a Reply

%d bloggers like this: