lighthouse 9.5.0-dev.20221201 → 9.5.0-dev.20221203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +1 -1
- package/core/audits/bootup-time.js +1 -1
- package/core/audits/byte-efficiency/duplicated-javascript.js +1 -1
- package/core/audits/byte-efficiency/efficient-animated-content.js +1 -1
- package/core/audits/byte-efficiency/legacy-javascript.js +1 -1
- package/core/audits/byte-efficiency/modern-image-formats.js +1 -1
- package/core/audits/byte-efficiency/offscreen-images.js +1 -1
- package/core/audits/byte-efficiency/render-blocking-resources.js +1 -1
- package/core/audits/byte-efficiency/total-byte-weight.js +1 -1
- package/core/audits/byte-efficiency/unminified-css.js +1 -1
- package/core/audits/byte-efficiency/unminified-javascript.js +1 -1
- package/core/audits/byte-efficiency/unused-css-rules.js +1 -1
- package/core/audits/byte-efficiency/unused-javascript.js +1 -1
- package/core/audits/byte-efficiency/uses-long-cache-ttl.js +1 -1
- package/core/audits/byte-efficiency/uses-optimized-images.js +1 -1
- package/core/audits/byte-efficiency/uses-responsive-images.js +1 -1
- package/core/audits/byte-efficiency/uses-text-compression.js +1 -1
- package/core/audits/content-width.js +1 -1
- package/core/audits/critical-request-chains.js +1 -1
- package/core/audits/csp-xss.js +1 -1
- package/core/audits/deprecations.js +1 -1
- package/core/audits/dobetterweb/charset.js +1 -1
- package/core/audits/dobetterweb/doctype.js +1 -1
- package/core/audits/dobetterweb/dom-size.js +1 -1
- package/core/audits/dobetterweb/geolocation-on-start.js +1 -1
- package/core/audits/dobetterweb/js-libraries.js +1 -1
- package/core/audits/dobetterweb/no-document-write.js +1 -1
- package/core/audits/dobetterweb/notification-on-start.js +1 -1
- package/core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +1 -1
- package/core/audits/dobetterweb/uses-http2.js +1 -1
- package/core/audits/dobetterweb/uses-passive-event-listeners.js +1 -1
- package/core/audits/errors-in-console.js +1 -1
- package/core/audits/font-display.js +1 -1
- package/core/audits/image-aspect-ratio.js +1 -1
- package/core/audits/installable-manifest.js +1 -1
- package/core/audits/is-on-https.js +1 -1
- package/core/audits/largest-contentful-paint-element.js +1 -1
- package/core/audits/mainthread-work-breakdown.js +1 -1
- package/core/audits/manual/pwa-cross-browser.js +1 -1
- package/core/audits/manual/pwa-each-page-has-url.js +1 -1
- package/core/audits/manual/pwa-page-transitions.js +1 -1
- package/core/audits/maskable-icon.js +1 -1
- package/core/audits/metrics/first-contentful-paint.js +1 -1
- package/core/audits/metrics/first-meaningful-paint.js +1 -1
- package/core/audits/metrics/interactive.js +1 -1
- package/core/audits/metrics/largest-contentful-paint.js +1 -1
- package/core/audits/metrics/max-potential-fid.js +1 -1
- package/core/audits/metrics/speed-index.js +1 -1
- package/core/audits/metrics/total-blocking-time.js +1 -1
- package/core/audits/non-composited-animations.js +1 -1
- package/core/audits/preload-lcp-image.js +1 -1
- package/core/audits/redirects.js +1 -1
- package/core/audits/seo/canonical.js +1 -1
- package/core/audits/seo/font-size.js +1 -1
- package/core/audits/seo/hreflang.js +1 -1
- package/core/audits/seo/http-status-code.js +1 -1
- package/core/audits/seo/is-crawlable.js +1 -1
- package/core/audits/seo/link-text.js +1 -1
- package/core/audits/seo/manual/structured-data.js +1 -1
- package/core/audits/seo/meta-description.js +1 -1
- package/core/audits/seo/plugins.js +1 -1
- package/core/audits/seo/robots-txt.js +1 -1
- package/core/audits/seo/tap-targets.js +1 -1
- package/core/audits/server-response-time.js +1 -1
- package/core/audits/service-worker.js +1 -1
- package/core/audits/splash-screen.js +1 -1
- package/core/audits/themed-omnibox.js +1 -1
- package/core/audits/third-party-facades.js +1 -1
- package/core/audits/user-timings.js +1 -1
- package/core/audits/uses-rel-preconnect.js +1 -1
- package/core/audits/uses-rel-preload.js +1 -1
- package/core/audits/viewport.js +1 -1
- package/core/computed/metrics/largest-contentful-paint.js +1 -1
- package/core/config/default-config.js +3 -3
- package/core/util.cjs +1 -1
- package/dist/report/bundle.esm.js +1 -1
- package/dist/report/flow.js +1 -1
- package/dist/report/standalone.js +1 -1
- package/package.json +1 -1
- package/report/renderer/util.js +1 -1
- package/report/test/generator/report-generator-test.js +4 -4
- package/report/test/renderer/dom-test.js +7 -0
- package/report/test/renderer/performance-category-renderer-test.js +1 -1
- package/shared/localization/locales/en-US.json +73 -73
- package/shared/localization/locales/en-XL.json +73 -73
|
@@ -438,7 +438,7 @@
|
|
|
438
438
|
"message": "Total CPU Time"
|
|
439
439
|
},
|
|
440
440
|
"core/audits/bootup-time.js | description": {
|
|
441
|
-
"message": "Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to reduce Javascript execution time](https://
|
|
441
|
+
"message": "Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to reduce Javascript execution time](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)."
|
|
442
442
|
},
|
|
443
443
|
"core/audits/bootup-time.js | failureTitle": {
|
|
444
444
|
"message": "Reduce JavaScript execution time"
|
|
@@ -453,7 +453,7 @@
|
|
|
453
453
|
"message": "Remove duplicate modules in JavaScript bundles"
|
|
454
454
|
},
|
|
455
455
|
"core/audits/byte-efficiency/efficient-animated-content.js | description": {
|
|
456
|
-
"message": "Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. [Learn more about efficient video formats](https://
|
|
456
|
+
"message": "Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. [Learn more about efficient video formats](https://developer.chrome.com/docs/lighthouse/performance/efficient-animated-content/)"
|
|
457
457
|
},
|
|
458
458
|
"core/audits/byte-efficiency/efficient-animated-content.js | title": {
|
|
459
459
|
"message": "Use video formats for animated content"
|
|
@@ -465,25 +465,25 @@
|
|
|
465
465
|
"message": "Avoid serving legacy JavaScript to modern browsers"
|
|
466
466
|
},
|
|
467
467
|
"core/audits/byte-efficiency/modern-image-formats.js | description": {
|
|
468
|
-
"message": "Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://
|
|
468
|
+
"message": "Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/)."
|
|
469
469
|
},
|
|
470
470
|
"core/audits/byte-efficiency/modern-image-formats.js | title": {
|
|
471
471
|
"message": "Serve images in next-gen formats"
|
|
472
472
|
},
|
|
473
473
|
"core/audits/byte-efficiency/offscreen-images.js | description": {
|
|
474
|
-
"message": "Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://
|
|
474
|
+
"message": "Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/)."
|
|
475
475
|
},
|
|
476
476
|
"core/audits/byte-efficiency/offscreen-images.js | title": {
|
|
477
477
|
"message": "Defer offscreen images"
|
|
478
478
|
},
|
|
479
479
|
"core/audits/byte-efficiency/render-blocking-resources.js | description": {
|
|
480
|
-
"message": "Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://
|
|
480
|
+
"message": "Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/)."
|
|
481
481
|
},
|
|
482
482
|
"core/audits/byte-efficiency/render-blocking-resources.js | title": {
|
|
483
483
|
"message": "Eliminate render-blocking resources"
|
|
484
484
|
},
|
|
485
485
|
"core/audits/byte-efficiency/total-byte-weight.js | description": {
|
|
486
|
-
"message": "Large network payloads cost users real money and are highly correlated with long load times. [Learn how to reduce payload sizes](https://
|
|
486
|
+
"message": "Large network payloads cost users real money and are highly correlated with long load times. [Learn how to reduce payload sizes](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)."
|
|
487
487
|
},
|
|
488
488
|
"core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
|
|
489
489
|
"message": "Total size was {totalBytes, number, bytes} KiB"
|
|
@@ -495,31 +495,31 @@
|
|
|
495
495
|
"message": "Avoids enormous network payloads"
|
|
496
496
|
},
|
|
497
497
|
"core/audits/byte-efficiency/unminified-css.js | description": {
|
|
498
|
-
"message": "Minifying CSS files can reduce network payload sizes. [Learn how to minify CSS](https://
|
|
498
|
+
"message": "Minifying CSS files can reduce network payload sizes. [Learn how to minify CSS](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/)."
|
|
499
499
|
},
|
|
500
500
|
"core/audits/byte-efficiency/unminified-css.js | title": {
|
|
501
501
|
"message": "Minify CSS"
|
|
502
502
|
},
|
|
503
503
|
"core/audits/byte-efficiency/unminified-javascript.js | description": {
|
|
504
|
-
"message": "Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript](https://
|
|
504
|
+
"message": "Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/)."
|
|
505
505
|
},
|
|
506
506
|
"core/audits/byte-efficiency/unminified-javascript.js | title": {
|
|
507
507
|
"message": "Minify JavaScript"
|
|
508
508
|
},
|
|
509
509
|
"core/audits/byte-efficiency/unused-css-rules.js | description": {
|
|
510
|
-
"message": "Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://
|
|
510
|
+
"message": "Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/)."
|
|
511
511
|
},
|
|
512
512
|
"core/audits/byte-efficiency/unused-css-rules.js | title": {
|
|
513
513
|
"message": "Reduce unused CSS"
|
|
514
514
|
},
|
|
515
515
|
"core/audits/byte-efficiency/unused-javascript.js | description": {
|
|
516
|
-
"message": "Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://
|
|
516
|
+
"message": "Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/)."
|
|
517
517
|
},
|
|
518
518
|
"core/audits/byte-efficiency/unused-javascript.js | title": {
|
|
519
519
|
"message": "Reduce unused JavaScript"
|
|
520
520
|
},
|
|
521
521
|
"core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
|
|
522
|
-
"message": "A long cache lifetime can speed up repeat visits to your page. [Learn more about efficient cache policies](https://
|
|
522
|
+
"message": "A long cache lifetime can speed up repeat visits to your page. [Learn more about efficient cache policies](https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl/)."
|
|
523
523
|
},
|
|
524
524
|
"core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
|
|
525
525
|
"message": "{itemCount, plural,\n =1 {1 resource found}\n other {# resources found}\n }"
|
|
@@ -531,7 +531,7 @@
|
|
|
531
531
|
"message": "Uses efficient cache policy on static assets"
|
|
532
532
|
},
|
|
533
533
|
"core/audits/byte-efficiency/uses-optimized-images.js | description": {
|
|
534
|
-
"message": "Optimized images load faster and consume less cellular data. [Learn how to efficiently encode images](https://
|
|
534
|
+
"message": "Optimized images load faster and consume less cellular data. [Learn how to efficiently encode images](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)."
|
|
535
535
|
},
|
|
536
536
|
"core/audits/byte-efficiency/uses-optimized-images.js | title": {
|
|
537
537
|
"message": "Efficiently encode images"
|
|
@@ -549,19 +549,19 @@
|
|
|
549
549
|
"message": "Images were appropriate for their displayed size"
|
|
550
550
|
},
|
|
551
551
|
"core/audits/byte-efficiency/uses-responsive-images.js | description": {
|
|
552
|
-
"message": "Serve images that are appropriately-sized to save cellular data and improve load time. [Learn how to size images](https://
|
|
552
|
+
"message": "Serve images that are appropriately-sized to save cellular data and improve load time. [Learn how to size images](https://developer.chrome.com/docs/lighthouse/performance/uses-responsive-images/)."
|
|
553
553
|
},
|
|
554
554
|
"core/audits/byte-efficiency/uses-responsive-images.js | title": {
|
|
555
555
|
"message": "Properly size images"
|
|
556
556
|
},
|
|
557
557
|
"core/audits/byte-efficiency/uses-text-compression.js | description": {
|
|
558
|
-
"message": "Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. [Learn more about text compression](https://
|
|
558
|
+
"message": "Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. [Learn more about text compression](https://developer.chrome.com/docs/lighthouse/performance/uses-text-compression/)."
|
|
559
559
|
},
|
|
560
560
|
"core/audits/byte-efficiency/uses-text-compression.js | title": {
|
|
561
561
|
"message": "Enable text compression"
|
|
562
562
|
},
|
|
563
563
|
"core/audits/content-width.js | description": {
|
|
564
|
-
"message": "If the width of your app's content doesn't match the width of the viewport, your app might not be optimized for mobile screens. [Learn how to size content for the viewport](https://
|
|
564
|
+
"message": "If the width of your app's content doesn't match the width of the viewport, your app might not be optimized for mobile screens. [Learn how to size content for the viewport](https://developer.chrome.com/docs/lighthouse/pwa/content-width/)."
|
|
565
565
|
},
|
|
566
566
|
"core/audits/content-width.js | explanation": {
|
|
567
567
|
"message": "The viewport size of {innerWidth}px does not match the window size of {outerWidth}px."
|
|
@@ -573,7 +573,7 @@
|
|
|
573
573
|
"message": "Content is sized correctly for the viewport"
|
|
574
574
|
},
|
|
575
575
|
"core/audits/critical-request-chains.js | description": {
|
|
576
|
-
"message": "The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. [Learn how to avoid chaining critical requests](https://
|
|
576
|
+
"message": "The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. [Learn how to avoid chaining critical requests](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains/)."
|
|
577
577
|
},
|
|
578
578
|
"core/audits/critical-request-chains.js | displayValue": {
|
|
579
579
|
"message": "{itemCount, plural,\n =1 {1 chain found}\n other {# chains found}\n }"
|
|
@@ -588,7 +588,7 @@
|
|
|
588
588
|
"message": "Severity"
|
|
589
589
|
},
|
|
590
590
|
"core/audits/csp-xss.js | description": {
|
|
591
|
-
"message": "A strong Content Security Policy (CSP) significantly reduces the risk of cross-site scripting (XSS) attacks. [Learn how to use a CSP to prevent XSS](https://
|
|
591
|
+
"message": "A strong Content Security Policy (CSP) significantly reduces the risk of cross-site scripting (XSS) attacks. [Learn how to use a CSP to prevent XSS](https://developer.chrome.com/docs/lighthouse/best-practices/csp-xss/)"
|
|
592
592
|
},
|
|
593
593
|
"core/audits/csp-xss.js | itemSeveritySyntax": {
|
|
594
594
|
"message": "Syntax"
|
|
@@ -609,7 +609,7 @@
|
|
|
609
609
|
"message": "Line"
|
|
610
610
|
},
|
|
611
611
|
"core/audits/deprecations.js | description": {
|
|
612
|
-
"message": "Deprecated APIs will eventually be removed from the browser. [Learn more about deprecated APIs](https://
|
|
612
|
+
"message": "Deprecated APIs will eventually be removed from the browser. [Learn more about deprecated APIs](https://developer.chrome.com/docs/lighthouse/best-practices/deprecations/)."
|
|
613
613
|
},
|
|
614
614
|
"core/audits/deprecations.js | displayValue": {
|
|
615
615
|
"message": "{itemCount, plural,\n =1 {1 warning found}\n other {# warnings found}\n }"
|
|
@@ -621,7 +621,7 @@
|
|
|
621
621
|
"message": "Avoids deprecated APIs"
|
|
622
622
|
},
|
|
623
623
|
"core/audits/dobetterweb/charset.js | description": {
|
|
624
|
-
"message": "A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. [Learn more about declaring the character encoding](https://
|
|
624
|
+
"message": "A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. [Learn more about declaring the character encoding](https://developer.chrome.com/docs/lighthouse/best-practices/charset/)."
|
|
625
625
|
},
|
|
626
626
|
"core/audits/dobetterweb/charset.js | failureTitle": {
|
|
627
627
|
"message": "Charset declaration is missing or occurs too late in the HTML"
|
|
@@ -630,7 +630,7 @@
|
|
|
630
630
|
"message": "Properly defines charset"
|
|
631
631
|
},
|
|
632
632
|
"core/audits/dobetterweb/doctype.js | description": {
|
|
633
|
-
"message": "Specifying a doctype prevents the browser from switching to quirks-mode. [Learn more about the doctype declaration](https://
|
|
633
|
+
"message": "Specifying a doctype prevents the browser from switching to quirks-mode. [Learn more about the doctype declaration](https://developer.chrome.com/docs/lighthouse/best-practices/doctype/)."
|
|
634
634
|
},
|
|
635
635
|
"core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
|
|
636
636
|
"message": "Doctype name must be the string `html`"
|
|
@@ -660,7 +660,7 @@
|
|
|
660
660
|
"message": "Value"
|
|
661
661
|
},
|
|
662
662
|
"core/audits/dobetterweb/dom-size.js | description": {
|
|
663
|
-
"message": "A large DOM will increase memory usage, cause longer [style calculations](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations), and produce costly [layout reflows](https://developers.google.com/speed/articles/reflow). [Learn how to avoid an excessive DOM size](https://
|
|
663
|
+
"message": "A large DOM will increase memory usage, cause longer [style calculations](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations), and produce costly [layout reflows](https://developers.google.com/speed/articles/reflow). [Learn how to avoid an excessive DOM size](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
|
|
664
664
|
},
|
|
665
665
|
"core/audits/dobetterweb/dom-size.js | displayValue": {
|
|
666
666
|
"message": "{itemCount, plural,\n =1 {1 element}\n other {# elements}\n }"
|
|
@@ -681,7 +681,7 @@
|
|
|
681
681
|
"message": "Avoids an excessive DOM size"
|
|
682
682
|
},
|
|
683
683
|
"core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
684
|
-
"message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more about the geolocation permission](https://
|
|
684
|
+
"message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more about the geolocation permission](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)."
|
|
685
685
|
},
|
|
686
686
|
"core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
|
|
687
687
|
"message": "Requests the geolocation permission on page load"
|
|
@@ -711,13 +711,13 @@
|
|
|
711
711
|
"message": "Version"
|
|
712
712
|
},
|
|
713
713
|
"core/audits/dobetterweb/js-libraries.js | description": {
|
|
714
|
-
"message": "All front-end JavaScript libraries detected on the page. [Learn more about this JavaScript library detection diagnostic audit](https://
|
|
714
|
+
"message": "All front-end JavaScript libraries detected on the page. [Learn more about this JavaScript library detection diagnostic audit](https://developer.chrome.com/docs/lighthouse/best-practices/js-libraries/)."
|
|
715
715
|
},
|
|
716
716
|
"core/audits/dobetterweb/js-libraries.js | title": {
|
|
717
717
|
"message": "Detected JavaScript libraries"
|
|
718
718
|
},
|
|
719
719
|
"core/audits/dobetterweb/no-document-write.js | description": {
|
|
720
|
-
"message": "For users on slow connections, external scripts dynamically injected via `document.write()` can delay page load by tens of seconds. [Learn how to avoid document.write()](https://
|
|
720
|
+
"message": "For users on slow connections, external scripts dynamically injected via `document.write()` can delay page load by tens of seconds. [Learn how to avoid document.write()](https://developer.chrome.com/docs/lighthouse/best-practices/no-document-write/)."
|
|
721
721
|
},
|
|
722
722
|
"core/audits/dobetterweb/no-document-write.js | failureTitle": {
|
|
723
723
|
"message": "Avoid `document.write()`"
|
|
@@ -726,7 +726,7 @@
|
|
|
726
726
|
"message": "Avoids `document.write()`"
|
|
727
727
|
},
|
|
728
728
|
"core/audits/dobetterweb/notification-on-start.js | description": {
|
|
729
|
-
"message": "Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. [Learn more about responsibly getting permission for notifications](https://
|
|
729
|
+
"message": "Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. [Learn more about responsibly getting permission for notifications](https://developer.chrome.com/docs/lighthouse/best-practices/notification-on-start/)."
|
|
730
730
|
},
|
|
731
731
|
"core/audits/dobetterweb/notification-on-start.js | failureTitle": {
|
|
732
732
|
"message": "Requests the notification permission on page load"
|
|
@@ -735,7 +735,7 @@
|
|
|
735
735
|
"message": "Avoids requesting the notification permission on page load"
|
|
736
736
|
},
|
|
737
737
|
"core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
|
|
738
|
-
"message": "Preventing password pasting undermines good security policy. [Learn more about user-friendly password fields](https://
|
|
738
|
+
"message": "Preventing password pasting undermines good security policy. [Learn more about user-friendly password fields](https://developer.chrome.com/docs/lighthouse/best-practices/password-inputs-can-be-pasted-into/)."
|
|
739
739
|
},
|
|
740
740
|
"core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
|
|
741
741
|
"message": "Prevents users to paste into password fields"
|
|
@@ -747,7 +747,7 @@
|
|
|
747
747
|
"message": "Protocol"
|
|
748
748
|
},
|
|
749
749
|
"core/audits/dobetterweb/uses-http2.js | description": {
|
|
750
|
-
"message": "HTTP/2 offers many benefits over HTTP/1.1, including binary headers and multiplexing. [Learn more about HTTP/2](https://
|
|
750
|
+
"message": "HTTP/2 offers many benefits over HTTP/1.1, including binary headers and multiplexing. [Learn more about HTTP/2](https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2/)."
|
|
751
751
|
},
|
|
752
752
|
"core/audits/dobetterweb/uses-http2.js | displayValue": {
|
|
753
753
|
"message": "{itemCount, plural,\n =1 {1 request not served via HTTP/2}\n other {# requests not served via HTTP/2}\n }"
|
|
@@ -756,7 +756,7 @@
|
|
|
756
756
|
"message": "Use HTTP/2"
|
|
757
757
|
},
|
|
758
758
|
"core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
|
|
759
|
-
"message": "Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. [Learn more about adopting passive event listeners](https://
|
|
759
|
+
"message": "Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. [Learn more about adopting passive event listeners](https://developer.chrome.com/docs/lighthouse/best-practices/uses-passive-event-listeners/)."
|
|
760
760
|
},
|
|
761
761
|
"core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
|
|
762
762
|
"message": "Does not use passive listeners to improve scrolling performance"
|
|
@@ -765,7 +765,7 @@
|
|
|
765
765
|
"message": "Uses passive listeners to improve scrolling performance"
|
|
766
766
|
},
|
|
767
767
|
"core/audits/errors-in-console.js | description": {
|
|
768
|
-
"message": "Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more about this errors in console diagnostic audit](https://
|
|
768
|
+
"message": "Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more about this errors in console diagnostic audit](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)"
|
|
769
769
|
},
|
|
770
770
|
"core/audits/errors-in-console.js | failureTitle": {
|
|
771
771
|
"message": "Browser errors were logged to the console"
|
|
@@ -774,7 +774,7 @@
|
|
|
774
774
|
"message": "No browser errors logged to the console"
|
|
775
775
|
},
|
|
776
776
|
"core/audits/font-display.js | description": {
|
|
777
|
-
"message": "Leverage the `font-display` CSS feature to ensure text is user-visible while webfonts are loading. [Learn more about `font-display`](https://
|
|
777
|
+
"message": "Leverage the `font-display` CSS feature to ensure text is user-visible while webfonts are loading. [Learn more about `font-display`](https://developer.chrome.com/docs/lighthouse/performance/font-display/)."
|
|
778
778
|
},
|
|
779
779
|
"core/audits/font-display.js | failureTitle": {
|
|
780
780
|
"message": "Ensure text remains visible during webfont load"
|
|
@@ -792,7 +792,7 @@
|
|
|
792
792
|
"message": "Aspect Ratio (Displayed)"
|
|
793
793
|
},
|
|
794
794
|
"core/audits/image-aspect-ratio.js | description": {
|
|
795
|
-
"message": "Image display dimensions should match natural aspect ratio. [Learn more about image aspect ratio](https://
|
|
795
|
+
"message": "Image display dimensions should match natural aspect ratio. [Learn more about image aspect ratio](https://developer.chrome.com/docs/lighthouse/best-practices/image-aspect-ratio/)."
|
|
796
796
|
},
|
|
797
797
|
"core/audits/image-aspect-ratio.js | failureTitle": {
|
|
798
798
|
"message": "Displays images with incorrect aspect ratio"
|
|
@@ -828,7 +828,7 @@
|
|
|
828
828
|
"message": "Failure reason"
|
|
829
829
|
},
|
|
830
830
|
"core/audits/installable-manifest.js | description": {
|
|
831
|
-
"message": "Service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. With proper service worker and manifest implementations, browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. [Learn more about manifest installability requirements](https://
|
|
831
|
+
"message": "Service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. With proper service worker and manifest implementations, browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. [Learn more about manifest installability requirements](https://developer.chrome.com/docs/lighthouse/pwa/installable-manifest/)."
|
|
832
832
|
},
|
|
833
833
|
"core/audits/installable-manifest.js | displayValue": {
|
|
834
834
|
"message": "{itemCount, plural,\n =1 {1 reason}\n other {# reasons}\n }"
|
|
@@ -933,7 +933,7 @@
|
|
|
933
933
|
"message": "Request Resolution"
|
|
934
934
|
},
|
|
935
935
|
"core/audits/is-on-https.js | description": {
|
|
936
|
-
"message": "All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more about HTTPS](https://
|
|
936
|
+
"message": "All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more about HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/)."
|
|
937
937
|
},
|
|
938
938
|
"core/audits/is-on-https.js | displayValue": {
|
|
939
939
|
"message": "{itemCount, plural,\n =1 {1 insecure request found}\n other {# insecure requests found}\n }"
|
|
@@ -951,7 +951,7 @@
|
|
|
951
951
|
"message": "Allowed with warning"
|
|
952
952
|
},
|
|
953
953
|
"core/audits/largest-contentful-paint-element.js | description": {
|
|
954
|
-
"message": "This is the largest contentful element painted within the viewport. [Learn more about the Largest Contentful Paint element](https://
|
|
954
|
+
"message": "This is the largest contentful element painted within the viewport. [Learn more about the Largest Contentful Paint element](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
|
|
955
955
|
},
|
|
956
956
|
"core/audits/largest-contentful-paint-element.js | title": {
|
|
957
957
|
"message": "Largest Contentful Paint element"
|
|
@@ -987,7 +987,7 @@
|
|
|
987
987
|
"message": "Category"
|
|
988
988
|
},
|
|
989
989
|
"core/audits/mainthread-work-breakdown.js | description": {
|
|
990
|
-
"message": "Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to minimize main-thread work](https://
|
|
990
|
+
"message": "Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to minimize main-thread work](https://developer.chrome.com/docs/lighthouse/performance/mainthread-work-breakdown/)"
|
|
991
991
|
},
|
|
992
992
|
"core/audits/mainthread-work-breakdown.js | failureTitle": {
|
|
993
993
|
"message": "Minimize main-thread work"
|
|
@@ -996,25 +996,25 @@
|
|
|
996
996
|
"message": "Minimizes main-thread work"
|
|
997
997
|
},
|
|
998
998
|
"core/audits/manual/pwa-cross-browser.js | description": {
|
|
999
|
-
"message": "To reach the most number of users, sites should work across every major browser. [Learn about cross-browser compatibility](https://
|
|
999
|
+
"message": "To reach the most number of users, sites should work across every major browser. [Learn about cross-browser compatibility](https://developer.chrome.com/docs/lighthouse/pwa/pwa-cross-browser/)."
|
|
1000
1000
|
},
|
|
1001
1001
|
"core/audits/manual/pwa-cross-browser.js | title": {
|
|
1002
1002
|
"message": "Site works cross-browser"
|
|
1003
1003
|
},
|
|
1004
1004
|
"core/audits/manual/pwa-each-page-has-url.js | description": {
|
|
1005
|
-
"message": "Ensure individual pages are deep linkable via URL and that URLs are unique for the purpose of shareability on social media. [Learn more about providing deep links](https://
|
|
1005
|
+
"message": "Ensure individual pages are deep linkable via URL and that URLs are unique for the purpose of shareability on social media. [Learn more about providing deep links](https://developer.chrome.com/docs/lighthouse/pwa/pwa-each-page-has-url/)."
|
|
1006
1006
|
},
|
|
1007
1007
|
"core/audits/manual/pwa-each-page-has-url.js | title": {
|
|
1008
1008
|
"message": "Each page has a URL"
|
|
1009
1009
|
},
|
|
1010
1010
|
"core/audits/manual/pwa-page-transitions.js | description": {
|
|
1011
|
-
"message": "Transitions should feel snappy as you tap around, even on a slow network. This experience is key to a user's perception of performance. [Learn more about page transitions](https://
|
|
1011
|
+
"message": "Transitions should feel snappy as you tap around, even on a slow network. This experience is key to a user's perception of performance. [Learn more about page transitions](https://developer.chrome.com/docs/lighthouse/pwa/pwa-page-transitions/)."
|
|
1012
1012
|
},
|
|
1013
1013
|
"core/audits/manual/pwa-page-transitions.js | title": {
|
|
1014
1014
|
"message": "Page transitions don't feel like they block on the network"
|
|
1015
1015
|
},
|
|
1016
1016
|
"core/audits/maskable-icon.js | description": {
|
|
1017
|
-
"message": "A maskable icon ensures that the image fills the entire shape without being letterboxed when installing the app on a device. [Learn about maskable manifest icons](https://
|
|
1017
|
+
"message": "A maskable icon ensures that the image fills the entire shape without being letterboxed when installing the app on a device. [Learn about maskable manifest icons](https://developer.chrome.com/docs/lighthouse/pwa/maskable-icon-audit/)."
|
|
1018
1018
|
},
|
|
1019
1019
|
"core/audits/maskable-icon.js | failureTitle": {
|
|
1020
1020
|
"message": "Manifest doesn't have a maskable icon"
|
|
@@ -1029,25 +1029,25 @@
|
|
|
1029
1029
|
"message": "Interaction to Next Paint measures page responsiveness, how long it takes the page to visibly respond to user input. [Learn more about the Interaction to Next Paint metric](https://web.dev/inp/)."
|
|
1030
1030
|
},
|
|
1031
1031
|
"core/audits/metrics/first-contentful-paint.js | description": {
|
|
1032
|
-
"message": "First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://
|
|
1032
|
+
"message": "First Contentful Paint marks the time at which the first text or image is painted. [Learn more about the First Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)."
|
|
1033
1033
|
},
|
|
1034
1034
|
"core/audits/metrics/first-meaningful-paint.js | description": {
|
|
1035
|
-
"message": "First Meaningful Paint measures when the primary content of a page is visible. [Learn more about the First Meaningful Paint metric](https://
|
|
1035
|
+
"message": "First Meaningful Paint measures when the primary content of a page is visible. [Learn more about the First Meaningful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/)."
|
|
1036
1036
|
},
|
|
1037
1037
|
"core/audits/metrics/interactive.js | description": {
|
|
1038
|
-
"message": "Time to Interactive is the amount of time it takes for the page to become fully interactive. [Learn more about the Time to Interactive metric](https://
|
|
1038
|
+
"message": "Time to Interactive is the amount of time it takes for the page to become fully interactive. [Learn more about the Time to Interactive metric](https://developer.chrome.com/docs/lighthouse/performance/interactive/)."
|
|
1039
1039
|
},
|
|
1040
1040
|
"core/audits/metrics/largest-contentful-paint.js | description": {
|
|
1041
|
-
"message": "Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://
|
|
1041
|
+
"message": "Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
|
|
1042
1042
|
},
|
|
1043
1043
|
"core/audits/metrics/max-potential-fid.js | description": {
|
|
1044
|
-
"message": "The maximum potential First Input Delay that your users could experience is the duration of the longest task. [Learn more about the Maximum Potential First Input Delay metric](https://
|
|
1044
|
+
"message": "The maximum potential First Input Delay that your users could experience is the duration of the longest task. [Learn more about the Maximum Potential First Input Delay metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/)."
|
|
1045
1045
|
},
|
|
1046
1046
|
"core/audits/metrics/speed-index.js | description": {
|
|
1047
|
-
"message": "Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://
|
|
1047
|
+
"message": "Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/)."
|
|
1048
1048
|
},
|
|
1049
1049
|
"core/audits/metrics/total-blocking-time.js | description": {
|
|
1050
|
-
"message": "Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. [Learn more about the Total Blocking Time metric](https://
|
|
1050
|
+
"message": "Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. [Learn more about the Total Blocking Time metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/)."
|
|
1051
1051
|
},
|
|
1052
1052
|
"core/audits/network-rtt.js | description": {
|
|
1053
1053
|
"message": "Network round trip times (RTT) have a large impact on performance. If the RTT to an origin is high, it's an indication that servers closer to the user could improve performance. [Learn more about the Round Trip Time](https://hpbn.co/primer-on-latency-and-bandwidth/)."
|
|
@@ -1071,7 +1071,7 @@
|
|
|
1071
1071
|
"message": "Avoids `unload` event listeners"
|
|
1072
1072
|
},
|
|
1073
1073
|
"core/audits/non-composited-animations.js | description": {
|
|
1074
|
-
"message": "Animations which are not composited can be janky and increase CLS. [Learn how to avoid non-composited animations](https://
|
|
1074
|
+
"message": "Animations which are not composited can be janky and increase CLS. [Learn how to avoid non-composited animations](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)"
|
|
1075
1075
|
},
|
|
1076
1076
|
"core/audits/non-composited-animations.js | displayValue": {
|
|
1077
1077
|
"message": "{itemCount, plural,\n =1 {# animated element found}\n other {# animated elements found}\n }"
|
|
@@ -1116,13 +1116,13 @@
|
|
|
1116
1116
|
"message": "Fonts with `font-display: optional` are preloaded"
|
|
1117
1117
|
},
|
|
1118
1118
|
"core/audits/preload-lcp-image.js | description": {
|
|
1119
|
-
"message": "If the LCP element is dynamically added to the page, you should preload the image in order to improve LCP. [Learn more about preloading LCP elements](https://web.dev/optimize-lcp/#
|
|
1119
|
+
"message": "If the LCP element is dynamically added to the page, you should preload the image in order to improve LCP. [Learn more about preloading LCP elements](https://web.dev/optimize-lcp/#optimize-when-the-resource-is-discovered)."
|
|
1120
1120
|
},
|
|
1121
1121
|
"core/audits/preload-lcp-image.js | title": {
|
|
1122
1122
|
"message": "Preload Largest Contentful Paint image"
|
|
1123
1123
|
},
|
|
1124
1124
|
"core/audits/redirects.js | description": {
|
|
1125
|
-
"message": "Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects](https://
|
|
1125
|
+
"message": "Redirects introduce additional delays before the page can be loaded. [Learn how to avoid page redirects](https://developer.chrome.com/docs/lighthouse/performance/redirects/)."
|
|
1126
1126
|
},
|
|
1127
1127
|
"core/audits/redirects.js | title": {
|
|
1128
1128
|
"message": "Avoid multiple page redirects"
|
|
@@ -1137,7 +1137,7 @@
|
|
|
1137
1137
|
"message": "Keep request counts low and transfer sizes small"
|
|
1138
1138
|
},
|
|
1139
1139
|
"core/audits/seo/canonical.js | description": {
|
|
1140
|
-
"message": "Canonical links suggest which URL to show in search results. [Learn more about canonical links](https://
|
|
1140
|
+
"message": "Canonical links suggest which URL to show in search results. [Learn more about canonical links](https://developer.chrome.com/docs/lighthouse/seo/canonical/)."
|
|
1141
1141
|
},
|
|
1142
1142
|
"core/audits/seo/canonical.js | explanationConflict": {
|
|
1143
1143
|
"message": "Multiple conflicting URLs ({urlList})"
|
|
@@ -1185,7 +1185,7 @@
|
|
|
1185
1185
|
"message": "Selector"
|
|
1186
1186
|
},
|
|
1187
1187
|
"core/audits/seo/font-size.js | description": {
|
|
1188
|
-
"message": "Font sizes less than 12px are too small to be legible and require mobile visitors to “pinch to zoom” in order to read. Strive to have >60% of page text ≥12px. [Learn more about legible font sizes](https://
|
|
1188
|
+
"message": "Font sizes less than 12px are too small to be legible and require mobile visitors to “pinch to zoom” in order to read. Strive to have >60% of page text ≥12px. [Learn more about legible font sizes](https://developer.chrome.com/docs/lighthouse/seo/font-size/)."
|
|
1189
1189
|
},
|
|
1190
1190
|
"core/audits/seo/font-size.js | displayValue": {
|
|
1191
1191
|
"message": "{decimalProportion, number, extendedPercent} legible text"
|
|
@@ -1203,7 +1203,7 @@
|
|
|
1203
1203
|
"message": "Document uses legible font sizes"
|
|
1204
1204
|
},
|
|
1205
1205
|
"core/audits/seo/hreflang.js | description": {
|
|
1206
|
-
"message": "hreflang links tell search engines what version of a page they should list in search results for a given language or region. [Learn more about `hreflang`](https://
|
|
1206
|
+
"message": "hreflang links tell search engines what version of a page they should list in search results for a given language or region. [Learn more about `hreflang`](https://developer.chrome.com/docs/lighthouse/seo/hreflang/)."
|
|
1207
1207
|
},
|
|
1208
1208
|
"core/audits/seo/hreflang.js | failureTitle": {
|
|
1209
1209
|
"message": "Document doesn't have a valid `hreflang`"
|
|
@@ -1218,7 +1218,7 @@
|
|
|
1218
1218
|
"message": "Unexpected language code"
|
|
1219
1219
|
},
|
|
1220
1220
|
"core/audits/seo/http-status-code.js | description": {
|
|
1221
|
-
"message": "Pages with unsuccessful HTTP status codes may not be indexed properly. [Learn more about HTTP status codes](https://
|
|
1221
|
+
"message": "Pages with unsuccessful HTTP status codes may not be indexed properly. [Learn more about HTTP status codes](https://developer.chrome.com/docs/lighthouse/seo/http-status-code/)."
|
|
1222
1222
|
},
|
|
1223
1223
|
"core/audits/seo/http-status-code.js | failureTitle": {
|
|
1224
1224
|
"message": "Page has unsuccessful HTTP status code"
|
|
@@ -1227,7 +1227,7 @@
|
|
|
1227
1227
|
"message": "Page has successful HTTP status code"
|
|
1228
1228
|
},
|
|
1229
1229
|
"core/audits/seo/is-crawlable.js | description": {
|
|
1230
|
-
"message": "Search engines are unable to include your pages in search results if they don't have permission to crawl them. [Learn more about crawler directives](https://
|
|
1230
|
+
"message": "Search engines are unable to include your pages in search results if they don't have permission to crawl them. [Learn more about crawler directives](https://developer.chrome.com/docs/lighthouse/seo/is-crawlable/)."
|
|
1231
1231
|
},
|
|
1232
1232
|
"core/audits/seo/is-crawlable.js | failureTitle": {
|
|
1233
1233
|
"message": "Page is blocked from indexing"
|
|
@@ -1236,7 +1236,7 @@
|
|
|
1236
1236
|
"message": "Page isn’t blocked from indexing"
|
|
1237
1237
|
},
|
|
1238
1238
|
"core/audits/seo/link-text.js | description": {
|
|
1239
|
-
"message": "Descriptive link text helps search engines understand your content. [Learn how to make links more accessible](https://
|
|
1239
|
+
"message": "Descriptive link text helps search engines understand your content. [Learn how to make links more accessible](https://developer.chrome.com/docs/lighthouse/seo/link-text/)."
|
|
1240
1240
|
},
|
|
1241
1241
|
"core/audits/seo/link-text.js | displayValue": {
|
|
1242
1242
|
"message": "{itemCount, plural,\n =1 {1 link found}\n other {# links found}\n }"
|
|
@@ -1248,13 +1248,13 @@
|
|
|
1248
1248
|
"message": "Links have descriptive text"
|
|
1249
1249
|
},
|
|
1250
1250
|
"core/audits/seo/manual/structured-data.js | description": {
|
|
1251
|
-
"message": "Run the [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/) and the [Structured Data Linter](http://linter.structured-data.org/) to validate structured data. [Learn more about Structured Data](https://
|
|
1251
|
+
"message": "Run the [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/) and the [Structured Data Linter](http://linter.structured-data.org/) to validate structured data. [Learn more about Structured Data](https://developer.chrome.com/docs/lighthouse/seo/structured-data/)."
|
|
1252
1252
|
},
|
|
1253
1253
|
"core/audits/seo/manual/structured-data.js | title": {
|
|
1254
1254
|
"message": "Structured data is valid"
|
|
1255
1255
|
},
|
|
1256
1256
|
"core/audits/seo/meta-description.js | description": {
|
|
1257
|
-
"message": "Meta descriptions may be included in search results to concisely summarize page content. [Learn more about the meta description](https://
|
|
1257
|
+
"message": "Meta descriptions may be included in search results to concisely summarize page content. [Learn more about the meta description](https://developer.chrome.com/docs/lighthouse/seo/meta-description/)."
|
|
1258
1258
|
},
|
|
1259
1259
|
"core/audits/seo/meta-description.js | explanation": {
|
|
1260
1260
|
"message": "Description text is empty."
|
|
@@ -1266,7 +1266,7 @@
|
|
|
1266
1266
|
"message": "Document has a meta description"
|
|
1267
1267
|
},
|
|
1268
1268
|
"core/audits/seo/plugins.js | description": {
|
|
1269
|
-
"message": "Search engines can't index plugin content, and many devices restrict plugins or don't support them. [Learn more about avoiding plugins](https://
|
|
1269
|
+
"message": "Search engines can't index plugin content, and many devices restrict plugins or don't support them. [Learn more about avoiding plugins](https://developer.chrome.com/docs/lighthouse/seo/plugins/)."
|
|
1270
1270
|
},
|
|
1271
1271
|
"core/audits/seo/plugins.js | failureTitle": {
|
|
1272
1272
|
"message": "Document uses plugins"
|
|
@@ -1275,7 +1275,7 @@
|
|
|
1275
1275
|
"message": "Document avoids plugins"
|
|
1276
1276
|
},
|
|
1277
1277
|
"core/audits/seo/robots-txt.js | description": {
|
|
1278
|
-
"message": "If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. [Learn more about robots.txt](https://
|
|
1278
|
+
"message": "If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. [Learn more about robots.txt](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)."
|
|
1279
1279
|
},
|
|
1280
1280
|
"core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
|
|
1281
1281
|
"message": "Request for robots.txt returned HTTP status: {statusCode}"
|
|
@@ -1293,7 +1293,7 @@
|
|
|
1293
1293
|
"message": "robots.txt is valid"
|
|
1294
1294
|
},
|
|
1295
1295
|
"core/audits/seo/tap-targets.js | description": {
|
|
1296
|
-
"message": "Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements. [Learn more about tap targets](https://
|
|
1296
|
+
"message": "Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements. [Learn more about tap targets](https://developer.chrome.com/docs/lighthouse/seo/tap-targets/)."
|
|
1297
1297
|
},
|
|
1298
1298
|
"core/audits/seo/tap-targets.js | displayValue": {
|
|
1299
1299
|
"message": "{decimalProportion, number, percent} appropriately sized tap targets"
|
|
@@ -1314,7 +1314,7 @@
|
|
|
1314
1314
|
"message": "Tap targets are sized appropriately"
|
|
1315
1315
|
},
|
|
1316
1316
|
"core/audits/server-response-time.js | description": {
|
|
1317
|
-
"message": "Keep the server response time for the main document short because all other requests depend on it. [Learn more about the Time to First Byte metric](https://
|
|
1317
|
+
"message": "Keep the server response time for the main document short because all other requests depend on it. [Learn more about the Time to First Byte metric](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/)."
|
|
1318
1318
|
},
|
|
1319
1319
|
"core/audits/server-response-time.js | displayValue": {
|
|
1320
1320
|
"message": "Root document took {timeInMs, number, milliseconds} ms"
|
|
@@ -1326,7 +1326,7 @@
|
|
|
1326
1326
|
"message": "Initial server response time was short"
|
|
1327
1327
|
},
|
|
1328
1328
|
"core/audits/service-worker.js | description": {
|
|
1329
|
-
"message": "The service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. [Learn more about Service Workers](https://
|
|
1329
|
+
"message": "The service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. [Learn more about Service Workers](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)."
|
|
1330
1330
|
},
|
|
1331
1331
|
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1332
1332
|
"message": "This page is controlled by a service worker, however no `start_url` was found because manifest failed to parse as valid JSON"
|
|
@@ -1347,7 +1347,7 @@
|
|
|
1347
1347
|
"message": "Registers a service worker that controls page and `start_url`"
|
|
1348
1348
|
},
|
|
1349
1349
|
"core/audits/splash-screen.js | description": {
|
|
1350
|
-
"message": "A themed splash screen ensures a high-quality experience when users launch your app from their homescreens. [Learn more about splash screens](https://
|
|
1350
|
+
"message": "A themed splash screen ensures a high-quality experience when users launch your app from their homescreens. [Learn more about splash screens](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
|
|
1351
1351
|
},
|
|
1352
1352
|
"core/audits/splash-screen.js | failureTitle": {
|
|
1353
1353
|
"message": "Is not configured for a custom splash screen"
|
|
@@ -1356,7 +1356,7 @@
|
|
|
1356
1356
|
"message": "Configured for a custom splash screen"
|
|
1357
1357
|
},
|
|
1358
1358
|
"core/audits/themed-omnibox.js | description": {
|
|
1359
|
-
"message": "The browser address bar can be themed to match your site. [Learn more about theming the address bar](https://
|
|
1359
|
+
"message": "The browser address bar can be themed to match your site. [Learn more about theming the address bar](https://developer.chrome.com/docs/lighthouse/pwa/themed-omnibox/)."
|
|
1360
1360
|
},
|
|
1361
1361
|
"core/audits/themed-omnibox.js | failureTitle": {
|
|
1362
1362
|
"message": "Does not set a theme color for the address bar."
|
|
@@ -1380,7 +1380,7 @@
|
|
|
1380
1380
|
"message": "Product"
|
|
1381
1381
|
},
|
|
1382
1382
|
"core/audits/third-party-facades.js | description": {
|
|
1383
|
-
"message": "Some third-party embeds can be lazy loaded. Consider replacing them with a facade until they are required. [Learn how to defer third-parties with a facade](https://
|
|
1383
|
+
"message": "Some third-party embeds can be lazy loaded. Consider replacing them with a facade until they are required. [Learn how to defer third-parties with a facade](https://developer.chrome.com/docs/lighthouse/performance/third-party-facades/)."
|
|
1384
1384
|
},
|
|
1385
1385
|
"core/audits/third-party-facades.js | displayValue": {
|
|
1386
1386
|
"message": "{itemCount, plural,\n =1 {# facade alternative available}\n other {# facade alternatives available}\n }"
|
|
@@ -1431,7 +1431,7 @@
|
|
|
1431
1431
|
"message": "Type"
|
|
1432
1432
|
},
|
|
1433
1433
|
"core/audits/user-timings.js | description": {
|
|
1434
|
-
"message": "Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. [Learn more about User Timing marks](https://
|
|
1434
|
+
"message": "Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. [Learn more about User Timing marks](https://developer.chrome.com/docs/lighthouse/performance/user-timings/)."
|
|
1435
1435
|
},
|
|
1436
1436
|
"core/audits/user-timings.js | displayValue": {
|
|
1437
1437
|
"message": "{itemCount, plural,\n =1 {1 user timing}\n other {# user timings}\n }"
|
|
@@ -1443,7 +1443,7 @@
|
|
|
1443
1443
|
"message": "A `<link rel=preconnect>` was found for \"{securityOrigin}\" but was not used by the browser. Check that you are using the `crossorigin` attribute properly."
|
|
1444
1444
|
},
|
|
1445
1445
|
"core/audits/uses-rel-preconnect.js | description": {
|
|
1446
|
-
"message": "Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. [Learn how to preconnect to required origins](https://
|
|
1446
|
+
"message": "Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. [Learn how to preconnect to required origins](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/)."
|
|
1447
1447
|
},
|
|
1448
1448
|
"core/audits/uses-rel-preconnect.js | title": {
|
|
1449
1449
|
"message": "Preconnect to required origins"
|
|
@@ -1458,7 +1458,7 @@
|
|
|
1458
1458
|
"message": "A preload `<link>` was found for \"{preloadURL}\" but was not used by the browser. Check that you are using the `crossorigin` attribute properly."
|
|
1459
1459
|
},
|
|
1460
1460
|
"core/audits/uses-rel-preload.js | description": {
|
|
1461
|
-
"message": "Consider using `<link rel=preload>` to prioritize fetching resources that are currently requested later in page load. [Learn how to preload key requests](https://
|
|
1461
|
+
"message": "Consider using `<link rel=preload>` to prioritize fetching resources that are currently requested later in page load. [Learn how to preload key requests](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preload/)."
|
|
1462
1462
|
},
|
|
1463
1463
|
"core/audits/uses-rel-preload.js | title": {
|
|
1464
1464
|
"message": "Preload key requests"
|
|
@@ -1482,7 +1482,7 @@
|
|
|
1482
1482
|
"message": "Page has valid source maps"
|
|
1483
1483
|
},
|
|
1484
1484
|
"core/audits/viewport.js | description": {
|
|
1485
|
-
"message": "A `<meta name=\"viewport\">` not only optimizes your app for mobile screen sizes, but also prevents [a 300 millisecond delay to user input](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/). [Learn more about using the viewport meta tag](https://
|
|
1485
|
+
"message": "A `<meta name=\"viewport\">` not only optimizes your app for mobile screen sizes, but also prevents [a 300 millisecond delay to user input](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/). [Learn more about using the viewport meta tag](https://developer.chrome.com/docs/lighthouse/pwa/viewport/)."
|
|
1486
1486
|
},
|
|
1487
1487
|
"core/audits/viewport.js | explanationNoTag": {
|
|
1488
1488
|
"message": "No `<meta name=\"viewport\">` tag found"
|
|
@@ -1596,7 +1596,7 @@
|
|
|
1596
1596
|
"message": "Budgets"
|
|
1597
1597
|
},
|
|
1598
1598
|
"core/config/default-config.js | diagnosticsGroupDescription": {
|
|
1599
|
-
"message": "More information about the performance of your application. These numbers don't [directly affect](https://
|
|
1599
|
+
"message": "More information about the performance of your application. These numbers don't [directly affect](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) the Performance score."
|
|
1600
1600
|
},
|
|
1601
1601
|
"core/config/default-config.js | diagnosticsGroupTitle": {
|
|
1602
1602
|
"message": "Diagnostics"
|
|
@@ -1608,7 +1608,7 @@
|
|
|
1608
1608
|
"message": "First Paint Improvements"
|
|
1609
1609
|
},
|
|
1610
1610
|
"core/config/default-config.js | loadOpportunitiesGroupDescription": {
|
|
1611
|
-
"message": "These suggestions can help your page load faster. They don't [directly affect](https://
|
|
1611
|
+
"message": "These suggestions can help your page load faster. They don't [directly affect](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) the Performance score."
|
|
1612
1612
|
},
|
|
1613
1613
|
"core/config/default-config.js | loadOpportunitiesGroupTitle": {
|
|
1614
1614
|
"message": "Opportunities"
|
|
@@ -1641,7 +1641,7 @@
|
|
|
1641
1641
|
"message": "PWA Optimized"
|
|
1642
1642
|
},
|
|
1643
1643
|
"core/config/default-config.js | seoCategoryDescription": {
|
|
1644
|
-
"message": "These checks ensure that your page is following basic search engine optimization advice. There are many additional factors Lighthouse does not score here that may affect your search ranking, including performance on [Core Web Vitals](https://web.dev/learn-web-vitals/). [Learn more about Google Search Essentials](https://support.google.com/webmasters/answer/35769)."
|
|
1644
|
+
"message": "These checks ensure that your page is following basic search engine optimization advice. There are many additional factors Lighthouse does not score here that may affect your search ranking, including performance on [Core Web Vitals](https://web.dev/learn-core-web-vitals/). [Learn more about Google Search Essentials](https://support.google.com/webmasters/answer/35769)."
|
|
1645
1645
|
},
|
|
1646
1646
|
"core/config/default-config.js | seoCategoryManualDescription": {
|
|
1647
1647
|
"message": "Run these additional validators on your site to check additional SEO best practices."
|
|
@@ -3069,7 +3069,7 @@
|
|
|
3069
3069
|
"message": "There were issues affecting this run of Lighthouse:"
|
|
3070
3070
|
},
|
|
3071
3071
|
"report/renderer/util.js | varianceDisclaimer": {
|
|
3072
|
-
"message": "Values are estimated and may vary. The [performance score is calculated](https://
|
|
3072
|
+
"message": "Values are estimated and may vary. The [performance score is calculated](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) directly from these metrics."
|
|
3073
3073
|
},
|
|
3074
3074
|
"report/renderer/util.js | viewOriginalTraceLabel": {
|
|
3075
3075
|
"message": "View Original Trace"
|