Menu:

Save Test Results with a Free Account Sign Up & Save Test Result

Webpage Performance Test Result

Screenshot

Opportunities & Experiments New

WebPageTest helps identify opportunities to improve a site's experience. Select one or more No-Code Experiments below and submit to test their impact.

Is it Quick?

Not bad... This site was quick to connect and deliver initial code. It began rendering content very quickly. The largest contentful paint time was slower than ideal.

WebPageTest ran 11 diagnostic checks related to this category and found 6 opportunities.

  1. This test had a reasonably quick first-byte time.

    A fast time to first byte is essential for delivering assets quickly.

    • Zero render-blocking JavaScript files found.

      Great job. Fewer render-blocking requests mean the browser can visibly render content sooner.

      • Zero render-blocking CSS files found.

        Great job. Fewer render-blocking requests mean the browser can visibly render content sooner.

        • Largest Contentful Paint is high (over 2.5s).

          The element driving your LCP is a background image. Some optimizations can help that image fetch earlier.

          • LCP Image: https://pbs.twimg.com/semantic_core_img/1571782705104273408/ppDyG0ra?format=jpg&name=small

          Relevant Experiments

          • Preload LCP Image

            This experiment adds a <link rel="preload" as="image" href="https://pbs.twimg.com/semantic_core_img/1571782705104273408/ppDyG0ra?format=jpg&name=small"> to the head of your HTML document, causing browsers to request the image earlier and at a higher priority than it otherwise might.

            Assets included in experiment:
            1. https://pbs.twimg.com/semantic_core_img/1571782705104273408/ppDyG0ra?format=jpg&name=small
          • Zero render-critical images are lazy-loaded.

            When images are lazy-loaded using loading="lazy", they will be requested after the layout is established, which is too late for images in the critical window.

            • Images outside the critical viewport can be lazy-loaded.

              When images are lazy-loaded using loading="lazy", when they scroll into the viewport, freeing up early load for other tasks.

              • https://pbs.twimg.com/semantic_core_img/1571814037708496900/3LPhj0Q7?format=jpg&name=240x240
              • https://pbs.twimg.com/semantic_core_img/1180221652354777088/CnekYsKH?format=png&name=120x120
              • https://pbs.twimg.com/semantic_core_img/1180221490458816512/s5-aImTO?format=png&name=120x120
              • https://pbs.twimg.com/semantic_core_img/1516819707592003589/dQO0iYm7?format=png&name=120x120
              • https://pbs.twimg.com/semantic_core_img/1516817298585128961/91vyIvxL?format=png&name=120x120
              • https://pbs.twimg.com/profile_images/1295829554225795072/_Ph3zAnF_normal.jpg
              • https://pbs.twimg.com/media/FcvxW3laEAEAY_E?format=jpg&name=360x360
              • https://pbs.twimg.com/semantic_core_img/1139616749123358720/OWFSiKTU?format=jpg&name=240x240
              • https://pbs.twimg.com/semantic_core_img/1180218501723643904/39EpPri-?format=png&name=120x120
              • https://pbs.twimg.com/semantic_core_img/1180211978775584768/0SfMcDSd?format=png&name=120x120

              Relevant Experiments

              • Add loading="lazy" to images

                This experiment adds loading="lazy" attributes to images that are outside the viewport at load.

                Assets included in experiment:Select all Unselect all
              • Several fonts are loaded with settings that hide text while they are loading.

                When fonts are loaded with default display settings, like font-display="block", browsers will hide text entirely for several seconds instead of showing text with a fallback font.

                • TwitterChirp 400 normal
                • TwitterChirp 500 normal
                • TwitterChirp 700 normal
                • TwitterChirp 800 normal

                Relevant Experiments

              • 4 fonts are hosted on 3rd-party hosts

                Fonts on 3rd party domains may take longer to load due to DNS and connection steps that are not necessary when fonts are hosted on the same domain.

                • https://abs.twimg.com/fonts/v2/chirp-bold-web.woff
                • https://abs.twimg.com/fonts/v2/chirp-regular-web.woff
                • https://abs.twimg.com/fonts/v2/chirp-medium-web.woff
                • https://abs.twimg.com/fonts/v2/chirp-heavy-web.woff

                Relevant Experiments

                • Self-Host 3rd Party Files

                  This experiment will fetch specified files server-side and reference them on the same domain. Note: the overrides happen at the host level, so any requests from that host will now be self-hosted.

                  Assets included in experiment:
                  1. abs.twimg.com
                • Preconnect 3rd Party Hosts

                  This experiment will add a link with rel="preconnect" for specified hosts, which saves time for those steps when the resource is later requested.

                  Assets included in experiment:
                  1. abs.twimg.com
                • Preload 3rd Party Files

                  This experiment will add a link with rel="preload" for specified hosts, causing the browser to fetch the file early and at a high priority.

                  Assets included in experiment:
                • Make Fonts Timeout

                  This experiment directs specified hosts to WebPageTest's blackhole server, which will hang indefinitely until timing out. Use this experiment to test your site's ability to display fallback text if fonts do not load quickly.

                  Assets included in experiment:
                  1. abs.twimg.com
                • 1 resource is being preloaded, but is not used during page load.

                  Preloaded resources are fetched at a high priority, delaying the arrival of other resources in the page. In the case where a preloaded resource is never actually used by the page, that means potentially critical requests will be delayed, slowing down the initial loading of your site.

                  • /responsive-web/client-web/feature-switch-manifest.0ebfbbd9.js

                  Relevant Experiments

                  • Remove Unused Preloads

                    This experiment removes specified unused preloads from the page, allowing other critical resources to be requested earlier.

                    Assets included in experiment:
                    1. /responsive-web/client-web/feature-switch-manifest.0ebfbbd9.js
                  • Zero requests were found that resulted in an HTTP redirect.

                    HTTP redirects can result in additional DNS resolution, TCP connection and HTTPS negotiation times, making them very costly for performance, particularly on high latency networks.

                    • Final HTML (DOM) size is significantly larger than initially delivered HTML (74.83kb larger, or 38.14% of total HTML).

                      Typically this is due to over-reliance on JavaScript for generating content, but increases can also happen as a result of browsers normalizing HTML structure as well. When critical HTML content is generated with JavaScript in the browser, several performance bottlenecks can arise:

                      • Before content can be generated client-side, the browser must first parse, evaluate, and sometimes also request JavaScript over the network. These steps occur after the HTML is initially delivered, and can incur long delays depending on the device.
                      • If the generated HTML contains references to external assets (images for example), the browser will not be able to discover and request them as early as desired.

                      Relevant Experiments

                      • Mimic Pre-rendered HTML

                        This experiment mimics server-generated HTML by swapping the initial HTML with the fully rendered HTML from this test run. Note: this will very likely break site behavior, but is potentially useful for comparing early metrics and assessing whether moving logic to the server is worth the effort.

                        Assets included in experiment:
                        1. 220919_BiDc4Y_AE6

                      Is it Usable?

                      Needs Improvement. This site had minor layout shifts.It took a long time to become interactive. It had 3 accessibility issues, 2 critical. 38.14% of HTML was generated client-side, delaying usability.

                      WebPageTest ran 5 diagnostic checks related to this category and found 4 opportunities.

                      1. Layout shifts exist and may be caused by images missing aspect ratio.

                        The CLS score is 0.001. 5 layout-critical images are lacking an aspect ratio, meaning the browser has no way of knowing how tall or wide an image is until it loads. This can cause content to shift as the image loads.

                        • https://pbs.twimg.com/semantic_core_img/1571782705104273408/ppDyG0ra?format=jpg&name=small
                        • https://pbs.twimg.com/profile_images/1029703756206682112/nLq9XIww_normal.jpg
                        • https://pbs.twimg.com/media/FdA0gM0X0AIBVhO?format=jpg&name=240x240
                        • https://pbs.twimg.com/profile_images/1430624099332657166/fpJ8Dir3_normal.jpg
                        • https://pbs.twimg.com/media/FdA19nIX0AEZnYz?format=jpg&name=240x240

                        Relevant Experiments

                        • Add Aspect Ratio to Images

                          This experiment adds width="..." and height="..." attributes to specified images, matching their natural width and height, to provide an aspect ratio.

                          Assets included in experiment:
                        • The main thread was blocked for 6251 ms

                          When files block the main thread, users are unable to interact with the page content. Typically, parsing and executing large JavaScript files, as well as running long JavaScript tasks can block the main thread and should be avoided. These files had high thread blocking times:

                          • 93 ms: https://twitter.com/explore
                          • 1769 ms: https://abs.twimg.com/responsive-web/client-web/vendor.1bf6e989.js
                          • 447 ms: https://abs.twimg.com/responsive-web/client-web/i18n/en.d9e0f9b9.js
                          • 3134 ms: https://abs.twimg.com/responsive-web/client-web/main.43c3a339.js
                          • 103 ms: https://abs.twimg.com/responsive-web/client-web/loader.AppModules.cf7a1139.js
                          • 516 ms: https://abs.twimg.com/responsive-web/client-web/shared~loader.AudioDock~bundle.AudioSpacePeek~bundle.AudioSpaceAnalytics~bundle.AudioSpaceReport~bundle.Birdw.a2dac2d9.js
                          • 121 ms: https://accounts.google.com/gsi/client
                          • 256 ms: https://abs.twimg.com/responsive-web/client-web/loader.Typeahead.8ee82149.js
                          • 84 ms: https://abs.twimg.com/responsive-web/client-web/ondemand.BranchSdk.437e5be9.js
                          • 386 ms: https://abs.twimg.com/responsive-web/client-web/loader.AudioOnlyVideoPlayer.b4817439.js
                          • 78 ms: https://abs.twimg.com/responsive-web/client-web/loader.TimelineRenderer.08c5e5d9.js
                          • 59 ms: https://abs.twimg.com/responsive-web/client-web/shared~bundle.Birdwatch~bundle.Compose~bundle.RichTextCompose~bundle.Settings~bundle.Display~bundle.Ocf~bundl.c2391ac9.js
                          • 163 ms: https://abs.twimg.com/responsive-web/client-web/ondemand.tweetHandler.d140d679.js
                          • 97 ms: https://abs.twimg.com/responsive-web/client-web/ondemand.emoji.en.4e900f79.js
                          • 319 ms: https://abs.twimg.com/responsive-web/client-web/shared~ondemand.EmojiPickerData~ondemand.ParticipantReaction~ondemand.EmojiPicker.887de1c9.js
                          • 118 ms: https://www.google-analytics.com/analytics.js
                          • 172 ms: https://abs.twimg.com/responsive-web/client-web/ondemand.LottieWeb.a59fdf59.js

                          Relevant Experiments

                          • Block Specific Requests

                            This experiment causes specified requests to fail immediately, allowing you to test the usability impact of particular problematic scripts.

                            Assets included in experiment:Select all Unselect all
                          • Meta Viewport tag is configured properly.

                            A meta viewport tag will help a mobile-friendly site scale and display properly on small screen devices.

                            • Accessibility Issues were Detected

                              Axe found 3 accessibility issues: 2 critical, 1 serious,

                              Relevant Tips

                              • Make the following changes to improve accessibility:
                                critical Required ARIA attributes must be provided More info
                                • Fix any of the following: Required ARIA attribute not present: aria-expanded<input aria-activedescendant="typeaheadFocus-0.08067238238642571" aria-autocomplete="list" aria-label="Search query" aria-owns="typeaheadDropdown-1" autocapitalize="sentences" autocomplete="off" autocorrect="off" placeholder="Search Twitter" role="combobox" spellcheck="false" enterkeyhint="search" type="text" dir="auto" class="r-30o5oe r-1niwhzg r-17gur6a r-1yadl64 r-deolkf r-homxoj r-poiln3 r-7cikom r-1ny4l3l r-q81ovl r-oyd9sg r-y0fyvk r-1dz5y72 r-fdjqy7 r-13qz1uu" data-testid="SearchBox_Search_Input" value="">
                                critical ARIA attributes must conform to valid values More info
                                • Fix all of the following: Invalid ARIA attribute values: aria-activedescendant="typeaheadFocus-0.08067238238642571", aria-owns="typeaheadDropdown-1"<input aria-activedescendant="typeaheadFocus-0.08067238238642571" aria-autocomplete="list" aria-label="Search query" aria-owns="typeaheadDropdown-1" autocapitalize="sentences" autocomplete="off" autocorrect="off" placeholder="Search Twitter" role="combobox" spellcheck="false" enterkeyhint="search" type="text" dir="auto" class="r-30o5oe r-1niwhzg r-17gur6a r-1yadl64 r-deolkf r-homxoj r-poiln3 r-7cikom r-1ny4l3l r-q81ovl r-oyd9sg r-y0fyvk r-1dz5y72 r-fdjqy7 r-13qz1uu" data-testid="SearchBox_Search_Input" value="">
                                serious Elements must have sufficient color contrast More info
                                • Fix any of the following: Element has insufficient color contrast of 3 (foreground color: #ffffff, background color: #1d9bf0, font size: 9.8pt (13px), font weight: bold). Expected contrast ratio of 4.5:1<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">Sign up</span>
                                • Fix any of the following: Element has insufficient color contrast of 3 (foreground color: #1d9bf0, background color: #ffffff, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1<span dir="ltr" class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">#queensfuneral</span>
                                • Fix any of the following: Element has insufficient color contrast of 3 (foreground color: #1d9bf0, background color: #ffffff, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">Westminster Abbey</span>
                                • Fix any of the following: Element has insufficient color contrast of 3.37 (foreground color: #ffffff, background color: #fb4f14, font size: 10.5pt (14px), font weight: bold). Expected contrast ratio of 4.5:1<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">Cincinnati Bengals</span>
                                • Fix any of the following: Element has insufficient color contrast of 1.77 (foreground color: #fda78a, background color: #fb4f14, font size: 16.5pt (22px), font weight: bold). Expected contrast ratio of 3:1<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">17</span>
                                • Fix any of the following: Element has insufficient color contrast of 3.55 (foreground color: #ffffff, background color: #f15024, font size: 10.5pt (14px), font weight: bold). Expected contrast ratio of 4.5:1<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">Connecticut Sun</span>
                                • Fix any of the following: Element has insufficient color contrast of 1.85 (foreground color: #f8a892, background color: #f15024, font size: 16.5pt (22px), font weight: bold). Expected contrast ratio of 3:1<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">71</span>
                              • Final HTML (DOM) size is significantly larger than initially delivered HTML (74.83kb larger, or 38.14% of total HTML).

                                Typically this is due to over-reliance on JavaScript for generating content, but increases can also happen as a result of browsers normalizing HTML structure as well. When critical HTML content is generated with JavaScript in the browser, it can increase the time it takes for content to be made accessible to assistive technology such as screen readers.

                                Relevant Tips

                                • Look for ways to deliver more HTML content from the start

                                  Many modern frameworks offer patterns for generating useful HTML on the server.

                                Is it Resilient?

                                Not bad... This site had zero render-blocking 3rd party requests. It had no security issues detected. Dependence on client-generated HTML risks fragility.

                                WebPageTest ran 4 diagnostic checks related to this category and found 1 opportunities.

                                1. Zero render-blocking third-party requests found.

                                  By default, references to external JavaScript and CSS files will block the page from rendering. Third-party blocking requests are particularly risky, as your page's access relies on their response time and availability.

                                  • Zero security vulnerabilies were detected by Snyk

                                    Snyk has found 0 security vulnerabilities with included packages.

                                    • Zero resources were found that were loaded over an insecure connection.

                                      Loading requests over HTTPS necessary for ensuring data integrity, protecting users personal information, providing core critical security, and providing access to many new browser features.

                                      • Final HTML (DOM) size is significantly larger than initially delivered HTML (74.83kb larger, or 38.14% of total HTML).

                                        Typically this is due to over-reliance on JavaScript for generating content, but increases can also happen as a result of browsers normalizing HTML structure as well. Common issues such as JavaScript errors and third-party network delays and outages can present potential single points of failure.

                                        Relevant Experiments

                                        • Disable Scripts

                                          This experiment makes all scripts (inline and external) unrecognizable as javascript by the browser in order to demonstrate whether the site will still be usable if JavaScript fails to properly run.

                                          Assets included in experiment:
                                        • Make Scripts Timeout

                                          This experiment directs specified requests to WebPageTest's blackhole server, which will hang indefinitely until timing out. Use this experiment to test your site's ability to serve content if these services hang.

                                          Assets included in experiment:
                                        • Block Script Requests

                                          This experiment causes specified requests to fail immediately. Use this experiment to test your site's ability to serve content if these services are unavailable.

                                          Assets included in experiment:Select all Unselect all

                                        Create Experiments

                                        Advanced. Use this section to create custom experiments to add to your test.

                                        1. Add HTML to document

                                          These experiments allow you to add arbitrary html to a page, which can for example, enable to you test the impact of adding scripts, 3rd-party tags, or resource hints.

                                          Relevant Experiments

                                        2. Find and Replace Text

                                          This experiment allows you to find and replace arbitrary text or html in a request.

                                          Relevant Experiments

                                          • Find/Replace Text

                                            This experiment will find and replace occurrences of text in the page, with the option of using regular expressions, capturing parentheses, and flags as well

                                          • Delivery Optimizations

                                            These experiments allow you change attributes and manipulate how assets are delivered. Note expected syntax examples when using.

                                            Relevant Experiments

                                            • Defer Render-Blocking Scripts

                                              This experiment adds a defer attribute to render-blocking scripts, causing the browser to fetch them in parallel while showing the page. Deferred scripts still execute in the order they are defined in source.

                                            • Async Blocking Scripts

                                              This experiment adds a async attribute to render-blocking scripts, causing the browser to fetch them in parallel while showing the page. Async scripts are not guaranteed to execute in the order they are defined in source.

                                            • Load CSS Async

                                              This experiment loads specified stylesheets in a way that allows the page to begin rendering while they are still loading. Note that this may cause a flash of unstyled content.

                                            • Add Image Aspect Ratio

                                              This experiment adds width="..." and height="..." attributes to specified images, matching their natural width and height, to provide an aspect ratio.

                                            • Inline External Files

                                              This experiment embeds the contents of specified external scripts or stylesheets directly into the HTML. This increases the size of the HTML, but can often allow page page to display sooner by avoiding server round trips. Note: The inline experiment may break relative references to images and other assets inside the file. These would need proper path changes or absolute URLs in production.

                                            • Preload Files

                                              This experiment adds a <link rel="preload" type="image" href="https://pbs.twimg.com/semantic_core_img/1571782705104273408/ppDyG0ra?format=jpg&name=small"> to the head of your HTML document, causing browsers to request the file earlier and at a higher priority than it otherwise might.

                                            • Remove Preloads

                                              This experiment removes specified unused preloads from the page, allowing other critical resources to be requested earlier.

                                            • Preconnect Domains

                                              This experiment will add a link with rel="preconnect" for specified hosts, which saves time for those steps when the resource is later requested.

                                            • Lazy Load Images

                                              This experiment adds loading="lazy" attributes to specified images.

                                            • Remove Lazy Loading

                                              This experiment removes loading="lazy" attributes from specified images.

                                            • Minify CSS

                                              This experiment removes whitespace from same-domain CSS files.

                                              Assets included in experiment:
                                            • Add Priority Hint

                                              (Chromium-only) This experiment adds an fetchpriority="high" attribute to specified images, causing them to request earlier at a higher priority.

                                            • Remove Priority Hint

                                              (Chrome-only) This experiment removes an existing fetchpriority attribute to specified images, causing them to request at their default priority.

                                            • Add font-display: swap

                                              This experiment changes the way a custom font loads so that text can appear while fonts are loading

                                              Assets included in experiment:
                                            • Make Hosts Timeout

                                              This experiment directs specified hosts to WebPageTest's blackhole server, which will hang indefinitely until timing out. Use this experiment to test your site's ability to serve content if these services hang.

                                            • Block Requests

                                              This experiment causes specified requests to fail immediately. Use this experiment to test your site's ability to serve content if these services are unavailable.

                                            • Self-Host Requests

                                              This experiment will fetch these requests server-side and reference them on the same domain. Note: the overrides happen at the host level, so any requests from that host will now be self-hosted.