Black Friday 40% off yearly and lifetime plans · 18d left Ends in 18d09h23m Claim 40% off
Performance48 docs

How to Enable Intelligent Preloading in WordPress

Configure Intelligent Preloading in Classic Monks. Preload likely next pages with trigger, delay, request-limit, mobile, slow-connection, ignore-rule, and error controls.

By Founder & Lead Developer

Last updated

4 minutes

Before You Enable It

Intelligent preloading creates additional network requests before a visitor clicks. Do not enable it blindly on a bandwidth-constrained site.

Before testing:

  • Disable competing link preloading systems.
  • Exclude checkout, cart, logout, downloads, previews, feeds, API URLs, and static assets from custom rules.
  • Test while logged out.
  • Confirm your cache and CDN do not treat prefetch requests as page visits or cache pollution.

How to Configure Intelligent Preloading

  1. Step 1

    Open the Preloading settings

    In WordPress admin, open Classic Monks > Performance and select the Preloading subtab.

  2. Step 2

    Enable the master toggle

    Enable Enable Intelligent Preloading.

    Preloading settings interface

  3. Step 3

    Choose the preload trigger

    Use Preload Method to choose when preloading starts. The source supports a hover-based trigger by default. Use the available UI option that matches your site’s navigation behavior.

    Mouse Hover Only preload method

  4. Step 4

    Set timing and request limits

    Configure:

    • Initial Delay (seconds)
    • Hover Delay (ms)
    • Max Requests Per Second
    • Max Concurrent Requests
    • Max Links to Preload

    Start conservatively. Increase limits only after checking server load and bandwidth.

  5. Step 5

    Configure connection rules

    Choose whether to enable:

    • Enable on Mobile Devices
    • Enable on Slow Connections

    Enable mobile and slow connections

    Keep slow-connection preloading off unless you have measured a clear benefit. Preloading on a slow connection can compete with the page the visitor is already viewing.

  6. Step 6

    Configure error and memory limits

    Use:

    • Stop on Errors
    • Error Threshold
    • Memory Threshold (MB)

    Error and memory thresholds settings

    These controls prevent failed or excessive preloads from continuing indefinitely.

  7. Step 7

    Add ignore keywords

    Use the Ignore Keywords/Paths field to exclude URLs that should never be preloaded. Enter one keyword or path fragment per line or comma-separated.

    Text box titled "Ignore Keywords/Paths" containing a list of URL paths and keywords to ignore, including /cart, /checkout, /wp-admin, /wp-login.php, logout, #, /add-to-cart, /password-reset, /my-account, /download, /preview, /thank-you, add_to_wishlist, /ajax, and /feed.

    At minimum, exclude transactional and non-document URLs such as:

    • /cart
    • /checkout
    • /wp-admin
    • /wp-login.php
    • /logout
    • /wp-json/
    • /feed
    • /ajax
    • ?s=
    • .css
    • .js
    • image, video, archive, and download extensions
  8. Step 8

    Save and test

    Click Save Changes. Test in a logged-out private window with the browser Network panel open.

Configuration Options

Option What it controls Source default
Enable Intelligent Preloading Master toggle. Off
Disable for Admin Users Skips preloading for administrators. On
Preload Method Trigger used to start preloading. Hover
Initial Delay (seconds) Delay before the engine starts. 5
Hover Delay (ms) Time before a hovered link is preloaded. 300
Max Requests Per Second Request rate limit. 1
Max Concurrent Requests Number of simultaneous preloads. 2
Max Links to Preload Maximum links considered at a time. 15
Ignore Keywords URL fragments excluded from preloading. Built-in exclusions
Enable on Mobile Devices Allows preloading on mobile. Off
Enable on Slow Connections Allows preloading on slow networks. Off
Stop on Errors Stops after preload failures. On
Error Threshold Failure count that triggers the stop rule. 3
Memory Threshold (MB) Memory limit used by the preloading engine. 512

The saved option keys are implemented in functions/performance/monks-preload.php. Verify the displayed value on the current site before tuning production settings.

Intelligent Preloading vs Other Preload Features

Intelligent Preloading

Preloads likely next pages or links based on navigation behavior. It is request-driven and predictive.

Critical Image Preloading

Preloads a small number of above-the-fold images for LCP. It belongs in the Lazy Loading workflow and should not be used as a replacement for page preloading.

Selective Media Preload

Lets you choose media files or URLs per post/page through a Media Preload Settings metabox. It is a separate feature with a separate operational workflow. See How to Use Selective Media Preload in WordPress.

Verify the Result

Browser Network test

  1. Open a private window while logged out.
  2. Open DevTools > Network.
  3. Reload a page with several internal links.
  4. Watch for prefetch/preload requests before clicking.
  5. Hover a link or use the configured trigger.
  6. Confirm the expected request starts after the configured delay.
  7. Click the link and confirm navigation is not broken.
  8. Check that checkout, cart, logout, API, and static asset URLs are ignored.

Server and bandwidth test

Monitor:

  • Requests per second
  • Concurrent requests
  • PHP workers
  • CDN cache hit rate
  • Transfer volume
  • Error rate

Compare the same page before and after enabling the feature. Do not assume a faster navigation experience means lower total resource usage.

Common Use Cases

High-traffic content sites

Use conservative limits to preload likely article navigation without creating a request spike. Start with hover triggering and a low maximum concurrency.

Multi-step funnels

Use custom URL rules when the next page is predictable, but exclude cart and checkout state-changing endpoints from generic preloading.

Mobile-heavy sites

Enable mobile preloading only after measuring bandwidth and cache impact on real mobile connections.

Slow hosting

Preloading can mask server latency for likely next pages, but it can also compete with the current page. Use low request limits and monitor PHP workers.

Developer Notes

Implementation: functions/performance/monks-preload.php and assets/js/monks-preload.js.

Important source options include:

  • enable_monks_preload
  • monks_preload_disable_admins
  • monks_preload_trigger
  • monks_preload_delay
  • monks_preload_hover_delay
  • monks_preload_max_rps
  • monks_preload_max_concurrent
  • monks_preload_max_links
  • monks_preload_ignore
  • monks_preload_mobile
  • monks_preload_slow_connections
  • monks_preload_stop_on_error
  • monks_preload_error_threshold
  • monks_preload_memory_threshold

The runtime skips AMP, admin contexts when configured, and several non-document URL patterns by default.

Troubleshooting

6 problems and how to fix each one.

Nothing is being preloaded

Cause: The master toggle is off, the admin bypass is active, the current context is AMP or a builder, or the trigger has not fired.
Fix: Test logged out, confirm the trigger and delays, inspect the Network panel, and verify the current URL is not ignored.

Too many requests are being generated

Cause: Max links, concurrency, or request rate is too high.
Fix: Reduce Max Links to Preload, Max Concurrent Requests, and Max Requests Per Second. Add broad but safe ignore keywords.

Checkout or account pages behave incorrectly

Cause: A state-changing URL is being preloaded.
Fix: Add /cart, /checkout, /my-account, /logout, password-reset paths, and add-to-cart fragments to Ignore Keywords.

Preloading increases bandwidth on mobile

Cause: Mobile preloading is enabled.
Fix: Disable Enable on Mobile Devices or reduce concurrency and max links.

Preloading continues after errors

Cause: Stop on Errors is disabled or the error threshold is too high.
Fix: Enable Stop on Errors and lower Error Threshold.

Cache reports contain unexpected page hits

Cause: Prefetch requests are being counted as normal visits or stored by the cache layer.
Fix: Inspect request headers and cache rules. Exclude prefetch requests from analytics or adjust cache handling before enabling the feature site-wide.

Was this doc helpful?

Your answer tells us which docs to fix first.

Still stuck? Ask on the forum or email help@classicmonks.com.
Joy Chetry
Written by the person who built it

Joy Chetry

Founder & Lead Developer, Classic Monks

Joy is the founder of Classic Monks and GoodMonks Solutions, a web development agency that builds WordPress and WooCommerce sites for clients. Classic Monks grew out of the agency's own need to consolidate 20 to 30 separate plugins into one core stack.

Follow this doc on a real site.

Open a private WordPress site with Classic Monks, WooCommerce and Bricks Builder installed, and follow this doc step by step. Free for 24 hours, no card.

280 docs, written by Joy Chetry 15 day refund window