Core Web Vitals: Async vs. Defer Explained

Modified on Mon, 2 Dec at 11:14 AM

At Pathmonk, we prioritize seamless integration with your website, ensuring that our technology works without negatively impacting your website's performance, including its Core Web Vitals. This article will clarify why Pathmonk does not affect Core Web Vitals and explain key concepts related to script loading and website speed.


How Core Web Vitals Are Affected Without Async or Defer

When JavaScript files are loaded without using async or defer, the browser downloads and executes the scripts immediately as it encounters them in the HTML. This process blocks the browser from continuing to parse the HTML and delays the rendering of visible content. As a result, key Core Web Vitals metrics can suffer:

  • Largest Contentful Paint (LCP): Delayed rendering of critical content due to blocked parsing can cause slower loading times for users.
  • First Input Delay (FID): If JavaScript execution blocks the main thread, the browser takes longer to respond to user interactions.
  • Cumulative Layout Shift (CLS): Late script execution can inject or move elements on the page, disrupting the visual stability of the layout.

By not optimizing script loading, websites risk significant performance penalties, leading to poorer user experience and potential SEO drawbacks. This is why loading scripts with async or defer is crucial for maintaining high Core Web Vitals scores.


Understanding Async and Defer in JavaScript Loading

JavaScript can impact website performance depending on how it is loaded. The two most common methods for optimizing JavaScript loading are async and defer:

  • Async: JavaScript files are loaded asynchronously, meaning they download in parallel to HTML parsing and execute immediately after download.
  • Defer: JavaScript files are loaded in parallel but execute only after HTML parsing is complete, ensuring no delays in rendering.

Pathmonk's script is designed to load async, minimizing its impact on page load times. If further optimization is needed, developers can change the Pathmonk snippet to defer, which delays script execution even further to ensure smooth HTML rendering first.


How JavaScript Snippets Typically Affect Core Web Vitals

Core Web Vitals measure essential aspects of a website’s performance, including loading speed (Largest Contentful Paint), interactivity (First Input Delay), and visual stability (Cumulative Layout Shift). Scripts that load immediately during the initial page load can block rendering and impact these metrics.

For example:

  • Tools like Hotjar load their scripts immediately, which may delay rendering and directly affect Core Web Vitals.
  • Pathmonk, by contrast, is specifically designed to load only after your website has fully loaded. This ensures that critical content is displayed to users without interruption.

Pathmonk's Approach to Optimized Script Loading

  • Async Loading: Pathmonk’s default script uses async loading, allowing it to download alongside other resources without blocking your website's critical rendering path.
  • Defer Option: For enhanced performance, your web developer can easily modify the Pathmonk script to use the defer attribute, ensuring script execution happens only after the HTML parsing is complete.

Here’s an example snippet to demonstrate this flexibility:

<!-- Loading Pathmonk web SDK for JavaScript -->

<script async type="text/javascript">


<!-- Loading Pathmonk web SDK for JavaScript -->

<script defer type="text/javascript">


Addressing Concerns About Website Speed

If your development team notices any impact on website speed, it can be quickly addressed by implementing the defer attribute. This further ensures that Pathmonk works harmoniously with your site without compromising user experience or Core Web Vitals.


Learn More

For an in-depth understanding of async and defer, visit this resource: Page Speed Checklist on Async and Defer.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article