Browse AjaxPress docs

A page is blank or the loader never finishes

On this page

You click a link, the loader starts, and then nothing: the page stays white, or the bar never completes. Work through these causes in order.

1. Your site forbids being shown in a frame

This is the most common cause. AjaxPress shows each page inside a frame on your own site. If your server tells browsers never to show your pages in a frame, the page stays blank.

Open the browser console (F12, then Console). If you see something like this, it’s the cause:

Refused to display 'https://example.com/…' in a frame because it set 'X-Frame-Options' to 'deny'.

or a message about frame-ancestors.

Fix: change the header to allow your own site:

  • X-Frame-Options: DENY → X-Frame-Options: SAMEORIGIN
  • Content-Security-Policy: frame-ancestors 'none' → frame-ancestors 'self'

That still stops other websites from framing yours. Security plugins and headers explains where these headers come from and how to change them.

Check where that link goes.

  • A redirect to another website. A link on your site that redirects elsewhere (a short link, an affiliate link, a “go to checkout” page that sends visitors to a payment provider) can’t be shown in the frame. Add it to Exclude Links.
  • A file download served through a page, such as /download/?file=42. Add it to Exclude Links too.
  • A page that’s genuinely slow, such as a heavy report. The loader waits for the page. Open the link in a new tab to see how long it takes on its own.

3. A JavaScript error on the page

A script that throws an error while the page loads can stop it from finishing. Check the console for red errors on the page you’re going to. Open that page directly, in a new tab: if the same error shows up without AjaxPress in the way, fix it there first (often by updating the plugin named in the error).

4. Mixed http and https, or www

If your site is on https://www.example.com but a link points to http://example.com, it counts as another site and loads normally, or is blocked as insecure content. Make sure Settings → General has your real address, then update old links (a search-and-replace plugin can do it in one go).

5. A caching or optimisation plugin

A plugin that delays or combines JavaScript can stop AjaxPress from setting up properly. Clear its cache, and add ajaxpress to its exclusions: see Caching and optimisation plugins.

Quick test

Turn off Settings → AjaxPress → Basic → Enable SPA for Frontend and click the same link. If the page loads fine without AjaxPress, and none of the above explains it, report it with the page address and any console errors.