When Google introduces a new ranking factor like INP (Interaction to Next Paint), it can be daunting. You might be curious about what this term means for your WordPress site and what actions you should take.
We completely understand your concerns. With over ten years of experience in optimizing WordPress sites, our team quickly began testing to discover the best strategies for enhancing this new score.
After thorough research, we simplified the complex terminology into clear, actionable steps. We’re eager to share the effective methods we now implement across our own collection of websites.
In this guide, we will explain what INP is and how you can improve your scores, even if you lack technical expertise.
Here’s a brief overview of the topics we will discuss in this guide:
- What Are Google Core Web Vitals?
- What Is Google INP?
- Why Did Google Replace the FID Metric with INP?
- How to Measure Google INP Score in WordPress
- How to Enhance Google INP Score in WordPress
- How Website Owners Can Optimize Their Sites for INP
- How Developers Can Optimize Their Code for INP
- Best Practices for JavaScript Coding for Developers
- Common Questions About Google INP
- Comprehensive Guides for Enhancing WordPress Performance
Understanding Google Core Web Vitals
Google Core Web Vitals are essential metrics that assess website performance and are crucial for providing a positive user experience. These scores contribute to Google’s overall page experience rating, which can influence your SEO rankings.
These metrics are valuable because a fast-loading WordPress website may still not function optimally for users. Even if a page appears to load, visitors may struggle to accomplish their tasks or find the information they seek.
Core Web Vitals aim to address this issue by measuring the speed at which your website loads, becomes visible, and is ready for user interaction.
Previously, Google employed three quality assessments:
- Largest Contentful Paint (LCP)
- First Input Delay (FID)
- Cumulative Layout Shift (CLS)
For more information on these assessments, refer to our comprehensive guide on optimizing Core Web Vitals for WordPress.
In March 2024, Google replaced FID with a new metric called INP (Interaction to Next Paint), while the other two metrics remain in use.
Now, let’s explore what INP is and the reasons behind Google’s transition to this new metric.
What Is Google INP?
INP, or ‘Interaction to Next Paint’, is a new metric introduced by Google as part of Core Web Vitals. It evaluates the delays caused by user interactions on your website.
The INP test assesses the time it takes for your website to visually update after a user interaction, such as a click. This visual update is referred to as the ‘next paint’.
For instance, when a user submits a contact form, clicks a button, or selects an image that opens in a lightbox, the INP test measures the duration from the interaction to when the updated content is displayed on your site.
Google calculates a single INP score based on the duration of most user interactions on your website. This score can be categorized as ‘Good’, ‘Needs Improvement’, or ‘Poor’, depending on how quickly your site visually updates.
What prompted Google to replace the FID metric with INP?
The previous FID test measured the speed of your website’s response to the first user input after the page loads, such as a mouse click or keyboard action. It tracks the time from the initial user input to when your website begins to respond.
In simpler terms, it evaluates how responsive your website is during its initial load and the first impression it creates for real users.
However, this metric had its shortcomings. The FID test had two main limitations:
- It only assessed the first user interaction, ignoring subsequent interactions.
- It measured the time until the website began processing the interaction, not when users actually received visual feedback on their screens.
To provide a more comprehensive view of a webpage’s overall responsiveness, Google updated the test. The INP score will track the entire duration a user is active on the page until they navigate away.
How to Evaluate Your Google INP Score in WordPress
The simplest way to check your Google Core Web Vitals score is by using the PageSpeed Insights tool. Just enter the URL you wish to analyze and click the ‘Analyze’ button.
The tool will evaluate the webpage for a few moments and then present the test results.
Important Note:You can also assess Core Web Vitals using DebugBear’s Free Website Speed Test or the Site Speed Chrome Extension, which are favored by some developers.
Now, in addition to other Google Core Web Vitals, you will also see the page’s Interaction to Next Paint (INP) score.
Mobile and desktop users will receive different performance scores.
In the screenshot above, the INP score for desktop users visiting the CanadaCreate webpage is 47 milliseconds. The green dot indicates that this score is considered good.
After checking your site’s score, you might wonder how it stacks up against other websites and if there are areas for improvement.
Google has provided guidelines to help you interpret your INP score:
- Scores faster than 200 milliseconds indicate good responsiveness.
- Scores between 200 and 500 milliseconds suggest that improvements are needed.
- Scores slower than 500 milliseconds indicate poor responsiveness.
Be sure to check your score for both mobile and desktop users, aiming for optimal responsiveness.
You can enhance your INP score by following the guidelines outlined in the sections below.
Case Study: Identifying Slow Interactions on Awesome Motive’s Websites
Before diving deeper, it’s useful to examine a case study. We began measuring the INP scores on our brand websites, including All in One SEO, MonsterInsights, and WPForms.
When our team evaluated our website’s INP scores, we found that many of our most popular pages required improvements.
Using the Chrome User Experience (CrUX) dashboard, we discovered that:
- 80% of our sessions received a ‘good’ rating
- 12% of our sessions received a ‘needs improvement’ rating
- 8% of our sessions received a ‘poor’ rating
A PageSpeed Insights report provides an overall INP score, but it does not specify which buttons or form fields are causing delays for real users. To identify these issues, we need to use additional tools that analyze data from actual visitor sessions.
Next, we will need to conduct our own tests to identify slow interactions on pages with lower INP scores. This is a complex task best suited for a developer.
This involves visiting each page that requires improvement and testing every interaction through actual clicks, taps, and key presses. These interactions must be timed and assessed using appropriate tools.
The Chrome Developers Blog recommends several tools for testing, including the Chrome Web Vitals extension and the new timespan mode in the Lighthouse Panel within DevTools. You can also refer to Google’s article on debugging with the Web Vitals extension.
It’s important to understand that sessions with lower ratings likely occurred on slower devices or connections. Therefore, during testing, it is advisable to throttle your browser’s speed to accurately identify slow interactions.
You can access this feature by using Chrome’s Inspect Element tool, which can be found by navigating to View » Developer » Inspect Elements. Once there, switch to the ‘Network’ tab and choose a throttling option from the dropdown menu.
Testing on a slower connection is crucial since many users may be on mobile devices or have unreliable internet. Issues that go unnoticed on a fast office computer could cause significant frustration for them.
After identifying the INP scores for your pages, utilize the suggestions in the following section of this tutorial to enhance them.
Enhancing Your Google INP Score in WordPress
Most of the work required to optimize the INP score will need to be carried out by developers. This includes the creators of your website’s theme and plugins, as well as the developers of any custom JavaScript you may be using.
This is because the INP score primarily hinges on the time taken to execute JavaScript interactions on your website.
For instance, when a user clicks a button, specific JavaScript code is executed to perform the desired action associated with that click. This code is downloaded to the user’s device and operates within their web browser.
To enhance your INP score, it’s essential to minimize the delays that occur during JavaScript user interactions. These delays can be categorized into three main components:
- Input delay occurs when your website is busy with background tasks, preventing the event handler from executing promptly.
- Processing time refers to the duration needed to execute event handlers in JavaScript.
- Presentation delay is the time taken to recalculate the layout and render the content on the screen.
As a website owner, you can take measures to reduce the first and third types of delays. We’ll guide you through these steps in the upcoming section.
To significantly improve your INP score, it’s crucial to address the second type of delay, which pertains to the processing time of the code itself. This aspect typically requires professional intervention.
Your WordPress theme developers, plugin creators, and custom JavaScript authors may need to refine their code to ensure immediate feedback for your users. Fortunately, they are likely already addressing this in preparation for the March 2024 deadline.
Later in this article, we will provide targeted advice for developers, complete with examples.
Strategies for Website Owners to Optimize Their Sites for INP
Although developers play a crucial role in optimizing code for better INP scores, website owners can also take several effective actions.
Specifically, ensure that your users’ mouse clicks and keyboard inputs are processed promptly by streamlining background processes on your website. Additionally, aim to display responses to their inputs on the screen as quickly as possible.
While these measures may not directly alter the code that causes slow interactions, they enhance the overall performance of your site. A faster and more efficient website provides the browser with more resources to manage user interactions swiftly, positively impacting your INP score.
Here are some actionable steps you can take to improve performance.
1. Ensure You Are Using the Latest Version of WordPress
The first step is to confirm that you are using the latest version of WordPress.
This is important because WordPress versions 6.2 and 6.3 brought significant performance enhancements. These updates will boost your website’s performance on both the server and client sides, leading to an improved INP score.
For comprehensive instructions, refer to our guide on safely updating WordPress.
2. Optimize Background Processes in WordPress
Background processes in WordPress are automated tasks that operate behind the scenes. These can include checking for updates, publishing scheduled posts, and backing up your site.
If your website is overwhelmed by these background tasks, it may struggle to recognize user interactions like mouse clicks or key presses promptly, leading to a lower INP score.
You can adjust your background scripts and plugins to minimize their workload, thereby reducing the pressure on your website. Alternatively, consider scheduling them to run only when necessary instead of continuously operating in the background.
For comprehensive guidance, refer to the Optimize Background Processes section in our ultimate guide on enhancing WordPress speed and performance.
3. Review the Performance Recommendations from PageSpeed Insights
After conducting the PageSpeed Insights test on your website, navigate to the Performance section in the results.
In this section, you’ll discover various suggestions to enhance your site’s performance, along with the estimated time savings for implementing these recommendations.
For instance, you might receive suggestions to eliminate render-blocking resources. You can achieve this by following our comprehensive guide on resolving render-blocking JavaScript and CSS issues in WordPress.
You may also encounter a recommendation to minimize unused JavaScript. This option is available in many top WordPress caching plugins, such as WP Rocket.
4. Minify JavaScript in WordPress
JavaScript must be downloaded to the user’s device before execution. By reducing the size of your JavaScript files, you can achieve minor performance improvements.
Minifying your JavaScript reduces file sizes by eliminating whitespace, line breaks, and unnecessary characters from the source code.
While this may not drastically enhance your performance, if you’re aiming to reduce your INP score by a few milliseconds, it could be beneficial.
To find out how, refer to our guide on minifying CSS and JavaScript files in WordPress.
How Developers Can Optimize Their Code for INP
If you are a developer, the most significant improvements to your INP score will come from optimizing your code. Here are several strategies you can implement.
1. Provide Immediate Visual Feedback for User Input
The key factor in optimizing your code’s INP score is immediate visual feedback.It’s essential to provide instant visual confirmation for all user inputs.
Users should quickly see that their input has been acknowledged, making your code feel more responsive and improving the INP score.
Here are some practical examples:
- When a user clicks on an element, display a visual indication that the click was registered.
- Upon form submission, promptly show a confirmation message or loading spinner.
- If a user clicks on an image to view it in a lightbox, avoid delays by showing a placeholder image or spinner immediately, then display the actual image once it has loaded.
This approach will significantly enhance your INP score, particularly when heavy JavaScript processing is required after user input.
Ensure the UI is updated before initiating the intensive task.
You can then schedule the heavy processing to occur shortly after using a setTimeout callback, allowing the browser to refresh the display before it handles the demanding task.
Once you’ve addressed that, there are additional steps you can take to enhance your code’s performance.
2. Optimize Key Areas Where the Browser Spends Time
Next, analyze where the browser is allocating most of its processing time and focus on optimizing those areas.
In Google Chrome, navigate to View » Developer » Developer Tools » Performance, to examine the JavaScript functions and event handlers that may be delaying the next visual update.
With this insight, you can identify opportunities for optimization to decrease the time until the next visual update following user interaction.
3. Minimize Layout Changes
Often, excessive CPU usage is due to layout calculations.
When this occurs, check if your code is causing the browser to frequently recalculate the page layout, a phenomenon known as ‘layout thrashing.’ We will provide an example of how to prevent this later in the guide.
4. Prioritize Above-the-Fold Content
If the page rendering process is slow, it could negatively impact your INP score.
Consider displaying only essential ‘above-the-fold’ content initially to speed up the delivery of the next visual frame.
Best Practices for Writing Efficient JavaScript Code for Developers
Let’s explore some examples that illustrate how poorly written code can negatively impact your INP score.
We have created a sample project on CodePen for you to try out. You can review our sample code, read concise explanations, and observe the impact by interacting with the buttons.
Take a look at this animation from our CodePen project. It demonstrates that the unoptimized sample code results in a slow INP score of 965 milliseconds, causing a laggy experience for users when they press the button.
In contrast, the optimized code updates the button text instantly, achieving the best possible INP score.
Continue reading to discover four effective examples of how to enhance your code for better INP scores.
Example 1: Refresh the Screen Before Executing a Resource-Intensive Task
Resource-intensive tasks can take time, potentially leading to poor INP scores unless your code is well-structured. It’s advisable to refresh the screen prior to executing such tasks.
Here’s an example of poor coding practice where the user interface is updated only after completing a heavy CPU task, resulting in a high INP score:
// Poor coding example
button.addEventListener('click', () => { // Resource-intensive task for (let i = 0; i < 10000000; i++) { console.log(i); } // UI update button.textContent = 'Clicked!';});
In this enhanced example, the user interface updates instantly when the button is clicked.
Next, the intensive CPU task is delegated to a setTimeout function:
// Improved example
button.addEventListener('click', () => { // Update UI button.textContent = 'Processing...'; // Intensive CPU task setTimeout(() => { for (let i = 0; i < 10000000; i++) { console.log(i); } // Final UI update button.textContent = 'Done!'; }, 0);
});
This approach allows the browser to refresh the display before commencing the lengthy task, leading to a favorable INP score.
Example 2: Schedule Non-Urgent Tasks
Ensure that non-urgent or non-essential scripts do not execute immediately, as this could hinder the user’s expected response.
Begin by promptly updating the page to confirm the user’s action. Then, utilize requestIdleCallback to arrange the remaining script execution during idle time at the end of a frame or when the user is not active.
Here’s an example:
button.addEventListener('click', () => { // Immediate UI update button.textContent = 'Processing...'; // Non-essential processing window.requestIdleCallback(() => { // Perform non-essential processing here... button.textContent = 'Done!'; });
});
This approach enhances the responsiveness of the webpage, resulting in an improved INP score.
Example 3: Schedule a Function to Execute Before the Next Paint
You can also utilizerequestAnimationFrame to schedule a function to run just before the next repaint:
button.addEventListener('click', () => { // Immediate UI update button.textContent = 'Processing...'; // Visual update window.requestAnimationFrame(() => { // Perform visual update here... button.style.backgroundColor = 'green'; button.textContent = 'Done!'; });
});
This technique is particularly useful for animations or visual updates triggered by user actions.
Once again, it’s important to provide immediate feedback to the user by acknowledging their input.
Example 4: Prevent Layout Thrashing
Layout thrashing happens when you continuously read and write to the DOM (Document Object Model), leading the browser to recalculate the layout multiple times.
Here’s an illustration of layout thrashing:
// Poor example
elements.forEach(element => { const height = element.offsetHeight; // read element.style.height = height + 'px'; // write});
You can prevent this by grouping your read and write operations.
Here’s a more efficient example:
// Good example
const heights = elements.map(element => element.offsetHeight); // batched read
elements.forEach((element, index) => { element.style.height = heights[index] + 'px'; // batched write
});
Frequently Asked Questions about Google INP
We recognize that a technical subject like INP can raise numerous questions. To assist you, we’ve addressed some of the most frequently asked questions from our readers.
What is Google’s Interaction to Next Paint (INP)?
Interaction to Next Paint (INP) is a key metric in Google’s Core Web Vitals that evaluates how responsive a website is to user interactions. It measures the duration from when a user clicks, taps, or types on a page until the next visual update is displayed on the screen.
This metric provides a more comprehensive understanding of user experience compared to the previous First Input Delay (FID) metric.
Why Did Google Transition from First Input Delay (FID) to INP?
Google replaced FID with INP because INP offers a more detailed assessment of a page’s responsiveness. While FID only measured the delay of the first user interaction, INP captures a broader range of interactions.
In contrast, INP evaluates the latency of all user interactions throughout a visit, delivering a more thorough understanding of the user’s experience.
What Is Considered a Good INP Score?
According to Google’s guidelines, a good INP score is 200 milliseconds or less. A score between 200 and 500 milliseconds indicates that improvement is needed, while anything above 500 milliseconds is deemed to have poor responsiveness.
How Can I Enhance My INP Score in WordPress?
To improve your INP score in WordPress, you should follow several steps. Website owners can optimize background processes, minify JavaScript, and ensure their site is regularly updated.
Developers can greatly enhance user experience by optimizing code to deliver instant visual feedback for user actions, such as displaying a loading spinner, and by postponing resource-intensive tasks.
Comprehensive Guides for Enhancing WordPress Performance
We hope this tutorial has helped you understand how to enhance your Google INP score in WordPress. You may also want to explore additional articles related to boosting WordPress performance:
If you enjoyed this article, please subscribe to our YouTube Channel for WordPress video tutorials. You can also connect with us on Twitter and Facebook.



