> ## Documentation Index
> Fetch the complete documentation index at: https://vr-it-services-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Blank site or fatal error

> The site renders nothing, or shows a PHP fatal error.

# Blank site or fatal error

A blank white page, a 500 error, or a fatal error message. This is always urgent — the front end renders nothing — and it is usually one of a handful of causes.

> [!WARNING]
>
> **If you are mid-launch, restoring a backup is faster than debugging.** Diagnose the cause later, on staging.

## Read the error first

Most hosting providers show a useful error, and WordPress hides it by default.

| Where to look | How |
| - | - |
| **The page itself** | A hosting fatal error message with a file and line number |
| **Browser console** | F12 → **Console** tab — `Ctrl`/`Cmd` + `Shift` + `J` |
| **WordPress debug log** | `wp-content/debug.log`, if `WP_DEBUG_LOG` is enabled |
| **Host error log** | cPanel → **Errors**, or ask your host |
| **Site Health** | **Tools → Site Health → Info** — it may name the failing plugin |

**Turn on debug logging if you have file access**

Add this to `wp-config.php`, just above the line that says `That's all, stop editing!`:

```php theme={null}
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
```

Then reload the page and read `wp-content/debug.log`. **Turn it back off afterwards** —
debug mode on a live site is a security risk and slows everything down.

## Cause 1 — PHP version is too old

The most common cause on hosts that have not been maintained.

**1. Check your PHP version**

**Tools → Site Health → Info → Server**.

**2. You need 7.4 or higher**

The theme targets PHP 7.4+. PHP 7.2 and 7.3 cannot run it.

**3. Change it**

Most hosts offer a PHP version selector in cPanel or their dashboard. Switch to 8.1 or newer.

**4. Ask your host if you cannot**

It is a host setting, not a WordPress one, and most hosts will change it for you.

See [Requirements](/introduction/requirements.md).

## Cause 2 — a plugin fatal error

**1. Deactivate all plugins**

**Plugins → Installed Plugins → Deactivate** at the top. Not by the plugin, by the bulk action.

**2. Reload the site**

If it comes back, a plugin is the cause and you have narrowed it to the set.

**3. Reactivate in halves**

Turn on half, check, then the other half. Repeat until you find the one that breaks it.

**4. Leave it deactivated**

Then decide whether you need it, or find an alternative.

If you cannot reach the plugins screen, deactivate via WP-CLI or by renaming the plugin folder.

```bash theme={null}
# Via WP-CLI
wp plugin deactivate --all
wp plugin list --status=inactive
```

> [!WARNING]
>
> **An incompatible plugin version is the usual culprit.** Check whether the plugin updated shortly before the site broke. Rolling back to the previous version is a temporary fix that confirms the diagnosis.

## Cause 3 — memory exhausted

Symptoms are often a blank page, or a specific "Allowed memory size exhausted" error.

**1. Check your limit**

**Tools → Site Health → Info → Server** → `memory_limit`.

**2. Raise it**

Aim for 256M. Add this to `wp-config.php`:

```php theme={null}
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
```

**3. If it cannot be raised**

Some hosts cap PHP memory below what WordPress wants. That is a hosting limitation — raising it is worth discussing with your host.

## Cause 4 — a broken child theme

If you have one, it overrides the parent and can break independently.

```bash theme={null}
# Rename the child theme folder to disable it without deleting it
mv wp-content/themes/your-child-theme wp-content/themes/your-child-theme-disabled
```

**Always keep a child theme minimal**

Copying an entire parent template into a child theme, or adding a fatal function to `functions.php`,
is the most common cause of a child theme taking a site down. Add code in small increments and
test after each one.

## Cause 5 — a template error on one page

If only one page is blank rather than the whole site, that page's template is likely at fault.

> **Switch its template**
>
> In the page editor, change **Page Attributes → Template** to **Default Template**.

> **Switch its builder**
>
> If it was saved with Elementor, try **Saved Templates → Home** as a sanity check.

See [Missing header or footer](/troubleshooting/missing-header-footer.md).

> [!WARNING]
>
> **Have a working backup.** This is the one scenario that justifies it. Configure automated database and file backups before you need them.

## Diagnosis flow

**1. Is the whole site blank, or one page?**

One page → cause 5, a template problem. Everything → continue.

**2. Is the dashboard reachable?**

No → PHP version, memory, or a fatal error. Check Site Health's Info tab, which works even when the front end does not.

**3. Deactivate all plugins**

Site returns → a plugin. Bisect to find it.

**4. Disable your child theme**

Site returns → your custom code.

**5. Switch back to another theme**

Only as a last resort, and it will change your site's appearance.

## Prevention

| Action | Prevents |
| - | - |
| Keep PHP current | Most fatal errors |
| Update WordPress, theme, and plugins regularly | Version incompatibilities |
| Use a child theme rather than editing theme files | Update overwrites, and parent-theme fatals |
| Set memory to 256M | Exhaustion errors |
| Keep a tested backup | Every scenario above |
| Test updates on staging first | Production outages |

## Related

> **[Plugin conflicts](/troubleshooting/plugin-conflicts.md)**
>
> The bisect procedure in detail.

> **[Requirements](/introduction/requirements.md)**
>
> PHP and server requirements.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.