[{"url":"https://trunk-hy2b2li-rk425yy73kk4w.us-4.platformsh.site","audits":{"no-document-write":{"id":"no-document-write","title":"Avoidsdocument.write()","description":"For users on slow connections, external scripts dynamically injected via document.write() can delay page load by tens of seconds. Learn more.","score":1,"scoreDisplayMode":"binary"},"unused-javascript":{"id":"unused-javascript","title":"Reduce unused JavaScript","description":"Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"font-display":{"id":"font-display","title":"All text remains visible during webfont loads","description":"Leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. Learn more.","score":1,"scoreDisplayMode":"binary","warnings":[]},"offscreen-images":{"id":"offscreen-images","title":"Defer offscreen images","description":"Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. Learn more.","score":1,"scoreDisplayMode":"numeric","warnings":[],"numericValue":0,"numericUnit":"millisecond"},"viewport":{"id":"viewport","title":"Has a <meta name=\"viewport\"> tag with width or initial-scale","description":"A <meta name=\"viewport\"> not only optimizes your app for mobile screen sizes, but also prevents a 300 millisecond delay to user input. Learn more.","score":1,"scoreDisplayMode":"binary","warnings":[]},"total-byte-weight":{"id":"total-byte-weight","title":"Avoids enormous network payloads","description":"Large network payloads cost users real money and are highly correlated with long load times. Learn more.","score":0.99,"scoreDisplayMode":"numeric","displayValue":"Total size was 1,883 KiB","numericValue":1927708,"numericUnit":"byte"},"uses-text-compression":{"id":"uses-text-compression","title":"Enable text compression","description":"Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. Learn more.","score":0.93,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 66 KiB","numericValue":80,"numericUnit":"millisecond"},"dom-size":{"id":"dom-size","title":"Avoids an excessive DOM size","description":"A large DOM will increase memory usage, cause longer style calculations, and produce costly layout reflows. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"313 elements","numericValue":313,"numericUnit":"element"},"first-meaningful-paint":{"id":"first-meaningful-paint","title":"First Meaningful Paint","description":"First Meaningful Paint measures when the primary content of a page is visible. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.3 s","numericValue":334,"numericUnit":"millisecond"},"bootup-time":{"id":"bootup-time","title":"JavaScript execution time","description":"Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.0 s","numericValue":46.513999999999996,"numericUnit":"millisecond"},"unminified-css":{"id":"unminified-css","title":"Minify CSS","description":"Minifying CSS files can reduce network payload sizes. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"max-potential-fid":{"id":"max-potential-fid","title":"Max Potential First Input Delay","description":"The maximum potential First Input Delay that your users could experience is the duration of the longest task. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"40 ms","numericValue":42,"numericUnit":"millisecond"},"efficient-animated-content":{"id":"efficient-animated-content","title":"Use video formats for animated content","description":"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","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"lcp-lazy-loaded":{"id":"lcp-lazy-loaded","title":"Largest Contentful Paint image was not lazily loaded","description":"Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint. Learn more.","score":1,"scoreDisplayMode":"binary"},"interactive":{"id":"interactive","title":"Time to Interactive","description":"Time to interactive is the amount of time it takes for the page to become fully interactive. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.3 s","numericValue":334,"numericUnit":"millisecond"},"no-unload-listeners":{"id":"no-unload-listeners","title":"Avoids unload event listeners","description":"The unload event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use pagehide or visibilitychange events instead. Learn more","score":1,"scoreDisplayMode":"binary"},"modern-image-formats":{"id":"modern-image-formats","title":"Serve images in next-gen formats","description":"Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. Learn more.","score":0.56,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 756 KiB","warnings":[],"numericValue":640,"numericUnit":"millisecond"},"uses-long-cache-ttl":{"id":"uses-long-cache-ttl","title":"Serve static assets with an efficient cache policy","description":"A long cache lifetime can speed up repeat visits to your page. Learn more.","score":0.09,"scoreDisplayMode":"numeric","displayValue":"12 resources found","numericValue":632339.9833333333,"numericUnit":"byte"},"uses-responsive-images":{"id":"uses-responsive-images","title":"Properly size images","description":"Serve images that are appropriately-sized to save cellular data and improve load time. Learn more.","score":0.69,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 462 KiB","numericValue":400,"numericUnit":"millisecond"},"speed-index":{"id":"speed-index","title":"Speed Index","description":"Speed Index shows how quickly the contents of a page are visibly populated. Learn more.","score":0.99,"scoreDisplayMode":"numeric","displayValue":"0.9 s","numericValue":861.6447850503143,"numericUnit":"millisecond"},"redirects":{"id":"redirects","title":"Avoid multiple page redirects","description":"Redirects introduce additional delays before the page can be loaded. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"unminified-javascript":{"id":"unminified-javascript","title":"Minify JavaScript","description":"Minifying JavaScript files can reduce payload sizes and script parse time. Learn more.","score":1,"scoreDisplayMode":"numeric","warnings":[],"numericValue":0,"numericUnit":"millisecond"},"uses-rel-preconnect":{"id":"uses-rel-preconnect","title":"Preconnect to required origins","description":"Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins. Learn more.","score":1,"scoreDisplayMode":"numeric","warnings":[],"numericValue":0,"numericUnit":"millisecond"},"largest-contentful-paint":{"id":"largest-contentful-paint","title":"Largest Contentful Paint","description":"Largest Contentful Paint marks the time at which the largest text or image is painted. Learn more","score":0.98,"scoreDisplayMode":"numeric","displayValue":"0.8 s","numericValue":790,"numericUnit":"millisecond"},"legacy-javascript":{"id":"legacy-javascript","title":"Avoid serving legacy JavaScript to modern browsers","description":"Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using module/nomodule feature detection to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. Learn More","score":1,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 0 KiB","numericValue":0,"numericUnit":"millisecond"},"uses-passive-event-listeners":{"id":"uses-passive-event-listeners","title":"Uses passive listeners to improve scrolling performance","description":"Consider marking your touch and wheel event listeners as passive to improve your page's scroll performance. Learn more.","score":1,"scoreDisplayMode":"binary"},"duplicated-javascript":{"id":"duplicated-javascript","title":"Remove duplicate modules in JavaScript bundles","description":"Remove large, duplicate JavaScript modules from bundles to reduce unnecessary bytes consumed by network activity. ","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"total-blocking-time":{"id":"total-blocking-time","title":"Total Blocking Time","description":"Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0 ms","numericValue":0,"numericUnit":"millisecond"},"uses-optimized-images":{"id":"uses-optimized-images","title":"Efficiently encode images","description":"Optimized images load faster and consume less cellular data. Learn more.","score":0.97,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 46 KiB","warnings":[],"numericValue":40,"numericUnit":"millisecond"},"preload-lcp-image":{"id":"preload-lcp-image","title":"Preload Largest Contentful Paint image","description":"Preload the image used by the LCP element in order to improve your LCP time. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"cumulative-layout-shift":{"id":"cumulative-layout-shift","title":"Cumulative Layout Shift","description":"Cumulative Layout Shift measures the movement of visible elements within the viewport. Learn more.","score":0.95,"scoreDisplayMode":"numeric","displayValue":"0.078","numericValue":0.07767010195035462,"numericUnit":"unitless"},"first-contentful-paint":{"id":"first-contentful-paint","title":"First Contentful Paint","description":"First Contentful Paint marks the time at which the first text or image is painted. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.3 s","numericValue":334,"numericUnit":"millisecond"},"render-blocking-resources":{"id":"render-blocking-resources","title":"Eliminate render-blocking resources","description":"Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"mainthread-work-breakdown":{"id":"mainthread-work-breakdown","title":"Minimizes main-thread work","description":"Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn more","score":1,"scoreDisplayMode":"numeric","displayValue":"0.2 s","numericValue":237.85200000000015,"numericUnit":"millisecond"},"unused-css-rules":{"id":"unused-css-rules","title":"Reduce unused CSS","description":"Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"}},"categories":{"performance":{"id":"performance","title":"Performance","score":0.99}}}]
[{"url":"https://trunk-hy2b2li-rk425yy73kk4w.us-4.platformsh.site","audits":{"no-document-write":{"id":"no-document-write","title":"Avoids
document.write()
","description":"For users on slow connections, external scripts dynamically injected viadocument.write()
can delay page load by tens of seconds. Learn more.","score":1,"scoreDisplayMode":"binary"},"unused-javascript":{"id":"unused-javascript","title":"Reduce unused JavaScript","description":"Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"font-display":{"id":"font-display","title":"All text remains visible during webfont loads","description":"Leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. Learn more.","score":1,"scoreDisplayMode":"binary","warnings":[]},"offscreen-images":{"id":"offscreen-images","title":"Defer offscreen images","description":"Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. Learn more.","score":1,"scoreDisplayMode":"numeric","warnings":[],"numericValue":0,"numericUnit":"millisecond"},"viewport":{"id":"viewport","title":"Has a<meta name=\"viewport\">
tag withwidth
orinitial-scale
","description":"A<meta name=\"viewport\">
not only optimizes your app for mobile screen sizes, but also prevents a 300 millisecond delay to user input. Learn more.","score":1,"scoreDisplayMode":"binary","warnings":[]},"total-byte-weight":{"id":"total-byte-weight","title":"Avoids enormous network payloads","description":"Large network payloads cost users real money and are highly correlated with long load times. Learn more.","score":0.99,"scoreDisplayMode":"numeric","displayValue":"Total size was 1,883 KiB","numericValue":1927708,"numericUnit":"byte"},"uses-text-compression":{"id":"uses-text-compression","title":"Enable text compression","description":"Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. Learn more.","score":0.93,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 66 KiB","numericValue":80,"numericUnit":"millisecond"},"dom-size":{"id":"dom-size","title":"Avoids an excessive DOM size","description":"A large DOM will increase memory usage, cause longer style calculations, and produce costly layout reflows. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"313 elements","numericValue":313,"numericUnit":"element"},"first-meaningful-paint":{"id":"first-meaningful-paint","title":"First Meaningful Paint","description":"First Meaningful Paint measures when the primary content of a page is visible. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.3 s","numericValue":334,"numericUnit":"millisecond"},"bootup-time":{"id":"bootup-time","title":"JavaScript execution time","description":"Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.0 s","numericValue":46.513999999999996,"numericUnit":"millisecond"},"unminified-css":{"id":"unminified-css","title":"Minify CSS","description":"Minifying CSS files can reduce network payload sizes. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"max-potential-fid":{"id":"max-potential-fid","title":"Max Potential First Input Delay","description":"The maximum potential First Input Delay that your users could experience is the duration of the longest task. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"40 ms","numericValue":42,"numericUnit":"millisecond"},"efficient-animated-content":{"id":"efficient-animated-content","title":"Use video formats for animated content","description":"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","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"lcp-lazy-loaded":{"id":"lcp-lazy-loaded","title":"Largest Contentful Paint image was not lazily loaded","description":"Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint. Learn more.","score":1,"scoreDisplayMode":"binary"},"interactive":{"id":"interactive","title":"Time to Interactive","description":"Time to interactive is the amount of time it takes for the page to become fully interactive. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.3 s","numericValue":334,"numericUnit":"millisecond"},"no-unload-listeners":{"id":"no-unload-listeners","title":"Avoidsunload
event listeners","description":"Theunload
event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Usepagehide
orvisibilitychange
events instead. Learn more","score":1,"scoreDisplayMode":"binary"},"modern-image-formats":{"id":"modern-image-formats","title":"Serve images in next-gen formats","description":"Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. Learn more.","score":0.56,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 756 KiB","warnings":[],"numericValue":640,"numericUnit":"millisecond"},"uses-long-cache-ttl":{"id":"uses-long-cache-ttl","title":"Serve static assets with an efficient cache policy","description":"A long cache lifetime can speed up repeat visits to your page. Learn more.","score":0.09,"scoreDisplayMode":"numeric","displayValue":"12 resources found","numericValue":632339.9833333333,"numericUnit":"byte"},"uses-responsive-images":{"id":"uses-responsive-images","title":"Properly size images","description":"Serve images that are appropriately-sized to save cellular data and improve load time. Learn more.","score":0.69,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 462 KiB","numericValue":400,"numericUnit":"millisecond"},"speed-index":{"id":"speed-index","title":"Speed Index","description":"Speed Index shows how quickly the contents of a page are visibly populated. Learn more.","score":0.99,"scoreDisplayMode":"numeric","displayValue":"0.9 s","numericValue":861.6447850503143,"numericUnit":"millisecond"},"redirects":{"id":"redirects","title":"Avoid multiple page redirects","description":"Redirects introduce additional delays before the page can be loaded. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"unminified-javascript":{"id":"unminified-javascript","title":"Minify JavaScript","description":"Minifying JavaScript files can reduce payload sizes and script parse time. Learn more.","score":1,"scoreDisplayMode":"numeric","warnings":[],"numericValue":0,"numericUnit":"millisecond"},"uses-rel-preconnect":{"id":"uses-rel-preconnect","title":"Preconnect to required origins","description":"Consider addingpreconnect
ordns-prefetch
resource hints to establish early connections to important third-party origins. Learn more.","score":1,"scoreDisplayMode":"numeric","warnings":[],"numericValue":0,"numericUnit":"millisecond"},"largest-contentful-paint":{"id":"largest-contentful-paint","title":"Largest Contentful Paint","description":"Largest Contentful Paint marks the time at which the largest text or image is painted. Learn more","score":0.98,"scoreDisplayMode":"numeric","displayValue":"0.8 s","numericValue":790,"numericUnit":"millisecond"},"legacy-javascript":{"id":"legacy-javascript","title":"Avoid serving legacy JavaScript to modern browsers","description":"Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. For your bundled JavaScript, adopt a modern script deployment strategy using module/nomodule feature detection to reduce the amount of code shipped to modern browsers, while retaining support for legacy browsers. Learn More","score":1,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 0 KiB","numericValue":0,"numericUnit":"millisecond"},"uses-passive-event-listeners":{"id":"uses-passive-event-listeners","title":"Uses passive listeners to improve scrolling performance","description":"Consider marking your touch and wheel event listeners aspassive
to improve your page's scroll performance. Learn more.","score":1,"scoreDisplayMode":"binary"},"duplicated-javascript":{"id":"duplicated-javascript","title":"Remove duplicate modules in JavaScript bundles","description":"Remove large, duplicate JavaScript modules from bundles to reduce unnecessary bytes consumed by network activity. ","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"total-blocking-time":{"id":"total-blocking-time","title":"Total Blocking Time","description":"Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0 ms","numericValue":0,"numericUnit":"millisecond"},"uses-optimized-images":{"id":"uses-optimized-images","title":"Efficiently encode images","description":"Optimized images load faster and consume less cellular data. Learn more.","score":0.97,"scoreDisplayMode":"numeric","displayValue":"Potential savings of 46 KiB","warnings":[],"numericValue":40,"numericUnit":"millisecond"},"preload-lcp-image":{"id":"preload-lcp-image","title":"Preload Largest Contentful Paint image","description":"Preload the image used by the LCP element in order to improve your LCP time. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"cumulative-layout-shift":{"id":"cumulative-layout-shift","title":"Cumulative Layout Shift","description":"Cumulative Layout Shift measures the movement of visible elements within the viewport. Learn more.","score":0.95,"scoreDisplayMode":"numeric","displayValue":"0.078","numericValue":0.07767010195035462,"numericUnit":"unitless"},"first-contentful-paint":{"id":"first-contentful-paint","title":"First Contentful Paint","description":"First Contentful Paint marks the time at which the first text or image is painted. Learn more.","score":1,"scoreDisplayMode":"numeric","displayValue":"0.3 s","numericValue":334,"numericUnit":"millisecond"},"render-blocking-resources":{"id":"render-blocking-resources","title":"Eliminate render-blocking resources","description":"Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"},"mainthread-work-breakdown":{"id":"mainthread-work-breakdown","title":"Minimizes main-thread work","description":"Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn more","score":1,"scoreDisplayMode":"numeric","displayValue":"0.2 s","numericValue":237.85200000000015,"numericUnit":"millisecond"},"unused-css-rules":{"id":"unused-css-rules","title":"Reduce unused CSS","description":"Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. Learn more.","score":1,"scoreDisplayMode":"numeric","numericValue":0,"numericUnit":"millisecond"}},"categories":{"performance":{"id":"performance","title":"Performance","score":0.99}}}]