Run 1 summary

https://stage.sokolov.ru

Tested 2025-01-14 02:12:16 using Chrome 131.0.6778.85 (runtime settings).

SummaryWaterfall MetricsFilmstrip CoachPageXrayCPU Third partyScreenshotsaxe

Summary

MetricValue
Page metrics
Performance score84
Total page size244.0 KB
Requests9
Timing metrics
TTFB537 ms
First Paint131.359 s
Fully Loaded146.380 s
Google Web Vitals
TTFB537 ms
First Contentful Paint (FCP) 131.359 s
Largest Contentful Paint (LCP) 131.359 s
Cumulative Layout Shift (CLS) 0.00
Visual Metrics
First Visual Change131.367 s
Speed Index135.426 s
Visual Complete 85%146.401 s
Visual Complete 99%146.401 s
Last Visual Change146.401 s
Screenshot
| Waterfall | | Download HAR | 

Waterfall

| Filmstrip | 

Filmstrip

Use--filmstrip.showAll to show all filmstrips.

0 s
131.4 sFirst Contentful Paint 131.359 sLCP <DIV> 131.359 sFirst Visual Change 131.367 s
146.4 sFully Loaded 146.380 s
146.5 sLast Visual Change 146.401 sVisual Complete 85% 146.401 sVisual Complete 95% 146.401 sVisual Complete 99% 146.401 s
| Performance advice | Best practice advice | Privacy advice | Page info | Technologies | 

Coach

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.1.

I am the coach

Coach score

Performance advice (84)

TitleAdviceScore
Have a fast first contentful paint (firstContentfulPaint)First contentful paint is poor (131.359 s). It is in the Google Web Vitals poor range, slower than 3 seconds.0
Description: The First Contentful Paint (FCP) metric measures the time from when the page starts loading to when any part of the page content is rendered on the screen. For this metric, "content" refers to text, images (including background images), <svg> elements, or non-white <canvas> elements.
Inline CSS for faster first render (inlineCss)The page has both inline styles as well as it is requesting 4 CSS files inside of the head. Let's only inline CSS for really fast render.90
Description: In the early days of the Internet, inlining CSS was one of the ugliest things you can do. That has changed if you want your page to start rendering fast for your user. Always inline the critical CSS when you use HTTP/1 and HTTP/2 (avoid doing CSS requests that block rendering) and lazy load and cache the rest of the CSS. It is a little more complicated when using HTTP/2. Does your server support HTTP push? Then maybe that can help. Do you have a lot of users on a slow connection and are serving large chunks of HTML? Then it could be better to use the inline technique, becasue some servers always prioritize HTML content over CSS so the user needs to download the HTML first, before the CSS is downloaded.
Offenders:
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/3f6ad93839fbb9c1.css
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/a75fe8ded042cbfd.css
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/7e6914a619aaaccf.css
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/9fc324d068f8ae82.css
  • Have a fast largest contentful paint (largestContentfulPaint)Largest contentful paint is poor 131.359 s. It is in the Google Web Vitals poor range, slower than 4.5 seconds.0
    Description: Largest contentful paint is one of Google Web Vitals and reports the render time of the largest image or text block visible within the viewport, relative to when the page first started loading. To be fast according to Google, it needs to render before 2.5 seconds and results over 4 seconds is poor performance.
    Offenders:
  • <div class="AppLinksCard_apps-card__apps__AEZJo"></div>
  • Avoid Frontend single point of failures (spof)The page has 4 requests inside of the head that can cause a SPOF (single point of failure). Load them asynchronously or move them outside of the document head.90
    Description: A page can be stopped from loading in the browser if a single JavaScript, CSS, and in some cases a font, couldn't be fetched or is loading really slowly (the white screen of death). That is a scenario you really want to avoid. Never load 3rd-party components synchronously inside of the head tag.
    Offenders:
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/3f6ad93839fbb9c1.css
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/a75fe8ded042cbfd.css
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/7e6914a619aaaccf.css
  • https://frontend-stage-static.k8s.dev.sokolov.io/_next/static/css/9fc324d068f8ae82.css
  • Avoid extra requests by setting cache headers (cacheHeaders)The page has 4 requests that are missing a cache time. Configure a cache time so the browser doesn't need to download them every time. It will save 26.9 kB the next access.60
    Description: The easiest way to make your page fast is to avoid doing requests to the server. Setting a cache header on your server response will tell the browser that it doesn't need to download the asset again during the configured cache time! Always try to set a cache time if the content doesn't change for every request.
    Offenders:
  • https://stage.sokolov.ru/spa-images/footer/app-store-badge.svg
  • https://stage.sokolov.ru/spa-images/footer/google-play-badge.svg
  • https://stage.sokolov.ru/spa-images/footer/app-gallery-badge.svg
  • https://stage.sokolov.ru/spa-images/footer/rustore-badge.svg
  • Avoid too many fonts (fewFonts)The page has 4 font requests. Do you really need them? What value does the fonts give the user?60
    Description: How many fonts do you need on a page for the user to get the message? Fonts can slow down the rendering of content, try to avoid loading too many of them because worst case it can make the text invisible until they are loaded (FOIT—flash of invisible text), best case they will flicker the text content when they arrive.
    Offenders:
  • https://cdn.sokolov.ru/fonts/montserrat/bold.woff2
  • https://cdn.sokolov.ru/fonts/montserrat/regular.woff2
  • https://cdn.sokolov.ru/fonts/montserrat/medium.woff2
  • https://cdn.sokolov.ru/fonts/montserrat/semibold.woff2
  • Don't use private headers on static content (privateAssets)The page has 1 request with private headers. Make sure that the assets really should be private and only used by one user. Otherwise, make it cacheable for everyone.90
    Description: If you set private headers on content, that means that the content are specific for that user. Static content should be able to be cached and used by everyone. Avoid setting the cache header to private.
    Offenders:
  • https://stage.sokolov.ru/
  • Best practice advice (100)

    Your best practice score is perfect!

    Privacy advice (86)

    TitleAdviceScore
    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:
  • https://stage.sokolov.ru/
  • 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:
  • https://stage.sokolov.ru/
  • Set a strict transport header to make sure the user always use HTTPS. (strictTransportSecurityHeader)A strict transport header is set but miss out on setting includeSubDomainsThe max age is lower than six months. Increase it to get a better score.70
    Description: The HTTP Strict-Transport-Security response header (often abbreviated as HSTS) lets a web site tell browsers that it should only be accessed using HTTPS, instead of using HTTP. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security.

    Page info

    Page info
    TitleЮвелирная компания SOKOLOV. Официальный интернет магазин
    Width1904
    Height2197
    DOM elements525
    Avg DOM depth10
    Max DOM depth15
    Iframes0
    Script tags16
    Local storage0 b
    Session storage0 b
    Network Information API4g
    Resource Hints
    dns-prefetch
    http://cdn.diginetica.net/
    preconnect
    http://autocomplete.diginetica.net/
    https://static.criteo.net/
    https://cm.g.doubleclick.net/
    https://ad.mail.ru/
    https://googleads.g.doubleclick.net/
    https://www.googletagmanager.com/
    https://www.google-analytics.com/
    https://api.mindbox.ru/
    https://api.flocktory.com/
    https://demo4.paasweb.co.il/

    Technologies used to build the page.

    Data collected using Wappalyzer version 6.10.66. 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.

    TechnologyConfidenceCategory
    Nginx 100  Web servers Reverse proxies
    HSTS 100  Security
    | Browser metrics | Visual Metrics | Largest Contentful Paint | Cumulative Layout Shift | Long Aninimation Frames | Metrics from CDP | 

    Visual Metrics

    Browser Metrics

    Google Web Vitals
    Time to first byte (TTFB)537 ms
    First Contentful Paint (FCP)131.359 s
    Largest Contentful Paint (LCP)131.359 s
    Total Blocking Time (TBT)0 ms
    First Contentful Paint info
    Elements that needed recalculate style before FCP490
    Time spent in recalculate style before FCP6.609 ms
    Extra timings
    TTFB537 ms
    First Paint131.359 s
    Load Event End393.457 s
    Fully loaded146.380 s

    Largest Contentful Paint

    When in time the page main content is rendered (collected using the Largest Contentful Paint API). Read more about Largest Contentful Paint.

    Element typeDIV
    Element/tag<div class="AppLinksCard_apps-card__apps__AEZJo"></div>
    Render time 131.359 s
    Elements that needed recalculate style before LCP490
    Time spent in recalculate style before LCP6.609 ms
    Load time0 ms
    Size (width*height)13932
    DOM path
    div#__next > div#catalog > div > footer > div:eq(0) > div:eq(0) > div:eq(1)> div#__next > div#catalog > div > footer > div:eq(0) > div:eq(0) > div:eq(1)>
    LCP

    The largest contentful paint is highlighted in the image. If no element is highlighted the element was removed before the screenshot or the LCP API couldn't find the element.

    Detected Cumulative Layout Shift

    No layout shift detected.

    Long Animation Frames

    Read more about the Long Animation Frames API here here.

    The top 10 longest animation frames entries

    Blocking duration Work durationRender durationPreLayout DurationStyle And Layout Duration
    0 ms130.776 s22.1 ms0 ms22.1 ms
    No availible script information.

    Server timings

    There are no Server Timings.

    Custom metrics collected through JavaScript

    There are no custom configured scripts.

    Extra metrics collected using scripting

    There are no custom extra metrics from scripting.

    CDP Performance

    namevalue
    AudioHandlers0
    AudioWorkletProcessors0
    Documents9
    Frames5
    JSEventListeners0
    LayoutObjects679
    MediaKeySessions0
    MediaKeys0
    Nodes746
    Resources28
    ContextLifecycleStateObservers15
    V8PerContextDatas1
    WorkerGlobalScopes0
    UACSSResources0
    RTCPeerConnections0
    ResourceFetchers9
    AdSubframes0
    DetachedScriptStates0
    ArrayBufferContents0
    LayoutCount4
    RecalcStyleCount3
    LayoutDuration11
    RecalcStyleDuration7
    DevToolsCommandDuration168
    ScriptDuration1
    V8CompileDuration0
    TaskDuration308
    TaskOtherDuration121
    ThreadTime0
    ProcessTime1
    JSHeapUsedSize1616068
    JSHeapTotalSize2772992
    FirstMeaningfulPaint131359
    | Summary  | Largest responses  | Requests and sizes per content type  | Data per domain | Expires and last modified statistics  | Render blocking requests  | 

    PageXray

    How the page is built.

    Summary
    HTTP versionHTTP/1.1
    Total requests9
    Total domains2
    Total transfer size244.0 KB
    Total content size327.9 KB
    Responses missing compression5
    Number of cookies1
    Third party cookies0
    Requests per response code
    2009

    Largest assets on the page (by transfer size)

    Requests and sizes per content type

    ContentHeader SizeTransfer SizeContent SizeRequests
    html622 B9.5 KB54.0 KB1
    font0 b208.2 KB206.8 KB4
    svg2.4 KB26.2 KB67.2 KB4
    Total3.0 KB244.0 KB327.9 KB9

    Data per domain

    DomainTotal download timeTransfer SizeContent SizeRequests
    stage.sokolov.ru701 ms35.8 KB121.2 KB5
    cdn.sokolov.ru496 ms208.2 KB206.8 KB4

    Expires and last modified statistics

    typeminmedianmax
    Expires0 seconds0 seconds1 year
    Last modified20 hours6 weeks12 weeks

    Render blocking requests

    Render blocking information directly from Chrome.

    BlockingIn body parser blockingPotentially blocking
    000

    Render information

    CPU Long Tasks | CPU Time Spent | CPU Time Per Tool/Domain | 

    CPU

    Download the Chrome trace log and drag and drop it into Developer Tools / Performance in Chrome.

    Long Tasks

    Collected using the Long Task API. A long task is a task that take 50 milliseconds or more.

    CPU time spent

    Calculated using Tracium.

    Categories (ms)
    parseHTML3
    styleLayout19
    paintCompositeRender6
    scriptParseCompile0
    scriptEvaluation35
    garbageCollection6
    other224
    Events (ms)
    RunTask209
    RunMicrotasks34
    Layout12
    | First vs third | 

    Third party

    Third party requests categorised by Third party web version 0.26.2.

    First party requests and sizes per content type

    Calculated using .*sokolov.* (use --firstParty to configure).

    ContentHeader SizeTransfer SizeContent SizeRequests
    html622 B9.5 KB54.0 KB1
    css0 b0 b0 b0
    javascript0 b0 b0 b0
    image0 b0 b0 b0
    font0 b208.2 KB206.8 KB4
    svg2.4 KB26.2 KB67.2 KB4
    Total3.0 KB244.0 KB327.9 KB9

    Third party requests and sizes per content type

    ContentHeader SizeTransfer SizeContent SizeRequests
    html0 b0 b0 b0
    css0 b0 b0 b0
    javascript0 b0 b0 b0
    image0 b0 b0 b0
    font0 b0 b0 b0
    TotalN/AN/AN/A
    afterPageCompleteCheck.png | layoutShift.png | largestContentfulPaint.png | 

    Screenshots

    afterPageCompleteCheck.png

    afterPageCompleteCheck.png

    layoutShift.png

    layoutShift.png

    largestContentfulPaint.png

    largestContentfulPaint.png

    Axe

    Axe is an accessibility testing engine for websites and other HTML-based user interfaces. Tested using axe-core version 4.10.2. Read more about axe-core .

    Violations

    critical
    Buttons must have discernible text (cat.name-role-value,wcag2a,wcag412,section508,section508.22.a,TTv5,TT6.a,EN-301-549,EN-9.4.1.2,ACT) - button-nameEnsure buttons have discernible text
    Fix any of the following: Element does not have inner text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attribute Element does not have an implicit (wrapped) <label> Element does not have an explicit <label> Element's default semantics were not overridden with role="none" or role="presentation"
    • <button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button>
    • <button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button>
    • <button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button>
    • <button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button>
    • <button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button>
    • <button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button>
    minor
    Headings should not be empty (cat.name-role-value,best-practice) - empty-headingEnsure headings have discernible text
    Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attribute
    • <h2 class="Products_products_title__Prq1z"></h2>
    • <h2 class="Products_products_title__Prq1z"></h2>
    • <h2 class="Selection_selection-slider__title__fcGUR"></h2>
    • <h2 class="Products_products_title__Prq1z"></h2>
    • <h2 class="Products_products_title__Prq1z"></h2>
    • <h2 class="Products_products_title__Prq1z"></h2>
    • <h2 class="Products_products_title__Prq1z"></h2>
    • <h2 class="Products_products_title__Prq1z"></h2>
    serious
    Links must have discernible text (cat.name-role-value,wcag2a,wcag244,wcag412,section508,section508.22.a,TTv5,TT6.a,EN-301-549,EN-9.2.4.4,EN-9.4.1.2,ACT) - link-nameEnsure links have discernible text
    Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attribute
    • <a class="Products_products_link__AGRBV" style="color:#fff" href="/main/client/"><button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button></a>
    • <a class="Products_products_link__AGRBV" style="color:#fff" href="/main/client/"><button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button></a>
    • <a class="Products_products_link__AGRBV" style="color:#fff" href="/main/client/"><button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button></a>
    • <a class="Products_products_link__AGRBV" style="color:#fff" href="/main/client/"><button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button></a>
    • <a class="Products_products_link__AGRBV" style="color:#fff" href="/main/client/"><button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button></a>
    • <a class="Products_products_link__AGRBV" style="color:#fff" href="/main/client/"><button type="button" class="ButtonOld_button__4STTl ButtonOld_primary__ZqlEK ButtonOld_main__RQyRr ButtonOld_m__rPsi1" loading=""></button></a>
    critical
    Zooming and scaling must not be disabled (cat.sensory-and-visual-cues,wcag2aa,wcag144,EN-301-549,EN-9.1.4.4,ACT) - meta-viewportEnsure <meta name="viewport"> does not disable text scaling and zooming
    Fix any of the following: user-scalable=no on <meta> tag disables zooming on mobile devices
    • <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimal-ui, user-scalable=no">
    moderate
    Page should contain a level-one heading (cat.semantics,best-practice) - page-has-heading-oneEnsure that the page, or at least one of its frames contains a level-one heading
    Fix all of the following: Page must have a level-one heading
    • <html lang="ru" prefix="og: http://ogp.me/ns#" itemscope="" itemtype="http://schema.org/WebPage">