{"id":5752545,"date":"2023-07-07T08:20:14","date_gmt":"2023-07-07T06:20:14","guid":{"rendered":"https:\/\/wp-rocket.me\/?p=5752545"},"modified":"2024-06-11T12:01:45","modified_gmt":"2024-06-11T10:01:45","slug":"web-performance-misconceptions","status":"publish","type":"post","link":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/","title":{"rendered":"The 10 Most Common Web Performance Misconceptions"},"content":{"rendered":"<p>At WP Rocket, our mission is to educate users about the importance of web performance while making it as simple and accessible as possible. It\u2019s quite a challenge: web performance is not an easy topic, and optimizing a website to improve performance is even less easy to explain and understand. What\u2019s more, finding reliable information is difficult \u2013 the topic is complex and sometimes subjective.&nbsp;<\/p><p>This article highlights some misleading concepts about what matters when identifying the key performance optimization actions to speed up a website. Keep reading, and you\u2019ll find a list of the most common misconceptions we encountered. We\u2019ll explain why they are incorrect and share how we tackle web performance challenges with our plugin.<\/p><h2 class=\"wp-block-heading\">What Are the Most Common Web Performance Misconceptions?<\/h2><p>Let\u2019s discover the misconceptions we consider more relevant regarding web performance optimization.&nbsp;<\/p><h3 class=\"wp-block-heading\">1. Delay JavaScript<\/h3><p>Optimizing JavaScript files is one of the most challenging web performance optimizations. It\u2019s also one of the most impactful to improve performance and key metrics such as <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/\">Core Web Vitals<\/a>. In other words, you can\u2019t avoid optimizing JavaScript if you want a fast website. One effective way to go is to delay the JS files that don\u2019t need to be executed immediately. As a result, the page will load faster, and the browser will execute JavaScript only when needed by the user interaction.&nbsp;<\/p><p>The misconception is that all JS files should be delayed. The truth is that this will often hurt the user experience and might even break the site&#8217;s functionality. Critical JS should never be delayed, such as those related to the above-the-fold resources (e.g., menu) and the tracking scripts (e.g., Google Analytics). These resources must be available early in the page load to ensure a smooth user experience.<\/p><p>It\u2019s now easy to understand why knowing which JS files should be excluded from being delayed and how to do it is crucial.<\/p><p>For instance, WP Rocket allows you to manage the Delay JS execution feature easily. The option makes it easy to delay JS \u2013 a key optimization task. On top, WP Rocket allows you to exclude JavaScript files both manually and thanks to the one-click exclusion released with our latest major version, <a href=\"https:\/\/wp-rocket.me\/blog\/3-13\/\">WP Rocket 3.13<\/a>.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"889\" height=\"754\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Delay-JS-execution-File-optimization-tab-WP-Rocket.png\" alt=\"Delay JS execution - File optimization tab, WP Rocket\n\" class=\"wp-image-5752553\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Delay-JS-execution-File-optimization-tab-WP-Rocket.png 889w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Delay-JS-execution-File-optimization-tab-WP-Rocket-230x195.png 230w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Delay-JS-execution-File-optimization-tab-WP-Rocket-768x651.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Delay-JS-execution-File-optimization-tab-WP-Rocket-71x60.png 71w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Delay-JS-execution-File-optimization-tab-WP-Rocket-106x90.png 106w\" sizes=\"(max-width: 889px) 100vw, 889px\" \/><figcaption class=\"wp-element-caption\">Delay JS execution &#8211; File optimization tab, WP Rocket<br><\/figcaption><\/figure><p>We asked <strong>Adam Silverstein, Developer Relations Engineer at Google<\/strong>, their take on always delaying JavaScript and its impact on performance. He confirms our view and adds: \u201cGenerally, for server-rendered sites like WordPress sites usually are, most JavaScript can be deferred unless it is required early on in the page cycle for some reason. An example is analytics scripts where you want to capture data as soon as possible: here, the async attribute is more appropriate. One potential risk with deferring scripts is that if other scripts or inline scripts depend on the deferred script (and are not deferred as well), the dependency can break\u201d.&nbsp;<\/p><p>So, it\u2019s time to look at the misconception about deferring JavaScript.<\/p><h3 class=\"wp-block-heading\">2. Defer JavaScript<\/h3><p>Here, the misconception is that all JS can be deferred.&nbsp;<\/p><p>The truth is, deferring JavaScript is crucial as long as it respects dependencies. In other words, deferring JS without considering dependencies is not recommended.<\/p><p>For example, an inline script using the jQuery library will need jquery.js to run before it can be executed without crashing. If jquery.js is deferred, the inline script won\u2019t find jQuery declared and will prompt a console error jQuery is not defined, preventing the code from running, breaking the related feature, and potentially breaking the layout and the overall functioning of the page as well.&nbsp;<\/p><p>Adam Silverstein mentions a <a href=\"https:\/\/make.wordpress.org\/core\/2022\/12\/09\/enhancing-the-scripts-api-with-a-loading-strategy\/\">new WordPress script API proposal near to be released<\/a>. It will help the deferring strategy by defining loading tactics and preventing dependency issues.&nbsp;<\/p><p>Adam explains:<em> \u201c<\/em>In the proposed approach for core, we are handling the deferring cases automatically with the core approach to script strategy &#8211; including checking the dependent scripts are also deferrable and handling delayed execution of inline scripts that depend on a deferred script\u201d.<\/p><p>When it comes to JavaScript deferring, WP Rocket has a lot of automated exclusions to prevent conflicts. For instance, when Avada is enabled, WP Rocket automatically excludes the jQuery library and Google Maps external script.<\/p><p>The new Script API will allow our plugin to extend the exclusions library further. As a result, it will be less and less likely that your website will break when deferring JavaScript.&nbsp;<\/p><h3 class=\"wp-block-heading\">3. Reduce Used CSS<\/h3><p>In addition to JavaScript optimization, reducing used CSS is one of the most effective ways to boost your website performance. There are two ways to manage such optimization:<br><\/p><ul class=\"wp-block-list\"><li>Inlining CSS files, which means integrating CSS on the same page using a `style` tag.<\/li>\n\n<li>Use separate external files.<\/li><\/ul><p>The misconception is that delivering the used CSS in separate files is always the best way to address such optimization.<\/p><p>The truth is that inlining CSS is perfectly fine and has two important advantages from a performance and user experience standpoint:<\/p><ul class=\"wp-block-list\"><li>It\u2019s a faster process because the browser will only make a tiny request to check the freshness of the page. If the page has not changed, which is generally the case, the browser will serve a cached copy of the page. For this reason, inline Used CSS will improve performance: the browser won&#8217;t load and parse a CSS file but will directly process the inline CSS on the page.<br><\/li>\n\n<li>Inlining all the page\u2019s CSS prevents issues such as FOUC (Flash of unstyled content) and doesn\u2019t impact user experience, as using the Critical Path CSS in addition to a separate file could do. To prevent other metrics from worsening, having the Critical Path CSS should be required when the Used CSS is delivered using a file.<\/li><\/ul><p>That\u2019s why WP Rocket inlines CSS and allows anyone to take advantage of an advanced feature such as <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/remove-unused-css\/#rucss-wp-rocket\">removing unused CSS<\/a> with just a click:<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"385\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Remove-unused-CSS-WP-Rocket.png\" alt=\"Remove unused CSS - WP Rocket\n\" class=\"wp-image-5752560\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Remove-unused-CSS-WP-Rocket.png 904w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Remove-unused-CSS-WP-Rocket-310x132.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Remove-unused-CSS-WP-Rocket-768x327.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Remove-unused-CSS-WP-Rocket-141x60.png 141w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Remove-unused-CSS-WP-Rocket-211x90.png 211w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><figcaption class=\"wp-element-caption\">Remove unused CSS &#8211; WP Rocket<br><\/figcaption><\/figure><p>Once again, Adam Silverstein from Google shares our point of view. We asked him what\u2019s the most effective way to deliver the used CSS. He says: \u201cMy expectation is that for smaller CSS sizes, at least, inlining will be faster by reducing the need to load the additional CSS file. The \u201cpenalty\u201d for that may vary depending on conditions \u2013 for example, the device and network the user is using\u201d.&nbsp;<\/p><h3 class=\"wp-block-heading\">4. Host Fonts Locally<\/h3><p>If you run a WordPress website, you may already know that hosting fonts locally can be another good choice for improving performance. Plus, hosting local fonts is essential to comply with the GDPR rules.&nbsp;<\/p><p>Regarding Google fonts, it\u2019s important to control from where the files will be sent so they do not depend on Google Fonts CDN \u2013 especially if it doesn&#8217;t perform well for a large part of the audience.&nbsp;<\/p><p>A common misconception is that hosting them will automatically improve your website\u2019s loading time.&nbsp;<\/p><p>The truth is that Google fonts will be faster only if displayed in the same zone where the visitor is.&nbsp;<\/p><p>If the website uses a CDN, Google fonts will be faster only if the CDN coverage is better than the Google Fonts\u2019 \u2013 which strongly depends on the visitor&#8217;s location.&nbsp;<\/p><p>We ran tests to validate this assumption and found that hosted fonts were the least performant for distant visitors regarding <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-ttfb-server-response-times\/\">Time to First Byte<\/a>, a key metric to boost your website speed.<\/p><p>This performance data is important because it will directly influence the LCP element if it&#8217;s a text using Google fonts.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"812\" height=\"599\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Hosted-fonts-test-results.png\" alt=\"Hosted fonts test results\" class=\"wp-image-5752584\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Hosted-fonts-test-results.png 812w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Hosted-fonts-test-results-264x195.png 264w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Hosted-fonts-test-results-768x567.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Hosted-fonts-test-results-81x60.png 81w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Hosted-fonts-test-results-122x90.png 122w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><figcaption class=\"wp-element-caption\">Hosted fonts test results<\/figcaption><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"788\" height=\"597\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Google-fonts-CDN-test-results.png\" alt=\"Google fonts CDN test results\" class=\"wp-image-5752594\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Google-fonts-CDN-test-results.png 788w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Google-fonts-CDN-test-results-257x195.png 257w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Google-fonts-CDN-test-results-768x582.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Google-fonts-CDN-test-results-79x60.png 79w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Google-fonts-CDN-test-results-119x90.png 119w\" sizes=\"(max-width: 788px) 100vw, 788px\" \/><figcaption class=\"wp-element-caption\">Google fonts CDN test results<\/figcaption><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"811\" height=\"596\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results.png\" alt=\"Cloudflare test results\n\" class=\"wp-image-5752602\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results.png 811w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-265x195.png 265w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-768x564.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-82x60.png 82w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-122x90.png 122w\" sizes=\"(max-width: 811px) 100vw, 811px\" \/><figcaption class=\"wp-element-caption\">Cloudflare test results &#8211; Fonts<br><\/figcaption><\/figure><p>The other misconception about hosting fonts locally is that WP Rocket cannot preload Google fonts. This is false: our plugin can preload Google fonts automatically when enabled by the Remove Unused CSS option.&nbsp;<\/p><h3 class=\"wp-block-heading\">5. Fetchpriority Resource Hint<\/h3><p>The fetch priority hint is an attribute that tells the browser the priority of resources to discover and download so that the page can load as fast as possible. Currently, its usage is still limited to <a href=\"https:\/\/caniuse.com\/?search=fetchpriority\">a bit less than 70% of users worldwide.<\/a><\/p><p>The misconception is that you should always use the fetchpriority resource hint. The truth is that resources hint may sound like a must-do, but it&#8217;s not as straightforward as it seems.<\/p><p>While fetchpriority hint makes critical resources available in time, it can deteriorate performance if the resources are fetched without the right priority. This is a very complex performance optimization task \u2013 and it\u2019s tough to implement it without testing or analyzing pages.&nbsp;<\/p><p>At the same time, the impact of this task on performance is limited to what can be automatically prioritized or deprioritized.&nbsp;<\/p><p>We listed a few examples to explain how fetchpriority depends on several factors.<\/p><ul class=\"wp-block-list\"><li><strong>Logo and LCP image<\/strong>: this is easy \u2013 these elements are obvious candidates with a high fetch priority.<br><\/li>\n\n<li><strong>Sliders<\/strong>: it starts getting tricky.<br><br>A slider&#8217;s images above or near the fold will have a subjective fetching priority depending on whether they cause an issue.<br><br>If the slider is near the fold but deemed critical to the user experience, its first image should be highly prioritized.<br><br>If a slider is delayed, it is unnecessary to prioritize fetching its images, even if it&#8217;s above the fold.<\/li><\/ul><ul class=\"wp-block-list\"><li><strong>CSS, JS, and third-party resources<\/strong>: only their respective developers can assess if they should be prioritized or deprioritized. And even with their input, and when mixing several plugins and resources, the fetching priority would be case-based.&nbsp;<\/li><\/ul><p>You can see what we mean when saying resources hints are not as easy as you may suppose.<\/p><p>That&#8217;s why WP Rocket doesn&#8217;t include such a feature yet, although fetchpriority can positively impact your website speed if used correctly. Rest assured, our plugin helps achieve optimal performance thanks to other powerful and advanced features.<\/p><p>We also asked Google\u2019s team what&#8217;s their take on using a high fetchpriority for all images above the fold and a low one for all images below the fold.&nbsp;<\/p><p>Adam Silverstein explains: \u201cIn general, the goal should be to add fetchpriority=high only to critical images because adding it to multiple images will generally undo the benefits. Typically you want the LCP image set with this attribute, but think carefully before using it on many other resources. <a href=\"https:\/\/web.dev\/fetch-priority\/\">This page<\/a> is the best resource for understanding loading priority. In general, all images start with a low priority.&nbsp; Images within the viewport start at &#8220;low&#8221; priority and then at layout time, as the browser realizes they are in the viewport, are boosted to &#8220;high&#8221;. By tagging it in markup using fetchpriority=&#8221;high&#8221;, they can start at &#8220;high&#8221; immediately and load much faster. If you tag too many images as a high priority, they will compete for the same resources. One possible exception would be trying to tag the LCP image for both desktop and mobile breakpoints (which could be a different image). The WebPageTest \u2018<a href=\"https:\/\/blog.webpagetest.org\/posts\/introducing-opportunities-and-experiments\/\">experiments<\/a>\u2019 feature is a great way to test this\u201d.<\/p><p>Speaking of fetchpriority, it\u2019s interesting to highlight that the Core Performance Team proposed to <a href=\"https:\/\/make.wordpress.org\/core\/2023\/05\/02\/proposal-for-enhancing-lcp-image-performance-with-fetchpriority\/\">add the fetchpriority=\u201dhigh\u201d attribute to LCP images<\/a> in WordPress core to enhance LCP performance.&nbsp;<\/p><p><strong>Spoiler alert<\/strong>: we\u2019ve been working on an automatic way to add the fetch priority on the LCP element, making it as easy as possible for our users to benefit from the option. You may see what we\u2019re talking about in one of our next releases.<\/p><h3 class=\"wp-block-heading\">6. Lazy Load Background Images<\/h3><p>Lazy loading is another important web performance optimization technique. It allows the browser to load images only when needed so that not all images are loaded simultaneously, and the page can be rendered and displayed quickly.<\/p><p>That\u2019s why lazy loading background images can spare requests for unnecessary images below the fold, thus improving performance.&nbsp;<\/p><p>The misconception is that background images added on internal CSS (`style` tag) and CSS files can be lazyloaded. The truth is that WordPress, lazyload libraries, and native lazyload don&#8217;t allow this optimization \u2013 which needs to be accurate, and it\u2019s not as simple as it may seem.<\/p><p>At WP Rocket, we\u2019ve been working on a specific feature to make this optimization easy and automated while being precise.<\/p><h3 class=\"wp-block-heading\">7. LCP Images vs. Above-the-fold Images&nbsp;<\/h3><p>Speaking of lazy loading and the fetch priority attribute, another misconception is that everything above the fold should be set to a high value (fetchpriority=high).<\/p><p>Adam Silverstein explains: \u201cFetchpriority optimizations should ideally be applied only to the LCP image. At the same time, all the above-the-fold images should avoid lazy loading\u201d.<\/p><p>And he adds an example: \u201cLet&#8217;s say there are six above-the-fold images and one LCP image. Then, the best approach would be to omit the lazy loading from all the images and apply fetchpriority to the LCP image\u201d.<\/p><h3 class=\"wp-block-heading\">8. Exclude Above-The-Fold Images from Lazy Loading<\/h3><p>If you\u2019re familiar with web performance optimization best practices, it\u2019s likely you know that excluding above-the-fold images from lazy loading is a good way to speed up your website performance.<\/p><p>This is partially a misconception, as it mainly depends on how the current tools handle it.&nbsp;<\/p><p>While excluding above-the fold-images can boost your website speed, it might result in skipping additional images from the lazy load if it\u2019s not implemented for the images currently included above the fold. As a result, the page will load slower instead of the other way around.&nbsp;<\/p><p>Moreover, the number of images to exclude will usually differ from one viewport to another, making performance optimization more difficult to manage.<\/p><p>Such optimization requires auditing to find accurate images to skip from lazy load.&nbsp;<\/p><p>The current solutions are not automated and are based on a \u2018guess\u2019 rather than getting the actual images to be excluded. That\u2019s why we\u2019ve been developing the easiest possible solution to allow anyone to tackle this performance optimization.<\/p><p>We ran some tests and got interesting results. When implemented correctly, and excluding the exact number of above-the fold-images from lazy loading, it can improve metrics such as <a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-first-contentful-paint\/\">First Contentful Paint<\/a>, <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-largest-contentful-paint\/\">Largest Contentful Paint<\/a>, and <a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-speed-index\/\">Speed Index<\/a>. Plus, it can address PageSpeed Insights audits such as <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/avoid-enormous-network-payloads\/\">Avoid enormous network payloads<\/a> and <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/keep-request-counts-low-transfer-sizes-small\/\">Keep request count low and transfer sizes small<\/a>.<\/p><p>In the meantime, WP Rocket allows you to address it <a href=\"https:\/\/github.com\/wp-media\/wp-rocket-helpers\/tree\/master\/lazyload\/wp-rocket-exclude-x-first-images-by-attribute\">with a helper plugin<\/a>.<\/p><h3 class=\"wp-block-heading\">9. YouTube Iframe Preview Image<\/h3><p>You may be right if you think enabling the YouTube iframe preview image will boost your website speed. This solution avoids loading YouTube scripts and starts loading the video only if the user clicks the play button.<\/p><p>Nonetheless, at this point of the article, you should be familiar with the concept of: it depends.&nbsp;<\/p><p>Implementing the YouTube iframe preview image to optimize performance won\u2019t work for all websites. It might cause trouble if the parent element holding the video styles images in an unusable way. If so, the preview image won&#8217;t be displayed correctly and might need some additional CSS to undo the parent&#8217;s element conflicting style.&nbsp;<\/p><p>The iframe will likely load the same way it does since it will be re-injected once the preview image is clicked.<\/p><p>We ran some tests and validated the assumption that self-hosting the YouTube preview image does not always give better results. Better performance data applies only to local audiences or if a CDN is being used.&nbsp;<\/p><p>Our tests show that YouTube CDN still performs best and has the lowest TTFB, influencing how fast the image is fetched.<\/p><p>Considering this result is essential because such performance data influences the LCP element if the preview image is part of it.<\/p><figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"608\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-CDN.png\" alt=\"Cloudflare test results - CDN\" class=\"wp-image-5752608\" style=\"width:771px;height:608px\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-CDN.png 771w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-CDN-247x195.png 247w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-CDN-768x606.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-CDN-76x60.png 76w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Cloudflare-test-results-CDN-114x90.png 114w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><figcaption class=\"wp-element-caption\">Cloudflare test results &#8211; CDN<\/figcaption><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"575\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/YouTube-CDN-test-results.png\" alt=\"YouTube CDN test results\n\" class=\"wp-image-5752614\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/YouTube-CDN-test-results.png 770w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/YouTube-CDN-test-results-261x195.png 261w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/YouTube-CDN-test-results-768x574.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/YouTube-CDN-test-results-80x60.png 80w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/YouTube-CDN-test-results-121x90.png 121w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><figcaption class=\"wp-element-caption\">YouTube CDN test results<br><\/figcaption><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"769\" height=\"584\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Self-hosted-test-results.png\" alt=\"Self-hosted test results\n\" class=\"wp-image-5752622\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Self-hosted-test-results.png 769w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Self-hosted-test-results-257x195.png 257w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Self-hosted-test-results-79x60.png 79w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/Self-hosted-test-results-119x90.png 119w\" sizes=\"(max-width: 769px) 100vw, 769px\" \/><figcaption class=\"wp-element-caption\">Self-hosted test results<br><\/figcaption><\/figure><h3 class=\"wp-block-heading\">10. Using a CDN<\/h3><p>The last misconception we want to cover is constantly using a CDN to improve performance. While it\u2019s true that a CDN will make your website faster if your audience is worldwide, it\u2019s not correct to say that it will always help your website&#8217;s performance.<\/p><p>It depends on the visitor&#8217;s location and the distance between the user and the assets requested.<\/p><p>Let\u2019s give you a couple of examples to make it clearer.<\/p><ul class=\"wp-block-list\"><li><strong>Local audience<\/strong>: You run a local business in France, and your website is already hosted on a local server. Using a CDN that doesn&#8217;t have a PoP (Points of Presence) in France or close to it will worsen the user&#8217;s experience, as the page and its assets will be shipped from a distant data center, let&#8217;s say, New York. On the other hand, the distance will be shorter if you just use the origin server.<\/li><\/ul><ul class=\"wp-block-list\"><li><strong>Region or worldwide audience<\/strong>: You run a regional business across Europe. Picking a CDN with a strong Europe presence will give better results vs. picking a CDN that has only one or two PoPs in Europe.&nbsp;<\/li><\/ul><p>In short, when picking a CDN, you must ensure their PoPs coverage matches the audience&#8217;s locations.<\/p><h2 class=\"wp-block-heading\">Wrapping up<\/h2><p>Web performance optimization is not easy at all \u2013 and this article proves it once again. Hopefully, it has shed some light on some misconceptions about key topics such as optimizing JavaScript and CSS and lazy loading.&nbsp;<\/p><p>At WP Rocket, we strive to make our performance plugin the easiest while offering the most advanced features to boost your website performance. We know what we\u2019re talking about and will always try to explain it as simply as possible. In the meantime, <a href=\"https:\/\/wp-rocket.me\/features\/\">try WP Rocket<\/a> and see how easy and powerful it is!<\/p>","protected":false},"excerpt":{"rendered":"<p>There are several misconceptions about what matters when identifying the key performance optimization actions to speed up a website. Read our article and discover them all.<\/p>\n","protected":false},"author":160328,"featured_media":5752653,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"kia_subtitle":"","footnotes":""},"categories":[63],"tags":[],"class_list":["post-5752545","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-cache"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The 10 Most Common Web Performance Misconceptions<\/title>\n<meta name=\"description\" content=\"There are several misconceptions about what matters when identifying the key performance optimization actions to speed up a website. Read our article and discover them all.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The 10 Most Common Web Performance Misconceptions\" \/>\n<meta property=\"og:description\" content=\"There are several misconceptions about what matters when identifying the key performance optimization actions to speed up a website. Read our article and discover them all.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/\" \/>\n<meta property=\"og:site_name\" content=\"WP Rocket\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-07T06:20:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-11T10:01:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"460\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Valentina Orlandi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wp_rocket\" \/>\n<meta name=\"twitter:site\" content=\"@wp_rocket\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Valentina Orlandi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/\"},\"author\":{\"name\":\"Valentina Orlandi\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762\"},\"headline\":\"The 10 Most Common Web Performance Misconceptions\",\"datePublished\":\"2023-07-07T06:20:14+00:00\",\"dateModified\":\"2024-06-11T10:01:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/\"},\"wordCount\":2921,\"publisher\":{\"@id\":\"https:\/\/wp-rocket.me\/#organization\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png\",\"articleSection\":[\"Page speed and caching\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/\",\"url\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/\",\"name\":\"The 10 Most Common Web Performance Misconceptions\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png\",\"datePublished\":\"2023-07-07T06:20:14+00:00\",\"dateModified\":\"2024-06-11T10:01:45+00:00\",\"description\":\"There are several misconceptions about what matters when identifying the key performance optimization actions to speed up a website. Read our article and discover them all.\",\"breadcrumb\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png\",\"width\":1100,\"height\":460,\"caption\":\"The 10 Web Performance Misconceptions\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wp-rocket.me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Page speed and caching\",\"item\":\"https:\/\/wp-rocket.me\/blog\/wordpress-cache\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"The 10 Most Common Web Performance Misconceptions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wp-rocket.me\/#website\",\"url\":\"https:\/\/wp-rocket.me\/\",\"name\":\"WP Rocket\",\"description\":\"Plugin d&#039;optimisation de sites WordPress\",\"publisher\":{\"@id\":\"https:\/\/wp-rocket.me\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wp-rocket.me\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/wp-rocket.me\/#organization\",\"name\":\"WP Rocket\",\"url\":\"https:\/\/wp-rocket.me\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png\",\"width\":150,\"height\":41,\"caption\":\"WP Rocket\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829\",\"https:\/\/x.com\/wp_rocket\",\"https:\/\/www.youtube.com\/channel\/UC1ozThXHd1IWIZ5wkshgp_Q\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762\",\"name\":\"Valentina Orlandi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g\",\"caption\":\"Valentina Orlandi\"},\"description\":\"Valentina is the Product &amp; Content Marketing Manager at WP\u00a0Rocket. She loves marketing, psychology, and understanding the why behind human behaviors. She's a passionate reader and always eager to work with words.\",\"sameAs\":[\"https:\/\/wp-rocket.me\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The 10 Most Common Web Performance Misconceptions","description":"There are several misconceptions about what matters when identifying the key performance optimization actions to speed up a website. Read our article and discover them all.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/","og_locale":"en_US","og_type":"article","og_title":"The 10 Most Common Web Performance Misconceptions","og_description":"There are several misconceptions about what matters when identifying the key performance optimization actions to speed up a website. Read our article and discover them all.","og_url":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/","og_site_name":"WP Rocket","article_publisher":"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","article_published_time":"2023-07-07T06:20:14+00:00","article_modified_time":"2024-06-11T10:01:45+00:00","og_image":[{"width":1100,"height":460,"url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png","type":"image\/png"}],"author":"Valentina Orlandi","twitter_card":"summary_large_image","twitter_creator":"@wp_rocket","twitter_site":"@wp_rocket","twitter_misc":{"Written by":"Valentina Orlandi","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#article","isPartOf":{"@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/"},"author":{"name":"Valentina Orlandi","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762"},"headline":"The 10 Most Common Web Performance Misconceptions","datePublished":"2023-07-07T06:20:14+00:00","dateModified":"2024-06-11T10:01:45+00:00","mainEntityOfPage":{"@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/"},"wordCount":2921,"publisher":{"@id":"https:\/\/wp-rocket.me\/#organization"},"image":{"@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png","articleSection":["Page speed and caching"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/","url":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/","name":"The 10 Most Common Web Performance Misconceptions","isPartOf":{"@id":"https:\/\/wp-rocket.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage"},"image":{"@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png","datePublished":"2023-07-07T06:20:14+00:00","dateModified":"2024-06-11T10:01:45+00:00","description":"There are several misconceptions about what matters when identifying the key performance optimization actions to speed up a website. Read our article and discover them all.","breadcrumb":{"@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#primaryimage","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2023\/07\/The-10-Web-Performance-Misconceptions.png","width":1100,"height":460,"caption":"The 10 Web Performance Misconceptions"},{"@type":"BreadcrumbList","@id":"https:\/\/wp-rocket.me\/blog\/web-performance-misconceptions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wp-rocket.me"},{"@type":"ListItem","position":2,"name":"Page speed and caching","item":"https:\/\/wp-rocket.me\/blog\/wordpress-cache\/"},{"@type":"ListItem","position":3,"name":"The 10 Most Common Web Performance Misconceptions"}]},{"@type":"WebSite","@id":"https:\/\/wp-rocket.me\/#website","url":"https:\/\/wp-rocket.me\/","name":"WP Rocket","description":"Plugin d&#039;optimisation de sites WordPress","publisher":{"@id":"https:\/\/wp-rocket.me\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wp-rocket.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wp-rocket.me\/#organization","name":"WP Rocket","url":"https:\/\/wp-rocket.me\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png","width":150,"height":41,"caption":"WP Rocket"},"image":{"@id":"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","https:\/\/x.com\/wp_rocket","https:\/\/www.youtube.com\/channel\/UC1ozThXHd1IWIZ5wkshgp_Q"]},{"@type":"Person","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762","name":"Valentina Orlandi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g","caption":"Valentina Orlandi"},"description":"Valentina is the Product &amp; Content Marketing Manager at WP\u00a0Rocket. She loves marketing, psychology, and understanding the why behind human behaviors. She's a passionate reader and always eager to work with words.","sameAs":["https:\/\/wp-rocket.me\/"]}]}},"_links":{"self":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts\/5752545"}],"collection":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/users\/160328"}],"replies":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/comments?post=5752545"}],"version-history":[{"count":0,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts\/5752545\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/media\/5752653"}],"wp:attachment":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/media?parent=5752545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/categories?post=5752545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/tags?post=5752545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}