Title: QueueForge – Interaction to Next Paint Fixer
Author: Gunjan Jaswal
Published: <strong>2 juli 2026</strong>
Last modified: 2 juli 2026

---

Plugins zoeken

![](https://ps.w.org/queueforge-inp-fixer/assets/banner-772x250.png?rev=3594458)

![](https://ps.w.org/queueforge-inp-fixer/assets/icon-256x256.png?rev=3594470)

# QueueForge – Interaction to Next Paint Fixer

 Door [Gunjan Jaswal](https://profiles.wordpress.org/gunjanjaswal/)

[Download](https://downloads.wordpress.org/plugin/queueforge-inp-fixer.1.0.0.zip)

 * [Details](https://nl-be.wordpress.org/plugins/queueforge-inp-fixer/#description)
 * [Beoordelingen](https://nl-be.wordpress.org/plugins/queueforge-inp-fixer/#reviews)
 *  [Installatie](https://nl-be.wordpress.org/plugins/queueforge-inp-fixer/#installation)
 * [Ontwikkeling](https://nl-be.wordpress.org/plugins/queueforge-inp-fixer/#developers)

 [Ondersteuning](https://wordpress.org/support/plugin/queueforge-inp-fixer/)

## Beschrijving

Google’s Core Web Vitals now use **Interaction to Next Paint (INP)** instead of 
First Input Delay. Caching plugins make pages _load_ fast, but they do nothing about
the bloated JavaScript from other plugins, themes, ads, and analytics that blocks
the browser’s main thread and makes mobile interactions feel choppy.

QueueForge INP Fixer attacks INP directly:

 * **Delays eligible JavaScript** until the visitor’s first scroll, tap, key press,
   or mouse move. The main thread stays free during the critical early window, so
   the page responds immediately.
 * **Yields the main thread between scripts** when the deferred code finally runs,
   using the native `scheduler.yield()` (with a `setTimeout` fallback) so the queued
   scripts do not re-block the thread in one long task.
 * **Fallback timeout** loads delayed scripts automatically after N seconds even
   with no interaction, protecting analytics and ad impressions.
 * **Live INP overlay** for admins shows measured INP and long-task blocking time
   right on the front end, using `PerformanceObserver` (`event` + `longtask`).

#### Key Features

 * Delay all eligible third-party / theme JavaScript until first interaction
 * Main-thread yielding between deferred scripts (`scheduler.yield()` + fallback)
 * Configurable fallback timeout (0 = interaction only)
 * Optional jQuery delay (off by default for safety)
 * Keyword exclusion list, plus per-tag `data-no-optimize` opt-out
 * Skips logged-in editors so page builders keep working
 * Live INP + blocking-time debug overlay (admins only)
 * `?queueforge_off` URL switch to bypass the delay for one page load
 * No database writes on the front end; nothing is cached or stored per visitor

#### Why INP?

INP measures how quickly the page visually responds to _every_ interaction across
the whole visit, not just the first one. The single biggest cause of poor INP is
JavaScript executing long tasks on the main thread while the user is trying to interact.
Delaying that JavaScript until it is actually needed — and breaking its execution
into yield-separated chunks — is the most direct fix.

#### Developer-Friendly

 * `qfinp_exclusions` filter to programmatically add never-delay keywords.
 * Uses an output buffer on `template_redirect`; no edits to your theme or other
   plugins.

## Installatie

 1. Upload the `queueforge-inp-fixer` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.
 3. Visit **Settings  QueueForge INP** to tune the delay, exclusions, and debug overlay.
    Defaults work out of the box.

## FAQ

### Will this break my site?

Delaying JavaScript can affect scripts that expect to run before interaction (consent
banners, some sliders, reCAPTCHA). Add a keyword for those scripts to the exclusion
list, or add `data-no-optimize` to the tag. Logged-in editors are skipped by default
so you can preview safely.

### Does it delay jQuery?

No, unless you enable “Delay jQuery”. Many themes assume jQuery is present at load,
so it is opt-in.

### How do I test the effect?

Enable the **Live INP overlay** in settings and browse the front end while logged
in as an admin. Compare against a page loaded with `?queueforge_off` appended to
the URL.

### Does it work with caching plugins?

Yes. It rewrites the HTML as it is generated; the result can be cached normally.
It complements page caching rather than replacing it.

## Beoordelingen

Er zijn geen beoordelingen voor deze plugin.

## Bijdragers & ontwikkelaars

“QueueForge – Interaction to Next Paint Fixer” is open source software. De volgende
personen hebben bijgedragen aan deze plugin.

Bijdragers

 *   [ Gunjan Jaswal ](https://profiles.wordpress.org/gunjanjaswal/)

[Vertaal “QueueForge – Interaction to Next Paint Fixer” naar jouw taal.](https://translate.wordpress.org/projects/wp-plugins/queueforge-inp-fixer)

### Interesse in de ontwikkeling?

[Bekijk de code](https://plugins.trac.wordpress.org/browser/queueforge-inp-fixer/),
haal de [SVN repository](https://plugins.svn.wordpress.org/queueforge-inp-fixer/)
op, of abonneer je op het [ontwikkellog](https://plugins.trac.wordpress.org/log/queueforge-inp-fixer/)
via [RSS](https://plugins.trac.wordpress.org/log/queueforge-inp-fixer/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release: interaction-delayed JavaScript, main-thread yielding, fallback
   timeout, exclusions, logged-in skip, and live INP/long-task overlay.
 * All output is escaped late, including the admin-notice nonce passed to inline
   JavaScript via wp_json_encode().
 * Every function, option, and the localized config object uses the qfinp prefix
   to avoid conflicts with other plugins.

## Meta

 *  Versie **1.0.0**
 *  Laatst bijgewerkt: **2 dagen geleden**
 *  Actieve installaties: **Minder dan 10**
 *  WordPress versie ** 5.0 of nieuwer **
 *  Getest t/m **7.0**
 *  PHP versie ** 7.4 of nieuwer **
 *  Taal
 * [English (US)](https://wordpress.org/plugins/queueforge-inp-fixer/)
 * Tags
 * [core web vitals](https://nl-be.wordpress.org/plugins/tags/core-web-vitals/)[inp](https://nl-be.wordpress.org/plugins/tags/inp/)
   [javascript](https://nl-be.wordpress.org/plugins/tags/javascript/)[performance](https://nl-be.wordpress.org/plugins/tags/performance/)
   [web vitals](https://nl-be.wordpress.org/plugins/tags/web-vitals/)
 *  [Geavanceerde weergave](https://nl-be.wordpress.org/plugins/queueforge-inp-fixer/advanced/)

## Beoordelingen

Er zijn nog geen beoordelingen ingediend.

[Your review](https://wordpress.org/support/plugin/queueforge-inp-fixer/reviews/#new-post)

[Bekijk alle beoordelingen](https://wordpress.org/support/plugin/queueforge-inp-fixer/reviews/)

## Bijdragers

 *   [ Gunjan Jaswal ](https://profiles.wordpress.org/gunjanjaswal/)

## Ondersteuning

Iets te melden? Hulp nodig?

 [Het supportforum bekijken](https://wordpress.org/support/plugin/queueforge-inp-fixer/)

## Doneren

Wil je de groei van deze plugin ondersteunen?

 [ Doneer aan deze plugin ](https://ko-fi.com/gunjanjaswal)