What breaks
Website not loading just white screen: causes
The address opens to a blank page with no content and no message. Mimiq sends a simulated visitor to the homepage and shows whether the page arrives empty or the app fails after it arrives.
Why does my website show a white screen instead of loading?
A blank white page means the browser did not draw your content. Either the server sent a page with nothing in it, or it sent the right page and the script that builds the content failed or never loaded. Open the page source and the Console: if the source holds your content, the fault is in a script, and if it does not, the fault is on the server. A simulated visitor shows whether the page arrived, and the failed file or error on the step where it stopped.
What this looks like in a report
“The page was white with nothing on it, not even a header. I reloaded it twice, and it stayed blank. I could not tell whether the clinic was closed or the site was broken, so I called them.”
The fix. Return a real not-found response for missing script files instead of the home page, and make the home page reference the script names from the same release. Show a line of text in the empty container when the app fails to start, so a visitor sees a message instead of white.
An illustration. Run a test to see your own.See a real sample report
The page arrives, but the app inside it never draws
Many sites send a nearly empty page, then a script that builds the content in the browser. If that script fails, the page stays exactly as it arrived: a header tag, a blank container and nothing visible. A deploy can cause this when the page still asks for script files the new release renamed. The server may answer that request with the site's home page instead of a script, and the browser refuses to run it. The owner reloads in their own browser, which may hold the new files, so the fault never shows for them.
- View the page source. Does the raw HTML contain your headings and text, or only an empty container?
- Open the Console on load. Is there a red error that names a file that did not load?
- Check each script's status in the Network tab. A 404, or a script that returns a web page, means the path is wrong.
- Open a deeper page directly, such as /pricing. Does it go blank while the homepage works?
- Check the status of the page itself. A 500, or an empty 200, means the server returned nothing usable.
Read the raw page before the app runs
The first test is what the server sent, before any script runs. Open the page source, which shows the HTML as the server returned it. The Elements panel shows the page after scripts have changed it, so it can hide the problem. If the source has your headings and text, the server did its job and the browser is failing later. If the source is empty, or holds only a bare container, the server sent no content, or the content depends on a script that never arrived. Note whether the status is a normal success or a server error.
A script that asks for a file the release removed
Most blank pages after a change have this shape. The new release renames its script files, but the page still served points to the old names. The browser asks for the old script, the server has no such file, and some hosts answer with the home page instead of a not-found response. The browser expects code, receives a web page and refuses to run it. The Console then shows a message about a MIME type or a script that could not load, and the page never draws. In the Network tab, a 404, or a script that comes back as a web page, is the fault.
Deep links that go blank, and the rule that is missing
Some sites load the homepage and go blank on any other address. A single-page app serves one page and builds each address in the browser. A visitor who opens /pricing directly, or refreshes it, asks the server for a file at that address. If the server has none, it returns a not-found response or an empty page. Open the homepage, click to another page, then reload it. If the reload goes blank, the server needs a rule that sends unknown addresses to the app's main page, so the browser can build the right screen.
A slow script in the head that holds the whole page
A script in the head that never finishes keeps a blank page blank. Some apps wait on a third-party script, such as a tag manager or a chat widget, before they draw anything, so a request that hangs leaves the container empty until it times out. In the Network tab the stuck request shows as pending for a long time, with the requests after it waiting behind it. Remove the script, or load it after the content draws, then check that the headings appear with that script blocked. A simulated visitor on a phone records slow requests on the step where they happened, so the same wait shows in its report.
What you get with Mimiq
- 01
Run it by hand, or on every pull request
Paste a link and a task in the app and watch the visitors work. Or run them on every preview deploy: the GitHub Action comments on the pull request, any other CI can call the MCP endpoint, and your coding agent can run it too.
- 02
Bugs and usability problems in one report
The browser records errors and failed or slow requests on the step they happened. The visitors say where the wording or the steps confused them, and where they left.
- 03
Visitors that behave like your audience
Each visitor is a different profile with a reason to be there, matched to who the page is for, described by you, or built from your own customers.
- 04
A prompt to fix each problem
Every problem comes with a fix to paste into Cursor, Claude Code, Lovable or any coding agent, and one prompt hands over the top problems at once. Then send the same visitors through again.
- 05
Follow every visitor
See each visitor's whole path, step by step with screenshots, and what it was thinking at every step. Ask any visitor a question.
The browser records relevant JavaScript errors and failed or slow app requests encountered during the run, attached to the step where they occurred. The visitors are simulated: they find problems, they do not predict how many real people will convert.
A later deploy can put the old script names back in front of visitors
A cache, an old open tab or a rollback can serve the old page with the old script names after a new deploy. The white screen returns for anyone holding that page. Rerun the same simulated visitor after each release, on a laptop and a phone. If the site sits behind a login, test with a test account, and check each preview deploy before the change goes live.
Starter
Try it on one launch
About 4 tests of 5 visitors
- Visitors on your landing page, signup and checkout
- Where they left and why, with a fix to copy for each problem
- Run it in the app or on every pull request
- Ask any visitor a question, included
- Test accounts and protected previews
Builder
Test every build
About 20 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Pro
Test every release, as a team
About 60 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Scale
Test at scale, every day
About 240 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Priority support
- Cancel anytime
Questions
Is it my browser or the site?
Open the site in a private window, or on another device and network. If it loads there, your browser held old files or an extension blocked the page. If it is blank everywhere, the fault is on the site. Compare the Console messages from both to be sure.
Why does it fail for some visitors and not others?
Cached pages and old tabs keep the old script names, so visitors who opened the site before a release can see the fault while new visitors do not. Blocking extensions and slow connections behave the same way. Check the cache settings and the release time before you blame the visitor.
Can a simulated visitor tell me which cause I have?
It shows whether the page arrived, which request failed on that step, and a screenshot of the blank screen. Reading the failed request and its status in the report narrows the cause. It does not predict how many real visitors would leave a blank page, and it does not read your deploy history.
Will a test fix the blank page?
No. A test finds the screen and the failed request, but you still change the release, the server rule or the script. Run the same visitor again after the change to confirm the page now draws.
Keep reading
Send visitors and see what breaks first.
Your first test is free: sign in with Google and it starts right away. Last checked 2026-11-02.