Docs → Problems

Something’s wrong

By what you’re seeing, not by which tool. If the site won’t load at all, go to Site down? Start here instead.

Slower or still slow

Speed complaints come in two kinds: it got slower after a change, or it was never fast. Both are in here.

When something looks wrong

Site is slower after installing MetaWrench
Almost always two things doing one job. Your host has a page cache and MetaWrench’s is on too: turn off Enable static page cache under Performance → Cache. Or another optimisation plugin is still active: deactivate it. Or a malware or backup job is running right now: wait ten minutes and test again.
Page speed score did not improve after turning everything on
Measure what actually changed. Performance → Speed → Check page speed, then read What is slowing it down. If the findings are about a huge image or a slow host, no switch fixes that: compress the image, or read the Hosting section below.
Score went down after turning on a setting
Performance → Speed → Past measurements → pick the best run → Use these. Then turn settings on one at a time from there, measuring after each.
First visit is slow, repeat visits fast
The page cache is empty until someone visits, and browser cache only helps repeat visitors. Press Clear & preload cache under Performance → Cache; it builds the cache from the sitemap so first visitors get a cached page too.
Admin dashboard is slow
MetaWrench’s performance settings never run in admin, so this is not them. Usual causes: a plugin loading on every admin page, a bloated database (Performance → Cleanup), or the host. Deactivate plugins one at a time to find it.
Time to first byte is high
That is the server thinking before it sends anything. Turn on Enable static page cache so WordPress does not run at all for most visits. If it is still over a second with the cache on, it is the host.
Mobile score is much lower than desktop
Normal; mobile is tested on a slow simulated phone. The fixes are the same: images first (WebP, responsive sizes, lazy load), then delay the scripts that are not needed on first paint.
Layout shifts while loading
Images without dimensions, or a font swapping in late. Turn on Auto-add image dimensions under Performance → Images, and Show text while fonts load under Fonts & Videos.
Related: Page speed · Cache

Looks wrong

The page loads but something is broken, missing, or moving. Nine times out of ten it is cache or a script setting, and both are reversible.

When something looks wrong

Edits are not showing on the live site
Performance → Cache → Clear & preload cache. Then your host’s cache. Then hard-refresh. If it still shows old content, a CDN is caching it; purge there.
Slider, menu, popup or form stopped working
Fastest: visit yoursite.com/?mw_safe_mode=1 as an administrator; everything comes back, then find the culprit. By hand: Performance → CSS / JS / HTML. Turn off Enable delayed JavaScript, reload. If fixed, the script was delayed; remove it from Files to delay. If not, turn off Defer, reload. If not, turn off Minify JavaScript. Re-enable each once the right file is excluded.
Page flashes unstyled for a moment
A stylesheet that styles the top of the page is in Reduce these files. Move it to Never reduce these files under Performance → CSS / JS / HTML.
Fonts look wrong or changed
Fonts & Videos. If you self-hosted fonts, press Remove downloaded fonts, then Download fonts now again. If that does not fix it, turn off Host Google Fonts on my own server.
Images are blurry
Quality too low under Performance → Images. Set it to 82 or above and re-run Start bulk conversion; it converts from originals, so raising quality later works.
Images at the top of the page load late
They are being lazy-loaded. Raise Images to load immediately, or turn on Load the main image first, under Performance → Images.
Images are broken after moving the site
Hard-refresh first. If still broken, a page builder stored the old domain in a way the address rewrite could not reach. Most builders have a Replace URL tool in their settings; run it with the old and new domain.
Embedded map or video disappeared
Security → General → turn off Restrict camera, microphone and location. Some embeds refuse to load when those are denied.
Video shows a thumbnail but will not play
Fonts & Videos → Load videos only when clicked only works with standard YouTube and Vimeo embeds. Turn it off for that page, or exclude the player script from delaying.
Site looks broken only for some visitors
Remove version query strings is on under Performance → CDN / DNS, with a long browser cache. Those visitors have your old stylesheet cached. Turn it off; it clears as their caches expire.
Page builder editor is broken
MetaWrench never runs on the editor; this is a cached copy. Clear the MetaWrench cache and the host cache.

Email

Contact forms, order confirmations, booking emails, password resets: they all go through the same door, so they all fail the same way.

When something looks wrong

Contact form says sent, nothing arrives
Email → SMTP → Enable SMTP, pick your provider, enter credentials, Send Test Email. Then check Email → Email log to see each message and whether it got out.
Not receiving WooCommerce order emails
Same fix. WooCommerce sends through WordPress mail like everything else. Turn on SMTP and check the log. If the log shows them as Sent, they are landing in spam: Email → Deliverability.
Not receiving booking or appointment emails
Same fix. Most booking plugins use WordPress mail. If the form plugin has its own sending settings, it may bypass WordPress entirely; check there too.
Password reset email never arrives
Same fix. If you are locked out and cannot turn on SMTP, have another admin reset it, or use the host’s control panel.
Emails go to spam
Email → Deliverability → run the checks. Add the SPF, DKIM and DMARC records it shows at your DNS host. Also make sure From Email under SMTP is on your own domain, not a Gmail address.
Test email fails with authentication error
Gmail and Yahoo need an App Password, not your login password. SendGrid username must be the literal word apikey. Mailgun and SES need their SMTP credentials, not account credentials.
Test email fails with connection timed out
The host blocks the SMTP port. Try 587 with TLS, then 465 with SSL. If both fail, ask the host, or use a provider that offers port 2525.
From address is replaced with something else
The provider only sends as addresses it has verified. Verify your domain with the provider, or set From Email to the account address.
Every email in the log is Failed
SMTP is on but misconfigured. Send a test from the SMTP tab; the error tells you which field.
An email is not in the log at all
The plugin that sends it bypasses WordPress mail. Check that plugin’s own email settings.

Security and access

Locked out, blocked, flagged, or worried.

When something looks wrong

Locked out of login
Wait the lockout period (30 minutes by default), or log in from a different network and press Clear all lockouts under Security → General. Then add your IP to Allowed IPs under Security → Firewall.
A real visitor or client is blocked
Security → Firewall → Firewall activity: find their IP and the reason. Add them to Allowed IPs. If the reason was rate limiting, raise Max requests per minute.
Uptime monitor or backup service is blocked
Add its IP range to Allowed IPs. Services publish their ranges.
Firewall blocks everyone when Cloudflare is on
The firewall sees Cloudflare’s IP for every visitor. Ask the host to enable real-IP restoration, or turn off MetaWrench’s firewall and use Cloudflare’s rules.
Malware scan flagged a plugin I trust
Encoded commercial code looks like malware. If you installed it from a reputable vendor, Mark as Safe.
Malware scan flagged a core file
Press Repair File. Core files should never be edited.
Quarantining a file broke the site
Restore it from the Quarantine list. Then Mark as Safe the plugin it belongs to.
Hundreds of failed logins a day
Normal for any WordPress site. Turn on login protection and the firewall; the list shrinks.
Upload stopped working after file protection
The upload tries to run PHP from the uploads folder, which is what the switch blocks. Report it to the plugin author, or turn file protection off and accept the risk.
Google says this site may be hacked
Go to Recovery → Hacked or redirecting and do every step.
Related: General · Firewall · Malware

Backup, restore and migration

The tools that have to work when nothing else does.

When something looks wrong

Backup times out or fails partway
The site is too big for one request on this host. Use Scheduled Backups, which run in chunks, or do Database Only and Files Only separately.
Scheduled backups are not running
WordPress cron needs visitors to fire. Ask the host for a real cron job hitting wp-cron.php every 15 minutes. Next scheduled backup on the tab shows if it is overdue.
Google Drive will not connect
The redirect URI in Google Cloud Console must exactly match the one on the Backup tab. Fix it there.
Dropbox rejects the app key or secret
Copy them again; a trailing space is the usual cause. The app needs files.content.write permission.
FTP or SFTP shows unavailable
The server lacks the PHP extension. Use a cloud destination; nothing to change on your side.
Restore failed
The rollback copy already put the site back. Read the error: usually disk space or a permission. Fix and try again.
Logged out after restore or migration
Expected. The users table came from the backup. Log in with the credentials from that date or that site.
Site address is wrong after restore
You restored a backup from a different domain. That is a migration: use Backup → Migrate with the same archive, which rewrites addresses. If you cannot, set WordPress Address and Site Address under Settings → General, then run a search-and-replace for the old domain.
Need to restore one page, not the whole site
Not supported directly. Restore Database Only to a staging copy, copy the page out, paste into live.
Backups are filling storage
Delete old ones from the Restore tab. Back up weekly instead of daily. A full backup is about the size of your uploads folder.
Migration upload fails at a certain size
Host upload limit. Ask them to raise upload_max_filesize and post_max_size, or migrate Database Only and Files Only separately.
Related: Backup · Restore · Migrate

Plugin and settings

MetaWrench itself.

When something looks wrong

The MetaWrench box is missing on the edit screen
Screen Options at the top right of the editor; tick MetaWrench. In Elementor it is on the WordPress edit screen, not inside the builder.
Settings did not save
Another plugin or the theme is stripping the form. Check for a red error at the top after saving. If nothing, your host’s security rules (mod_security) are blocking the request; ask them to whitelist admin.php?page=metawrench.
A setting turns itself back on
A cached copy of the settings page. Hard-refresh. If it persists, a second copy of the plugin is installed; check Plugins for duplicates.
Licence key says invalid
Copy it again from the purchase email; no spaces. If it is activated on another site, deactivate it there first under Settings → Licence. If it has expired, renew and the same key works again.
Pro features are locked after renewing
Settings → Licence → Deactivate, then Activate again with the same key. It re-checks with the server.
Dashboard cards are empty
Connections → Reporting: the right property is not selected, or the connection needs a day to fill. Check the picker, then wait.
Plugin update failed
Deactivate, delete, reinstall from the zip. Settings are kept (they live in the database). Licence stays activated.
Conflict with another plugin
Find which: deactivate all others, confirm the problem is gone, reactivate one at a time. Then email support with the plugin name and we will look at it.
I want to remove MetaWrench without losing my SEO
Titles and descriptions are stored in standard post meta, so most SEO plugins import them. Schema settings and redirects are MetaWrench’s own; copy the redirect list down first (SEO → Links → Redirects) and recreate it in the new plugin.

Hosting

Things MetaWrench can diagnose but only your host can fix. Each one is a sentence you can paste into a support ticket.

When something looks wrong

Could not write robots.txt, or cache folder not writable
“Please make the site root and wp-content writable by the PHP user.”
Outbound requests fail: page speed check, font download, Dropbox, Google
“Please confirm outbound HTTPS is allowed from PHP.”
SMTP port blocked
“Please open outbound port 587 (or 465).”
Text compression not working
“Please enable mod_deflate or mod_brotli (Apache) or gzip in the server config (Nginx).”
Scheduled jobs not running
“Please set up a system cron job to hit wp-cron.php every 15 minutes.”
Upload limit too small for migration
“Please raise upload_max_filesize and post_max_size to 512M.”
Settings page blocked by mod_security
“Please whitelist /wp-admin/admin.php?page=metawrench from mod_security rules.”
Time to first byte over a second with caching on
There is no ticket for this one. The server is slow. Move.

After installing

The first week, when everything is new.

When something looks wrong

Where do I start
Getting started: eight steps in the order that will not break anything.
Too many dashboard cards say not set up
They are optional. Customise your report at the top of the dashboard and untick the ones you do not use.
Which settings are safe to turn on today
Sitemap, schema, SMTP, backup, login protection, file protection. Everything under Performance, one at a time, measuring between.
Do I need to delete my old plugins
Yes, the ones doing a job MetaWrench now does: SEO, caching, security, backup, SMTP. Two plugins on one job conflict.
The 404 log and failed logins are already full
Normal; that traffic was always there, you just could not see it. Turn on the firewall and login protection.
I changed a setting and want to undo everything
Performance: turn on safe mode at the top of the Performance page, or Speed → Past measurements → Use these on the first run. Everything else: each area has its own switches and they all default to off.