Tested 2026-01-30 06:23:08 using Chrome 144.0.7559.59 (runtime settings).
| Metric | Value |
|---|---|
| Page metrics | |
| Performance score | 58 |
| Total page size | 11.0 MB |
| Requests | 363 |
| Timing metrics | |
| TTFB | 429 ms |
| First Paint | 1.076 s |
| Fully Loaded | 5.947 s |
| Google Web Vitals | |
| TTFB | 429 ms |
| First Contentful Paint (FCP) | 1.076 s |
| Largest Contentful Paint (LCP) | 1.412 s |
| Cumulative Layout Shift (CLS) | 0.01 |
| 200 ms | |
| Total Blocking Time | 1.008 s |
| Max Potential FID | 363 ms |
| CPU metrics | |
| CPU long tasks | 12 |
| CPU last long task happens at | 5.344 s |
| Visual Metrics | |
| First Visual Change | 1.101 s |
| Speed Index | 2.652 s |
| Visual Complete 85% | 3.471 s |
| Visual Complete 99% | 3.504 s |
| Last Visual Change | 5.606 s |
Use--filmstrip.showAll to show all filmstrips.
The coach helps you find performance problems on your web page using web performance best practice rules. And gives you advice on privacy and best practices. Tested using Coach-core version 8.1.3.
| Title | Advice | Score |
|---|---|---|
| Declare the language code for your document (language) | The page is missing a language definition in the HTML tag. Define it with <html lang="YOUR_LANGUAGE_CODE"> | 0 |
| Description: According to the W3C recommendation you should declare the primary language for each Web page with the lang attribute inside the <html> tag https://www.w3.org/International/questions/qa-html-language-declarations#basics. | ||
| Do not send too long headers (longHeaders) | https://yandex.ru/ma...ru/map-widget/v1/ has a header content-security-policy that is 2077 characters long. https://yandex.ru/ma...ru/map-widget/v1/ has a header set-cookie that is 1051 characters long. https://mc.yandex.ru...yandex.ru/watch/3 has a header location that is 799 characters long. https://mc.yandex.ru...yandex.ru/watch/3 has a header location that is 718 characters long. https://mc.yandex.ru...ndex.ru/watch/3/1 has a header location that is 718 characters long. https://mc.yandex.ru...ndex.ru/watch/3/1 has a header location that is 799 characters long. | 94 |
| Description: Do not send response headers that are too long. | ||
| Offenders: | ||
| Avoid too many third party requests (thirdParty) | The page do 16% requests to third party domains (58 requests and 1.5 MB). First party is 305 requests and 10 MB. The regex .*23devs.* was used to calculate first/third party requests. | 50 |
| Description: Do not load most of your content from third party URLs. | ||
| Avoid unnecessary headers (unnecessaryHeaders) | There are 49 responses that sets both a max-age and expires header. There are 6 responses that sets a pragma no-cache header (that is a request header). There are 346 responses that sets a server header. | 0 |
| Description: Do not send headers that you don't need. We look for p3p, cache-control and max-age, pragma, server and x-frame-options headers. Have a look at Andrew Betts - Headers for Hackers talk as a guide https://www.youtube.com/watch?v=k92ZbrY815c or read https://www.fastly.com/blog/headers-we-dont-want. | ||
| Offenders: | ||
| Title | Advice | Score |
|---|---|---|
| Use a good Content-Security-Policy header to make sure you you avoid Cross Site Scripting (XSS) attacks. (contentSecurityPolicyHeader) | Set a Content-Security-Policy header to make sure you are not open for Cross Site Scripting (XSS) attacks. You can start with setting a Content-Security-Policy-Report-Only header, that will only report the violation, not stop the download. | 0 |
| Description: Content Security Policy is delivered via a HTTP response header, and defines approved sources of content that the browser may load. It can be an effective countermeasure to Cross Site Scripting (XSS) attacks and is also widely supported and usually easily deployed. https://scotthelme.co.uk/content-security-policy-an-introduction/. | ||
| Offenders: | ||
| Avoid using Google reCAPTCHA (googleReCaptcha) | You share your user data with Google since you use Google reCAPTCHA. | 0 |
| Description: You should avoid using Google reCAPTCHA since it will share your users information with Google. | ||
| Offenders: | ||
| Set a referrer-policy header to make sure you do not leak user information. (referrerPolicyHeader) | Set a referrer-policy header to make sure you do not leak user information. | 0 |
| Description: Referrer Policy is a new header that allows a site to control how much information the browser includes with navigations away from a document and should be set by all sites. https://scotthelme.co.uk/a-new-security-header-referrer-policy/. | ||
| Offenders: | ||
| Avoid third party cookies that is used to track the user. (thirdPartyCookies) | The page sets 6 third party cookies. | 0 |
| Description: Third party cookies are used to track the user. They are automatically blocked in Safari and Firefox. | ||
| Offenders: | ||
| Do not share user data with third parties. (thirdPartyPrivacy) | The page has 8% requests that are 3rd party (28 requests with a size of 1.2 MB). The page also have request to companies that harvest data from users and do not respect users privacy (see https://en.wikipedia.org/wiki/Surveillance_capitalism). The page do 7 survelliance requests and uses 3 survelliance tools. The page do 8 analytics requests and uses 1 analytics tool. The page do 1 utility request and uses 1 utility tool. | 0 |
| Description: Using third party requests shares user information with that third party. Please avoid that! The project https://github.com/patrickhulce/third-party-web is used to categorize first/third party requests. | ||
| Offenders: | ||
| Page info | |
|---|---|
| Title | dip | Контактная информация |
| Width | 1350 |
| Height | 2180 |
| DOM elements | 972 |
| Avg DOM depth | 11 |
| Max DOM depth | 17 |
| Iframes | 1 |
| Script tags | 8 |
| Local storage | 0 b |
| Session storage | 0 b |
| Network Information API | 4g |
Data collected using Wappalyzer version 6.10.54. With updated code from Webappanalyzer 2024-12-27. Use --browsertime.firefox.includeResponseBodies htmlor --browsertime.chrome.includeResponseBodies htmlto help Wappalyzer find more information about technologies used.
| Technology | Confidence | Category |
|---|---|---|
| Node.js | 100 | Programming languages |
| Nginx | 100 | Web servers Reverse proxies |
| OpenResty | 100 | Web servers |
| Express | 100 | Web frameworks Web servers |
| reCAPTCHA | 100 | Security |
| HSTS | 100 | Security |
| HTTP/3 | 100 | Miscellaneous |
Data collected using Third Party Web 0.26.2
| Cdn |
|---|
| Google Fonts |
| Yandex CDN |
| Google CDN |
| Survelliance |
| Google Fonts |
| Other Google APIs/SDKs |
| Google CDN |
| Analytics |
| Yandex Metrica |
| Utility |
| Other Google APIs/SDKs |
| Visual Metrics | |
|---|---|
| First Visual Change | 1.101 s |
| Speed Index | 2.652 s |
| Visual Complete 85% | 3.471 s |
| Visual Complete 95% | 3.471 s |
| Visual Complete 99% | 3.504 s |
| Last Visual Change | 5.606 s |
| Visual Readiness | 4.505 s |
| Navigation Timing | |
|---|---|
| backEndTime | 429 ms |
| domContentLoadedTime | 4.311 s |
| domInteractiveTime | 1.748 s |
| domainLookupTime | 0 ms |
| frontEndTime | 3.731 s |
| pageDownloadTime | 193 ms |
| pageLoadTime | 4.352 s |
| redirectionTime | 0 ms |
| serverConnectionTime | 104 ms |
| serverResponseTime | 504 ms |
| Google Web Vitals | |
|---|---|
| Time to first byte (TTFB) | 429 ms |
| First Contentful Paint (FCP) | 1.076 s |
| Largest Contentful Paint (LCP) | 1.412 s |
| Cumulative Layout Shift (CLS) | 0.01 |
| Interaction to next paint (INP) | 200 ms |
| Total Blocking Time (TBT) | 1.008 s |
| Extra timings | |
|---|---|
| TTFB | 429 ms |
| First Paint | 1.076 s |
| Load Event End | 4.352 s |
| Fully loaded | 5.947 s |
When in time the page main content is rendered (collected using the Largest Contentful Paint API). Read more about Largest Contentful Paint.
| Element type | H1 |
| Element/tag | <h1 class="h1 mb-6 mb-lg-6" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:15:21" data-v-e3ac7130=""></h1> |
| Render time | 1.412 s |
| Element render delay | 983 ms |
| TTFB | 429 ms |
| Resource delay | 0 ms |
| Resource load duration | 0 ms |
| Load time | 0 ms |
| Size (width*height) | 11288 |
| DOM path | |
| div#__nuxt > div > main > section:eq(1) > div > div > h1> div#__nuxt > div > main > section:eq(1) > div > div > h1> | |
0.00672 cumulative layout shift collected from the Cumulative Layout Shift API.
These HTML elements contribute most to the Cumulative Layout Shifts of the page. The higher score, the more layout shift.
| Score | HTML Element |
|---|---|
| 0.00347 | <input type="text" style="background-color: #E8F0F2 !important" name="search" placeholder="Например, транзистор" data-v-inspector="layouts/layout.vue:518:29" data-v-3afa5501="">,<div class="d-flex mbt-12 justify-content-between contact-table" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:46:21" data-v-e3ac7130=""></div>,<div class="d-flex mbt-12 justify-content-between contact-table" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:38:21" data-v-e3ac7130=""></div>,<div class="d-flex mbt-12 justify-content-between contact-table" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:42:21" data-v-e3ac7130=""></div>,<p class="h3 mb-24" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:37:21" data-v-e3ac7130=""></p> |
| body > div#__nuxt > div > header > div > div > div:eq(1) > div:eq(1) > form > input,body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(5),body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(3),body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(4),body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > p:eq(1) | |
| 0.00324 | <div class="d-flex mbt-12 justify-content-between contact-table" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:38:21" data-v-e3ac7130=""></div>,<div class="d-flex mbt-12 justify-content-between contact-table" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:42:21" data-v-e3ac7130=""></div>,<div class="d-flex mb-42" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:33:21" data-v-e3ac7130=""></div>,<div class="d-flex mb-42 justify-content-between contact-table" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:50:21" data-v-e3ac7130=""></div>,<div class="d-flex mbt-12 justify-content-between contact-table" data-v-inspector="pages/page/kontaktnaya-informaciya.vue:46:21" data-v-e3ac7130=""></div> |
| body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(3),body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(4),body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(2),body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(6),body > div#__nuxt > div > main > section:eq(2) > div > div:eq(0) > div:eq(5) | |

The elements that have shifted place is highlighted in the image (that have a higher value than 0.01). If the element shifted outside of the viewport, you will not see it there. It can be hard to understand what content that has shifted, if that's the case, checkout the video or the filmstrip of the run.
Interaction to Next Paint (INP) is a metric that try to measure responsiveness. It's useful if you are testing user journeys. Read more about Interaction to Next Paint.
The measured latency was 200 ms.
| Event type | pointerenter |
| Element type | |
| Element class name | |
| Event target | |
| Load state when the event happened | loading |
Read more about the Long Animation Frames API here here.
The top 10 longest animation frames entries
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 365.7 ms | 367.3 ms | 52.3 ms | 51.7 ms | 0.6 ms |
| No availible script information. | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 172.2 ms | 214.4 ms | 8.2 ms | 7.9 ms | 0.3 ms |
| https://frontdipru.23devs.ru/_nuxt/@id/virtual:nuxt:/home/node/app/.nuxt/layouts.mjs | ||||
Forced Style And Layout Duration: 10 ms Invoker: import.then | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 127.9 ms | 177.5 ms | 0.5 ms | 0.1 ms | 0.4 ms |
| https://www.gstatic.com/recaptcha/releases/N67nZn4AqZkNcbeMu4prBgzg/recaptcha__en.js | ||||
Invoker: https://www.gstatic.com/recaptcha/releases/N67nZn4AqZkNcbeMu4prBgzg/recaptcha__en.js | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 120.7 ms | 179.8 ms | 0.5 ms | 0 ms | 0.5 ms |
| No availible script information. | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 104.5 ms | 159.2 ms | 0.5 ms | 0.5 ms | 0 ms |
| No availible script information. | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 95.7 ms | 12.6 ms | 133.5 ms | 133.4 ms | 0.1 ms |
| No availible script information. | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 44.7 ms | 102.6 ms | 2 ms | 2 ms | 0 ms |
| https://frontdipru.23devs.ru/_nuxt/home/node/app/node_modules/nuxt/dist/app/entry.js | ||||
Invoker: https://frontdipru.23devs.ru/_nuxt/home/node/app/node_modules/nuxt/dist/app/entry.js | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 38.5 ms | 110.7 ms | 14.1 ms | 13.1 ms | 1 ms |
| No availible script information. | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 22 ms | 68.8 ms | 3.5 ms | 3.2 ms | 0.3 ms |
| https://frontdipru.23devs.ru/_nuxt/node_modules/@nuxt/devtools/dist/runtime/plugins/devtools.client.js?v=db6d7160 | ||||
Forced Style And Layout Duration: 9 ms Invoker: import.then | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 21.1 ms | 135.9 ms | 39.8 ms | 39.7 ms | 0.1 ms |
| No availible script information. | ||||
There are no Server Timings.
There are no custom configured scripts.
There are no custom extra metrics from scripting.
| name | value |
|---|---|
| AudioHandlers | 0 |
| AudioWorkletProcessors | 0 |
| Documents | 28 |
| Frames | 28 |
| JSEventListeners | 918 |
| LayoutObjects | 996 |
| MediaKeySessions | 0 |
| MediaKeys | 0 |
| Nodes | 2209 |
| Resources | 225 |
| ContextLifecycleStateObservers | 45 |
| V8PerContextDatas | 11 |
| WorkerGlobalScopes | 0 |
| UACSSResources | 0 |
| RTCPeerConnections | 0 |
| ResourceFetchers | 28 |
| AdSubframes | 0 |
| DetachedScriptStates | 2 |
| ArrayBufferContents | 2 |
| LayoutCount | 100 |
| RecalcStyleCount | 138 |
| LayoutDuration | 211 |
| RecalcStyleDuration | 91 |
| DevToolsCommandDuration | 24 |
| ScriptDuration | 1158 |
| V8CompileDuration | 3 |
| TaskDuration | 4613 |
| TaskOtherDuration | 3127 |
| ThreadTime | 3 |
| ProcessTime | 5 |
| JSHeapUsedSize | 26296372 |
| JSHeapTotalSize | 44675072 |
| FirstMeaningfulPaint | 1076 |
How the page is built.
| Summary | |
|---|---|
| HTTP version | HTTP/2.0 |
| Total requests | 363 |
| Total domains | 11 |
| Total transfer size | 11.0 MB |
| Total content size | 13.7 MB |
| Responses missing compression | 184 |
| Number of cookies | 14 |
| Third party cookies | 6 |
| Requests per response code | |
|---|---|
| 200 | 359 |
| 204 | 1 |
| 302 | 2 |
| 403 | 1 |
| URL | Type | Transfer Size | Content Size |
|---|---|---|---|
| https://frontdipru.2...kit/dist/index.js | javascript | 1.7 MB | 1.7 MB |
| https://frontdipru.2...re.esm-bundler.js | javascript | 802.9 KB | 801.8 KB |
| https://frontdipru.2...h3/dist/index.mjs | javascript | 389.0 KB | 388.3 KB |
| https://frontdipru.2...st/vue-router.mjs | javascript | 372.2 KB | 371.6 KB |
| https://www.gstatic..../recaptcha__en.js | javascript | 356.8 KB | 839.2 KB |
| https://frontdipru.2...tnaya-informaciya | html | 342.9 KB | 1.4 MB |
| https://frontdipru.2.../css/main.min.css | css | 307.7 KB | 307.1 KB |
| https://frontdipru.2...chunk-MOROBBDL.js | javascript | 282.1 KB | 281.6 KB |
| https://frontdipru.2...ayouts/layout.vue | javascript | 269.2 KB | 268.7 KB |
| https://frontdipru.2...om.esm-bundler.js | javascript | 183.7 KB | 183.3 KB |
| https://frontdipru.2...ty.esm-bundler.js | javascript | 166.8 KB | 166.4 KB |
| https://maps.yastati...e389.yandex.ru.js | javascript | 162.3 KB | 522.3 KB |
| https://frontdipru.2...ad/dist/index.mjs | javascript | 134.9 KB | 134.6 KB |
| https://frontdipru.2...nuxt/@vite/client | javascript | 134.7 KB | 134.3 KB |
| https://frontdipru.2...es/page/about.vue | javascript | 133.7 KB | 133.4 KB |
| https://frontdipru.2...ed/dist/index.mjs | javascript | 131.5 KB | 131.2 KB |
| https://maps.yastati...1697.yandex.ru.js | javascript | 128.9 KB | 488.8 KB |
| https://frontdipru.2...sh/dist/index.mjs | javascript | 121.8 KB | 121.5 KB |
| https://frontdipru.2...t/pages/index.vue | javascript | 117.7 KB | 117.4 KB |
| https://frontdipru.2...ents/nuxt-link.js | javascript | 115.7 KB | 115.4 KB |
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 386.0 KB | 1.5 MB | 2 |
| css | 0 b | 761.7 KB | 765.2 KB | 26 |
| javascript | 0 b | 9.0 MB | 10.6 MB | 263 |
| image | 6.2 KB | 256.3 KB | 253.8 KB | 31 |
| font | 0 b | 547.5 KB | 543.6 KB | 12 |
| svg | 0 b | 37.5 KB | 33.1 KB | 20 |
| json | 0 b | 3.9 KB | 2.3 KB | 5 |
| other | 0 b | 0 b | 0 b | 1 |
| Total | 6.2 KB | 11.0 MB | 13.7 MB | 360 |
| Domain | Total download time | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| frontdipru.23devs.ru | 87.202 s | 9.5 MB | 10.5 MB | 303 |
| fonts.googleapis.com | 140 ms | 1.4 KB | 9.0 KB | 1 |
| static.dip.ru | 2.322 s | 125.4 KB | 125.4 KB | 21 |
| yandex.ru | 131 ms | 43.2 KB | 179.2 KB | 1 |
| fonts.gstatic.com | 511 ms | 174.5 KB | 174.3 KB | 4 |
| maps.yastatic.net | 909 ms | 637.2 KB | 1.7 MB | 13 |
| mc.yandex.ru | 404 ms | 42.9 KB | 111.3 KB | 8 |
| core-renderer-tiles.maps.yandex.ru | 633 ms | 126.0 KB | 124.2 KB | 8 |
| apidipru.23devs.ru | 341 ms | 255 B | 96 B | 2 |
| www.google.com | 69 ms | 1.0 KB | 1.6 KB | 1 |
| www.gstatic.com | 215 ms | 356.8 KB | 839.2 KB | 1 |
| type | min | median | max |
|---|---|---|---|
| Expires | 0 seconds | 0 seconds | 1 year |
| Last modified | 36 seconds | 5 weeks | 6 years |
Included requests done after load event end.
| Content | Transfer Size | Requests |
|---|---|---|
| html | 0 b | 0 |
| css | 0 b | 0 |
| javascript | 1.9 MB | 68 |
| image | 4.4 KB | 1 |
| font | 0 b | 0 |
| other | 0 b | 1 |
| json | 334 B | 1 |
| Total | 1.9 MB | 72 |
Includes requests done after DOM content loaded.
| Content | Transfer Size | Requests |
|---|---|---|
| html | 0 b | 0 |
| css | 0 b | 0 |
| javascript | 1.9 MB | 68 |
| image | 4.4 KB | 1 |
| font | 0 b | 0 |
| other | 0 b | 1 |
| json | 334 B | 1 |
| Total | 1.9 MB | 72 |
Third party requests categorised by Third party web version 0.26.2.
| Category | Requests |
|---|---|
| cdn | 19 |
| survelliance | 7 |
| analytics | 8 |
| utility | 1 |
| Category | Number of tools |
|---|---|
| cdn | 3 |
| survelliance | 3 |
| analytics | 1 |
| utility | 1 |
| cdn (19 requests) |
| Google Fonts |
| Yandex CDN |
| Google CDN |
|
| survelliance (7 requests) |
| Google Fonts |
| Other Google APIs/SDKs |
| Google CDN |
|
| analytics (8 requests) |
| Yandex Metrica |
|
| utility (1 requests) |
| Other Google APIs/SDKs |
|
Here's a list of domains that didn't match any tool in Third party web. If you are sure they are third party domains, please do a PR to that project. You can also fine tune the list using --firstParty.
| static.dip.ru |
| yandex.ru |
| core-renderer-tiles.maps.yandex.ru |
| Cookie name | Domain |
|---|---|
| is_gdpr | .yandex.ru |
| bh | .yandex.ru |
| yabs-sid | .yandex.ru |
| receive-cookie-deprecation | .yandex.ru |
Calculated using .*23devs.* (use --firstParty to configure).
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 342.9 KB | 1.4 MB | 1 |
| css | 0 b | 759.1 KB | 754.1 KB | 24 |
| javascript | 0 b | 8.2 MB | 8.2 MB | 255 |
| image | 0 b | 4.4 KB | 4.2 KB | 1 |
| font | 0 b | 184.9 KB | 183.9 KB | 4 |
| svg | 0 b | 34.7 KB | 31.4 KB | 17 |
| other | 0 b | 0 b | 0 b | 1 |
| json | 0 b | 334 B | 106 B | 1 |
| Total | N/A | 9.5 MB | 10.5 MB | 305 |
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 43.2 KB | 179.2 KB | 1 |
| css | 0 b | 2.6 KB | 11.1 KB | 2 |
| javascript | 0 b | 841.7 KB | 2.4 MB | 8 |
| image | 6.2 KB | 251.9 KB | 249.6 KB | 30 |
| font | 0 b | 362.5 KB | 359.7 KB | 8 |
| json | 0 b | 3.6 KB | 2.2 KB | 4 |
| svg | 0 b | 2.8 KB | 1.7 KB | 3 |
| Total | 6.2 KB | 1.5 MB | 3.2 MB | 58 |

afterPageCompleteCheck.png

layoutShift.png

largestContentfulPaint.png