Run 1 summary

https://stage.sokolov.ru

Tested 2024-10-20 18:12:12 using Chrome 130.0.6723.58 (runtime settings).

SummaryWaterfall MetricsFilmstrip CoachPageXrayCPU Third partyScreenshotsaxe

Summary

MetricValue
Page metrics
Performance score84
Total page size242.7 KB
Requests9
Timing metrics
TTFB565 ms
First Paint131.160 s
Fully Loaded131.172 s
Google Web Vitals
TTFB565 ms
First Contentful Paint (FCP) 131.160 s
Largest Contentful Paint (LCP) 131.160 s
Cumulative Layout Shift (CLS) 0.00
Visual Metrics
First Visual Change131.167 s
Speed Index131.174 s
Visual Complete 85%131.201 s
Visual Complete 99%131.201 s
Last Visual Change131.201 s
Screenshot
| Waterfall | | Download HAR | 

Waterfall

| Filmstrip | 

Filmstrip

Use--filmstrip.showAll to show all filmstrips.

0 s
131.2 sFirst Contentful Paint 131.160 sLCP <DIV> 131.160 sFirst Visual Change 131.167 sFully Loaded 131.172 s
131.3 sLast Visual Change 131.201 sVisual Complete 85% 131.201 sVisual Complete 95% 131.201 sVisual Complete 99% 131.201 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.0.2.

I am the coach

Coach score

Performance advice (84)

TitleAdviceScore
Have a fast first contentful paint (firstContentfulPaint)First contentful paint is poor (131.160 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 1 CSS file 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/96fb30b8aa581b44.css
  • Have a fast largest contentful paint (largestContentfulPaint)Largest contentful paint is poor 131.160 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 1 request 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/96fb30b8aa581b44.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
    Height1929
    DOM elements303
    Avg DOM depth8
    Max DOM depth13
    Iframes0
    Script tags9
    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 Wappalyzerversion 6.10.66.  Use --browsertime.firefox.includeResponseBodies htmlor --browsertime.chrome.includeResponseBodies htmlto help Wappalyser 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)565 ms
    First Contentful Paint (FCP)131.160 s
    Largest Contentful Paint (LCP)131.160 s
    Total Blocking Time (TBT)0 ms
    First Contentful Paint info
    Elements that needed recalculate style before FCP281
    Time spent in recalculate style before FCP3.839 ms
    Extra timings
    TTFB565 ms
    First Paint131.160 s
    Load Event End262.197 s
    Fully loaded131.172 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.160 s
    Elements that needed recalculate style before LCP281
    Time spent in recalculate style before LCP3.839 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.561 s16.4 ms0.1 ms16.3 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
    LayoutObjects463
    MediaKeySessions0
    MediaKeys0
    Nodes523
    Resources18
    ContextLifecycleStateObservers10
    V8PerContextDatas1
    WorkerGlobalScopes0
    UACSSResources0
    RTCPeerConnections0
    ResourceFetchers9
    AdSubframes0
    DetachedScriptStates0
    ArrayBufferContents0
    LayoutCount4
    RecalcStyleCount3
    LayoutDuration10
    RecalcStyleDuration4
    DevToolsCommandDuration110
    ScriptDuration1
    V8CompileDuration0
    TaskDuration220
    TaskOtherDuration95
    ThreadTime0
    ProcessTime0
    JSHeapUsedSize1200644
    JSHeapTotalSize2772992
    FirstMeaningfulPaint131160
    | 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 size242.7 KB
    Total content size311.5 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
    html621 B8.2 KB37.6 KB1
    font0 b208.2 KB206.8 KB4
    svg2.4 KB26.3 KB67.2 KB4
    Total3.0 KB242.7 KB311.5 KB9

    Data per domain

    DomainTotal download timeTransfer SizeContent SizeRequests
    stage.sokolov.ru731 ms34.5 KB104.8 KB5
    cdn.sokolov.ru705 ms208.2 KB206.8 KB4

    Expires and last modified statistics

    typeminmedianmax
    Expires0 seconds0 seconds1 year
    Last modified2 days18 weeks35 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
    styleLayout15
    paintCompositeRender4
    scriptParseCompile0
    scriptEvaluation23
    garbageCollection7
    other152
    Events (ms)
    RunTask139
    RunMicrotasks22
    Layout10
    | First vs third | 

    Third party

    Third party requests categorised by Third party web version 0.24.0.

    First party requests and sizes per content type

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

    ContentHeader SizeTransfer SizeContent SizeRequests
    html621 B8.2 KB37.6 KB1
    css0 b0 b0 b0
    javascript0 b0 b0 b0
    image0 b0 b0 b0
    font0 b208.2 KB206.8 KB4
    svg2.4 KB26.3 KB67.2 KB4
    Total3.0 KB242.7 KB311.5 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.0. Read more about axe-core .

    Violations

    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">