Live Auto Refresh (Hot Reload / Live Reload for WordPress Developers)

Plugin Banner

Live Auto Refresh (Hot Reload / Live Reload for WordPress Developers)

by perron

Download
Description

Instant live reload for WordPress development.

Eliminate manual browser refreshes. See your code changes immediately across all devices as you work.

Key Features:
Instant Feedback – Changes to themes and selected plugins appear immediately
CSS Hot Reload – Stylesheet updates without full page refresh
Content Sync – Auto-reload when posts, pages, or builder content is saved
Multi-Device – All logged-in browsers reload simultaneously
Smart Transport – Server-Sent Events with automatic fallback to AJAX polling
Shared Connections – Multiple tabs share one server connection (no worker exhaustion)

Security:
– Administrator/editor only (filterable capability)
– Nonce-protected endpoints
– Clean uninstall removes all data

  1. Install from the WordPress Plugin Directory
  2. Activate the plugin
  3. Go to Settings Live Auto Refresh to configure monitoring
  4. Use the admin bar toggle to quickly enable/disable while working
  1. Admin bar toggle for quick enable/disable

    Admin bar toggle for quick enable/disable

  2. Console notifications showing active monitoring and change detection

    Console notifications showing active monitoring and change detection

  3. Settings page with monitoring status and cache controls

    Settings page with monitoring status and cache controls

What files are monitored?

By default: .php, .js, and .css files in your active theme (parent and child) plus any plugins you select in settings. Changes are detected via modification time and file size.

Which page builders are supported?

Gutenberg, Elementor, Beaver Builder, Bricks Builder, WPBakery, Divi, Visual Composer, and ACF.

Can I monitor my own plugin during development?

Yes. Select it in Settings Live Auto Refresh.

How do I add support for a custom builder?

Use the perron_auto_refresh_custom_hooks filter:

add_filter( 'perron_auto_refresh_custom_hooks', function( $hooks ) {
    $hooks[] = 'my_builder_save_action';
    return $hooks;
} );

Available filters

  • perron_auto_refresh_capability – required capability (default: edit_others_posts)
  • perron_auto_refresh_reload_mode'hard' (full reload) or 'soft' (CSS hot reload only)
  • perron_auto_refresh_poll_interval – seconds between filesystem checks (default: the Poll Interval setting; filter takes precedence)
  • perron_auto_refresh_scan_budget_seconds – max scan time per check (default: the Scan Budget setting; filter takes precedence)
  • perron_auto_refresh_sse_max_runtime – SSE connection lifetime (default: 180)
  • perron_auto_refresh_follow_symlinks – return true to monitor symlinked themes/plugins, e.g. when symlinking projects into wp-content during local development (default: false; cycles are guarded)

Host Configuration Tips

For best SSE performance, ensure your host supports:
– PHP execution time of 180s+ (or set_time_limit(0))
– Idle timeouts > 30s (for keep-alive pings)
– Disabled proxy buffering on SSE endpoints

If SSE fails, the plugin automatically falls back to AJAX polling.

Do you accept donations?

Yes! Donate here

Fantastic

By aderahmadw on July 7, 2025

Fantastic Works. Easy use

Awesome

By o2xav on June 17, 2025

I was starting to get huge issues with livereload VScode plugin with recent browsers, this module saved the day, works as intended and very fast on local development env.

On very few occasions, you need to refresh manually, but I suspect it has to do with the browser putting the tab to sleep.

Is great. Works fine.

By thegje on October 13, 2024

Just installed. Works fine. Pretty impressive tbh.

Works erratically with Bricks Builder

By ltpa on March 19, 2024

Good idea but not stable. Sometimes it refreshes the page, sometimes not. Usually not.

I tried it with Bricks Builder. I edit in Chrome. On my second screen I use an incognito window (logged out), also in Chrome.

Works fine !!

By notclo on February 19, 2024

Thanks for this solution 🙂

Does exactly as promised. Makes Page Building So Much Better

By ryanjhunter on January 23, 2024

Simple. It refreshes when something changes or when you update a page.

Makes page building SO NICE.

Similar to hot-reload in development.

Thanks for making this!

4.2

  • Security: Capability-based access control (filterable via perron_auto_refresh_capability)
  • Fixed: File rename detection, builder save normalization
  • Improved: Database writes only on actual changes, leader-tab connection sharing, better error handling
  • New: Settings page rebuilt on Settings API, JavaScript translations
  • New: Poll Interval and Scan Budget are configurable on the settings page (filters still take precedence)
  • New: After the inactivity timeout, clicking the PAUSED admin-bar button resumes monitoring in place – no page reload needed (all tabs resume together)
  • New: perron_auto_refresh_follow_symlinks filter to monitor symlinked themes/plugins

4.1

  • Fixed: PHP stat cache clearing, hash stability on large themes
  • New: WP.org-compliant SSE streaming (admin-ajax primary, REST fallback, then AJAX polling)
  • New: Leader-tab streaming to prevent worker exhaustion
  • Improved: Builder save hook reliability, session expiration handling

4.0

  • Major: Full refactor to singleton class architecture
  • New: SSE transport with automatic AJAX fallback
  • Improved: Hash-based change detection with performance safeguards

3.0 – 3.3

  • Added: Plugin monitoring, page builder support, CSS hot reload improvements
  • Switched to filemtime-based detection for better performance

2.0

  • Added: Settings page, configurable intervals, nonce security

1.0

  • Initial release: AJAX polling with theme file monitoring and CSS hot reload
Back to top