Live Auto Refresh (Hot Reload / Live Reload for WordPress Developers)
Live Auto Refresh (Hot Reload / Live Reload for WordPress Developers)
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
Installation
- Install from the WordPress Plugin Directory
- Activate the plugin
- Go to Settings Live Auto Refresh to configure monitoring
- Use the admin bar toggle to quickly enable/disable while working
Screenshots
Faq
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.
Gutenberg, Elementor, Beaver Builder, Bricks Builder, WPBakery, Divi, Visual Composer, and ACF.
Yes. Select it in Settings Live Auto Refresh.
Use the perron_auto_refresh_custom_hooks filter:
add_filter( 'perron_auto_refresh_custom_hooks', function( $hooks ) {
$hooks[] = 'my_builder_save_action';
return $hooks;
} );
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– returntrueto monitor symlinked themes/plugins, e.g. when symlinking projects into wp-content during local development (default:false; cycles are guarded)
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.
Yes! Donate here
Reviews
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!
Changelog
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_symlinksfilter 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


