How to Fix and Improve WordPress Sites in 2026 (Complete Field Guide)

WordPress runs 43% of the web — and 90% of "my site is broken" tickets fall into the same six failures: white screen of death, "There has been a critical error", database connection error, 500 internal server error, broken admin after a plugin update, or unbearably slow load times. This is the master guide that links every specific fix on Vibers, plus the 3-click SimpleReview workflow that ships a Pull Request instead of a Zoom call with a freelancer.

mysite.com/wp-admin
SimpleReview extension
WPMySite+ New Howdy, admin
⚠ WordPress 6.9.1 is available! Please update now.
Please notify the site administrator. Important: please back up your database and files before upgrading.
wp-admin · update-core.php · core update notice
Posts
Hello world!
Spring catalog launch
Customer story: 3× faster checkout
≡ WP MySite + New Howdy, admin
CLEANUpdate nag hidden · demo "Hello world!" removed
✓ mu-plugin/dismiss-nags.php created · Hello-world deleted · PR #42 ready
Posts
Comment×
remove the demo post and update nag|
Fix it ✓ Done
WordPress expert · ready
waiting for selection…
Detected
PlatformWordPress 6.9
Themetwentytwentyfive
Filemu-plugins/
Fix plan
Create mu-plugins/dismiss-nags.php with remove_action calls + delete demo post · 1 file
Result
Update nag gone for editors. Demo Hello-world deleted. Core unchanged.
✓ PR #42 opened
fix(nags): hide WP update nag
mu-plugins/dismiss-nags.php · +14
Click SimpleReview → select the nag → Fix it → PR opens, no developer involved
Got a list of WP tweaks that keeps growing? → SimpleReview reads wp-content/themes/, finds the right file, opens a PR. Edits ship the same hour.

Key Takeaways

  • 90% of WP "broken" tickets = one of six well-known failures, each with a known fix path documented below.
  • WordPress edits live in 4 places: admin (content), themes (wp-content/themes/[theme]/), plugins (wp-content/plugins/[plugin]/), and core (wp-includes/, wp-admin/never touch).
  • SimpleReview Chrome Extension auto-detects WordPress via <meta name="generator" content="WordPress X.X"> and routes edits to your Git repo or via SFTP.
  • WordPress Plugin Directory at wordpress.org/plugins — we publish the simplereview plugin (currently in approval): Plugins → Add New → Search "SimpleReview" → Install → Activate. After activation an "Edit with SimpleReview" button appears next to every editor in the admin.
  • For complex things (multi-site, WPML, WooCommerce custom checkout, custom Gutenberg blocks, DB optimization) — use Vibers' human review instead of an agent.

The Six WordPress Failures (and the Fix for Each)

Almost every "WordPress is down" ticket is one of these six. The article column links to the full how-to we already shipped on Vibers — bookmark them; this page is the index.

SymptomArticleFix in one line
"There has been a critical error on this website" Critical error guide Read wp-content/debug.log, find offending plugin, deactivate via SFTP by renaming wp-content/plugins/[plugin].
"Error establishing a database connection" DB connection guide Verify wp-config.php DB_* credentials; repair tables with define('WP_ALLOW_REPAIR', true);.
White Screen of Death (WSOD) WP 6.9 broke my site Increase memory: define('WP_MEMORY_LIMIT', '256M'). Then bisect plugins/theme to isolate the conflict.
500 Internal Server Error This guide (see below) .htaccess corruption, PHP version mismatch, or OOM in mod_php.
Plugin not working after update WP 6.9 broke Slider Revolution Check the plugin changelog for breaking changes; downgrade by replacing the plugin folder with the previous version.
Site is unbearably slow This guide (see below) Caching plugin (WP Rocket / W3 Total Cache / LiteSpeed), image optimization, MySQL slow-query log.

500 Internal Server Error — the deeper dive

The 500 is WordPress's "something blew up before we got to render anything" page. Three causes cover almost all real-world cases:

  1. Corrupted .htaccess. Rename .htaccess to .htaccess.bak, then visit Settings → Permalinks in admin and click Save — WP regenerates a clean file.
  2. PHP version mismatch. WordPress 6.9 requires PHP 7.4+ and recommends 8.1+. If your host upgraded PHP and a plugin used a removed function (e.g., each(), create_function()), you get a 500. Check your host's PHP version selector.
  3. OOM (out of memory) in mod_php. A plugin or page builder allocates more memory than the PHP process is allowed. Bump memory_limit in php.ini or wp-config.php (define('WP_MEMORY_LIMIT', '256M')), then find the offender in the error log.

Site is slow — the 80/20

Most slow WordPress sites have the same three problems:

Three-Click Workflow with SimpleReview

  1. Install the SimpleReview Chrome extension from the Chrome Web Store. It's free with your own AI key (Claude Code or Codex), and there's a built-in mode if you don't have one.
  2. Connect your WordPress repo. Paste a GitHub / GitLab / Bitbucket URL. If your site isn't on Git yet (most aren't), give SFTP credentials — the extension creates a private working tree and commits from there. Managed hosts (WP Engine, Kinsta, Cloudways) all expose either Git or SFTP.
  3. Open your site, click the SimpleReview icon, click the element you want to change. Type the change in plain English: "hide this header on mobile", "remove 'Powered by Astra'", "disable comments site-wide", "duplicate this page". Click Fix it. The agent picks the right file in wp-content/themes/[theme]/ or your child theme, makes the edit, and opens a Pull Request you can merge.

Common WordPress Edits — and Where They Live

Knowing which of the four zones an edit belongs to is most of the battle. Here's the cheat sheet for the edits that show up over and over.

Hide an element on the page

Don't edit the parent theme — your changes vanish on the next theme update. Use a child theme and add CSS to wp-content/themes/[child]/style.css:

/* hide the "Recent Comments" widget */
#recent-comments-2 { display: none !important; }

For Elementor-built sites, header/footer overrides work differently — see the dedicated guide: How to hide the header in Elementor.

Remove "Powered by [Theme Name]" from the footer

Most themes put this in wp-content/themes/[theme]/footer.php or expose it through the Customizer. For Astra specifically, there's a hook you can override from a child theme's functions.php — full code at Remove "Powered by Astra".

Disable comments site-wide

One filter in your child theme's functions.php closes comments everywhere:

add_filter('comments_open', '__return_false');
add_filter('pings_open', '__return_false');

You'll also want to hide existing comment counts in the admin and remove the comment menu — full walkthrough at Disable comments in WordPress.

Add reCAPTCHA to wp-login.php

Brute-force bots hammer /wp-login.php all day. Two options:

add_action('login_form', function () {
  echo '<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>';
  echo '<script src="https://www.google.com/recaptcha/api.js" async defer></script>';
});

add_filter('wp_authenticate_user', function ($user, $password) {
  if (empty($_POST['g-recaptcha-response'])) {
    return new WP_Error('recaptcha_missing', 'Please complete the captcha.');
  }
  // verify with Google's siteverify endpoint here
  return $user;
}, 10, 2);

Duplicate a page

WordPress core doesn't ship a "Duplicate" button — you need a plugin or 12 lines of code. Both routes covered at Duplicate a WordPress page.

Change theme without losing content

Posts, pages, and media live in the database — they survive any theme change. What doesn't always survive:

Use Appearance → Themes → "Live Preview" before activating. And clone to staging first — every managed host has a staging button.

WordPress Plugin Directory — Our Plugin

The WordPress.org Plugin Directory is the largest plugin marketplace in the world (60,000+ plugins, all free). We publish simplereview there — currently under review by the WordPress Plugin Review team (the usual cycle is 1–3 weeks).

How to install once it's approved:

  1. WP-Admin → Plugins → Add New
  2. Search "SimpleReview"
  3. Click Install Now → Activate

Or upload the zip directly from wordpress.org/plugins/simplereview/ (Plugins → Add New → Upload Plugin).

Once active, an "Edit with SimpleReview" button appears next to every editor in the admin (post editor, theme editor, Customizer). Clicking it opens the SimpleReview side panel pre-scoped to the file you're looking at.

Until the plugin lands: the SimpleReview Chrome Extension already works on every WordPress site — it auto-detects WP from the <meta name="generator" content="WordPress X.X"> tag and the wp-content/ URL pattern, then commits via Git or SFTP. No plugin install needed.

Comparison Table — Freelancer vs SimpleReview

StepWordPress freelancerSimpleReview agent
Brief30 min Zoom or back-and-forth in chatType one sentence in the popup
Repo / SFTP setup15-60 min (per freelancer, every time)Once, then cached
Locate the right file (theme, child theme, plugin?)15-90 min depending on theme familiarityInstant — already indexed
Make the edit5-30 min5-30 seconds
Open a Pull RequestIf they use Git at allAlways
Cost for a 1-line change$30-80 (1-hour minimum WP rate)$0 (BYO key) or pennies of API usage
Turnaround1-7 days (timezone, queue)Same hour

When You Want a Senior WordPress Developer

This isn't anti-developer — it's anti-paying-an-hour-for-five-minutes. You still want a real human reviewing the code when the work touches:

That's exactly the slice Vibers handles — a real human reviews any PR you flag, sends a fix-up if needed, and approves before merge. Use the agent for the 80%, use a human for the 20% that earns its hourly rate.

Stop Paying $40/hr for One-Line WordPress Tweaks

SimpleReview's agent reads your WordPress repo, knows the theme/child-theme/plugin layout, and opens a PR for the change you described.

Install SimpleReview Chrome Extension →

WooCommerce custom checkout, multisite, security audit? Get a human review → Free first PR for a GitHub star.

Frequently Asked Questions

How do I fix "There has been a critical error on this website"?
Enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php, reproduce the error, then read wp-content/debug.log — the last fatal trace names the offending plugin or theme. Disable it by renaming its folder via SFTP (wp-content/plugins/[plugin-name][plugin-name].off). Site recovers immediately. Then check the plugin changelog or roll back to a working version. Full step-by-step at our critical-error guide.
How do I fix the WordPress database connection error?
Check wp-config.php for correct DB_NAME, DB_USER, DB_PASSWORD, DB_HOST. Most commonly the host changed (e.g., from localhost to 127.0.0.1, or to a managed-host endpoint). If credentials are right, the database server may be down — ping it. If tables are corrupted, add define('WP_ALLOW_REPAIR', true); to wp-config.php and visit /wp-admin/maint/repair.php. Detailed guide: Database connection error.
How fast is the SimpleReview Chrome extension on WordPress?
Auto-detection of WordPress (via the generator meta tag and the wp-content/ URL pattern) is instant on page load. Once you click an element and type the change, the agent locates the right file in your theme or child theme, makes the edit, and opens a Pull Request — typically 10-30 seconds for a one-line CSS or PHP change. No repository clone, no theme onboarding, no file-tree spelunking.
Does it work with managed hosting (WP Engine, Kinsta, Cloudways)?
Yes. Managed WordPress hosts almost always provide either a Git repo (WP Engine GitHub integration, Kinsta DevKinsta, Cloudways Git deployment) or SFTP. SimpleReview works with either. For hosts that lock down direct file editing, the PR-based workflow is actually safer — your staging environment runs the change first, you merge, deploy follows your existing pipeline.
What about block themes (Twenty Twenty-Four+) and Full Site Editing?
Block themes (FSE) store templates as HTML files in theme-name/templates/ and theme-name/parts/, plus a theme.json for design tokens. SimpleReview reads both. For pure design changes, it edits theme.json (colors, typography, spacing). For structural changes, it edits the template HTML. Classic themes (PHP-based) are still the majority of WP sites and are also fully supported.
Cheaper than a WordPress freelancer?
WordPress freelancer rates run $30-80/hour with a 1-hour minimum. SimpleReview is free with your own AI key (Claude Code or Codex), or pennies per edit on the built-in plan. The bigger saving is the overhead — a freelancer spends 30-90 minutes on setup, repo access, and locating the right file before writing a single line. SimpleReview already knows the WordPress file layout.

Related

Sources