Server error
Moderate effortFound on 3% of audited stores.
Identify and fix every page returning an HTTP 5xx server error so search engines can crawl and index those URLs again.
What it is
An HTTP 500 (or any 5xx) response means your web server encountered an error and could not deliver the page — instead of your store content, visitors and search-engine crawlers receive an error message. Common culprits include broken app/plugin code, a crashed database connection, exhausted server memory, a misconfigured hosting environment, or a recent theme/code change that introduced a bug. Unlike a 404 ("page not found"), a 5xx error tells crawlers the page should exist but the server failed to produce it.
Why it matters
Google explicitly drops URLs from its index when they persistently return 5xx errors — your products, categories, and blog posts simply disappear from search results, costing you organic traffic and revenue. Even intermittent 5xx errors waste your crawl budget: Googlebot retries and eventually de-prioritises your site, slowing the indexing of new and updated pages. Shoppers who land on a broken page immediately leave, driving up bounce rates and signalling poor quality to both users and search engines. If high-revenue pages stay broken long enough, recovering their rankings can take weeks or months even after the fix.
How to fix it
- Reproduce the error: open the affected URL in a browser and in an incognito window to confirm the 5xx response, then use your browser's DevTools Network tab or a tool like curl to see the exact status code and any error message.
- Check your server/application error logs immediately — they will name the file, line number, and exception that caused the failure. In hosted platforms check the built-in log viewer or your hosting control panel's error log.
- Isolate the cause: if the error appeared after a recent change (plugin/app install, theme edit, code deploy), revert or disable that change first to restore the page quickly.
- Fix the root cause — common fixes include: restoring a deleted database table, increasing PHP memory limits, correcting a broken template syntax, re-enabling a required service (Redis, Elasticsearch), or rolling back a bad dependency update.
- Verify the fix: confirm the URL returns HTTP 200 in your browser and via a status-check tool, then submit the URL in Google Search Console under URL Inspection > Request Indexing so Google re-crawls it promptly.
- Monitor: set up uptime monitoring (e.g. UptimeRobot, Better Uptime) and review Google Search Console's Pages report > 'Server error (5xx)' regularly to catch future breakage early.
Fix it on your platform
Pick your platform for the exact steps.
How to fix server error on Shopify
- In your Shopify Admin go to Settings > Apps and sales channels and disable any recently added apps one at a time to isolate an app causing the error.
- Go to Online Store > Themes > … (Actions) > Edit code and check your theme's Liquid templates for syntax errors — Shopify displays a Liquid error message inline when a template is broken.
- Check the Shopify Admin API activity log at Settings > Apps > [App name] > API logs if the error is app-related.
- For persistent errors, open a support ticket at help.shopify.com; Shopify's infrastructure team can pull server-side logs you cannot access yourself.
- Once fixed, go to Google Search Console > URL Inspection, paste the affected URL, and click 'Request Indexing'.
How to fix server error on WooCommerce
- Enable WordPress debug logging: in wp-config.php set define('WP_DEBUG', true); and define('WP_DEBUG_LOG', true); — errors are written to /wp-content/debug.log.
- In your hosting control panel (cPanel, Kinsta, etc.) open the Error Logs section to read PHP fatal errors and the exact stack trace.
- Deactivate plugins one by one via Plugins > Installed Plugins (start with recently updated ones) until the 500 disappears, then reactivate them to identify the culprit.
- Switch temporarily to a default WordPress theme (Twenty Twenty-Four) via Appearance > Themes to rule out a theme-level error.
- Fix the identified cause (update the plugin, contact its support, increase PHP memory in php.ini or wp-config.php with define('WP_MEMORY_LIMIT', '256M');), then re-enable debug mode off in production.
- Submit the repaired URL in Google Search Console > URL Inspection > Request Indexing.
How to fix server error on BigCommerce
- Log in to your BigCommerce control panel and go to Server Settings > Logs (or use the Store Logs section) to view application-level errors.
- If a recently installed app is suspect, go to Apps > My Apps, click the app, and Uninstall or Disable it to test.
- For Stencil theme errors, use the Stencil CLI locally (stencil start) which surfaces Handlebars template errors in your terminal; fix the template, then push via stencil push.
- For pages built with Page Builder, go to Storefront > Pages, open the affected page, and check for broken widgets — remove or reconfigure them.
- Contact BigCommerce Support via the Help menu with the affected URL; they can pull infrastructure logs.
- After the fix, use Google Search Console > URL Inspection > Request Indexing to prompt re-crawling.
How to fix server error on Wix
- Open the Wix Editor for your site and click Preview to confirm whether the error is site-wide or page-specific.
- Go to your Wix Dashboard > Apps > Manage Apps and remove or disconnect any recently added app to test if it is the source of the error.
- If you use Velo (Wix's dev platform), open the relevant page code in the Wix Editor > Dev Mode and check the browser console for JavaScript errors; also check Velo's backend .jsw files for syntax errors or failed data fetches.
- For Wix Stores product/collection pages, go to the Wix Editor, select the relevant dynamic page, and verify the dataset and database collection connections are intact under Connect to Data.
- If the error persists and is not caused by your own code, contact Wix Support via the Help Center — Wix hosts the infrastructure and must resolve platform-level 500 errors.
- After the fix, use Google Search Console > URL Inspection > Request Indexing.
How to fix server error on Squarespace
- Squarespace manages all server infrastructure, so a true 5xx on a native page is a platform issue — contact Squarespace Support via Help > Contact Us immediately, providing the exact URL and time of the error.
- If the error is on a page with a Code Block or Code Injection, go to Pages > [Page] > Edit > click the code block and remove or correct the custom HTML/JS/CSS — bad injected code can cause rendering failures.
- Check Settings > Advanced > Code Injection for any site-wide injected scripts that might be causing conflicts and temporarily remove them to test.
- For pages connected to external APIs via Squarespace Extensions, go to Extensions > [Extension] and check its connection status.
- After the fix, submit the URL via Google Search Console > URL Inspection > Request Indexing.
How to fix server error on Webflow
- In the Webflow Designer, open the Pages panel and click the affected page; use Preview to check if the error appears in the editor or only on the published site.
- Go to your Webflow Project Settings > Integrations and disable any recently added custom embed code or third-party script that may be causing a server-side error.
- For CMS Collection pages, go to the CMS panel > Collections, open the relevant collection, and verify required fields are not empty or misconfigured — a missing required binding can crash a template.
- Check Webflow Logic (if used) via the Logic tab for any workflow step throwing an error; disable the workflow temporarily and test.
- For infrastructure-level 5xx errors (Webflow's CDN/servers), contact Webflow Support at webflow.com/dashboard > Help — include the URL, time, and error code.
- After the fix, publish your site and submit the URL in Google Search Console > URL Inspection > Request Indexing.
How to fix server error on Adobe Commerce (Magento)
- SSH into your server and tail the application log: tail -f var/log/exception.log and var/log/system.log — these show the exact PHP exception causing the 500.
- Also check your web server error log (Apache: /var/log/apache2/error.log; Nginx: /var/log/nginx/error.log) for upstream PHP-FPM or out-of-memory errors.
- Disable recently installed extensions via the Admin panel at Stores > Configuration > Advanced > Advanced > Disable Modules Output, or via bin/magento module:disable Vendor_Module.
- Run bin/magento setup:upgrade and bin/magento cache:flush from the CLI to clear stale configuration after any module change.
- If the error is theme-related, switch to the Luma (default) theme via Content > Design > Configuration > [store view] > Applied Theme to isolate it.
- Increase PHP memory if needed in php.ini (memory_limit = 756M) or in .htaccess for Apache environments.
- After the fix, submit the URL in Google Search Console > URL Inspection > Request Indexing.
How to fix server error on WordPress.org
- Enable debug logging in wp-config.php: set define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); and read /wp-content/debug.log for the exact error.
- In your hosting control panel, check the PHP error log for fatal errors and the exact file/line.
- Deactivate all plugins via Plugins > Installed Plugins > Bulk Action > Deactivate, then reactivate one by one to find the culprit.
- Switch to a default WordPress theme (Appearance > Themes) to rule out theme-level errors.
- Increase PHP memory: add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php or set memory_limit = 256M in php.ini.
- After fixing, turn off debug mode and submit the URL in Google Search Console > URL Inspection > Request Indexing.
How to fix server error on PrestaShop
- Enable error display for debugging: in config/defines.inc.php (or via Admin > Advanced Parameters > Performance) set _PS_MODE_DEV_ to true temporarily.
- Check var/logs/ (PrestaShop 1.7+) or /log/ for exception logs with the exact error trace.
- Disable recently installed modules via Admin > Modules > Module Manager — deactivate and test.
- If the error is on a theme template, revert to the default Classic theme via Admin > Design > Themes.
- After fixing, set dev mode back to false and submit the URL in Google Search Console > URL Inspection > Request Indexing.
How to fix server error on OpenCart
- Enable OpenCart's error log via Admin > System > Settings > [Store] > Server tab, set Error Log to Yes.
- Download and review the error log from system/logs/error.txt — it will show the PHP error and file causing the 500.
- Disable recently installed extensions via Admin > Extensions > Extensions, select the type, and Uninstall/Disable.
- Check file permissions on the server; OpenCart requires specific permissions (e.g. 755 on directories, 644 on files) — wrong permissions can cause 500 errors.
- After fixing, submit the URL in Google Search Console > URL Inspection > Request Indexing.
How to fix server error on Next.js (Headless)
- Audit 5xx sources: check Vercel/server logs, or add a global fetch wrapper that logs non-2xx responses from your commerce API (e.g. in lib/fetcher.ts). Identify which routes (App Router pages, Route Handlers, or getServerSideProps functions) are throwing unhandled errors.
- For App Router routes, add an `error.tsx` (client boundary) AND a `global-error.tsx` at the `app/` root so uncaught render errors return a recoverable UI instead of a 500. Pair each with a `not-found.tsx` to avoid conflating 404s with 5xxs.
- For Route Handlers (`app/api/*/route.ts`) and legacy `pages/api/*` handlers, wrap all logic in try/catch and return explicit `NextResponse.json({ error: '...' }, { status: 500 })` — never let an unhandled promise rejection propagate, which causes Next.js to emit a bare 500 with no body.
- For `getServerSideProps` pages (pages/ router), wrap the entire function body in try/catch. On a caught error, either `return { props: { error: true } }` (renders a degraded page with 200) OR use `res.status(500)` only when the page is genuinely unserviceable — prefer a degraded 200 over a 500 for SEO.
- Harden commerce-API calls: add retry logic with exponential back-off (e.g. using `p-retry`) and set explicit `next: { revalidate }` / `cache` options so a single upstream blip does not bust the entire render. For ISR pages, returning stale content is always better than a 500.
- Deploy, then validate with `curl -I https://<your-domain>/affected-path` and confirm HTTP 200 (or 404 where appropriate). Re-submit affected URLs in Google Search Console via the URL Inspection tool to trigger re-crawl.
Does your site have this issue?
Run a free SEOLZ scan to find server error — and every other issue — across your whole site in minutes.
Scan my site freeFrequently asked questions
What is Server error?
An HTTP 500 (or any 5xx) response means your web server encountered an error and could not deliver the page — instead of your store content, visitors and search-engine crawlers receive an error message. Common culprits include broken app/plugin code, a crashed database connection, exhausted server memory, a misconfigured hosting environment, or a recent theme/code change that introduced a bug. Unlike a 404 ("page not found"), a 5xx error tells crawlers the page *should* exist but the server failed to produce it.
Why does server error matter?
Google explicitly drops URLs from its index when they persistently return 5xx errors — your products, categories, and blog posts simply disappear from search results, costing you organic traffic and revenue. Even intermittent 5xx errors waste your crawl budget: Googlebot retries and eventually de-prioritises your site, slowing the indexing of new and updated pages. Shoppers who land on a broken page immediately leave, driving up bounce rates and signalling poor quality to both users and search engines. If high-revenue pages stay broken long enough, recovering their rankings can take weeks or months even after the fix.
How do I fix server error?
Identify and fix every page returning an HTTP 5xx server error so search engines can crawl and index those URLs again.
Authoritative references
- SEO Starter Guide — Google Search Central
- Make your links crawlable — Google Search Central