plugin-icon

Defer for Contact Form 7

Takes Contact Form 7 off the critical rendering path: moves its head scripts to the footer and loads the form CSS asynchronously. No PageSpeed hit.
Versie
1.0.0
Laatst bijgewerkt
Jul 1, 2026
Defer for Contact Form 7

On every page Contact Form 7 loads its dependencies (wp-hooks, wp-i18n) and its CSS into the <head>, blocking first paint. This plugin fixes that:

  • Defer CF7 core — moves wp-hooks/wp-i18n to the footer (you cannot defer them: an inline wp.i18n.setLocaleData block runs synchronously and would throw “wp is not defined”). CF7’s scripts leave the critical path.
  • Async CSS — the form stylesheet loads via media=print + onload-swap.

Both optimizations are idempotent and safe on every page. Strict dependency: with Contact Form 7 inactive, the plugin does nothing.

A note on jQuery

This plugin does NOT defer jQuery — on purpose. Deferring jQuery is only safe when EVERY jQuery-dependent script on the site is also deferred or in the footer; on an arbitrary site that is not guaranteed and breaks inline scripts in the head.

Pro version

Defer for Contact Form 7 Pro adds lazy-loaded Google reCAPTCHA v3 — spam protection without a PageSpeed hit:

  • Google’s api.js loads only on the first interaction with a form, so it never appears in Lighthouse/PSI.
  • The score check is server-side; a fresh single-use token is fetched for every submission.
  • The badge is hidden with the required Google disclaimer (GDPR-friendly); configurable score threshold and action label.

The free version stays fully functional on its own.

Support

Questions, bug reports or feature requests: https://www.linkedin.com/in/vitalii-ryabinin/

Gratisvoor betaalde abonnementen
Door te installeren, ga je akkoord met de Servicevoorwaarden van WordPress.com en de voorwaarden voor plugins van derden.
Getest tot
WordPress 7.0
Deze plugin kan worden gedownload, zodat je hem op je kan gebruiken.