{"id":29912,"date":"2023-10-10T07:00:00","date_gmt":"2023-10-10T14:00:00","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=29912"},"modified":"2026-08-02T18:47:45","modified_gmt":"2026-08-03T01:47:45","slug":"how-to-fix-wordpress-404-error","status":"publish","type":"post","link":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/","title":{"rendered":"How to Fix the WordPress 404 Not Found Error"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">You\u2019ve likely seen the \u201cPage Not Found\u201d error before.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unfortunately, if you operate a website of any sort (WordPress or not), the day will probably come when you see the message on one of your <i>own<\/i> pages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fortunately, like many <a href=\"https:\/\/www.dreamhost.com\/blog\/common-wordpress-errors\/\" target=\"_blank\" rel=\"noopener noreferrer\">common WordPress errors<\/a>, 404s are relatively easy to troubleshoot and fix. The solution usually involves restoring your site\u2019s permalink structure, which you can do in just a few minutes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>The short answer:<\/b> most WordPress 404 errors are fixed by resetting your permalinks. Head to <i>Settings<\/i> &gt; <i>Permalinks<\/i> in your dashboard and click <i>Save Changes<\/i> \u2014 you don\u2019t need to edit anything. If the error persists, restoring the default .htaccess file or deactivating a misbehaving plugin or theme resolves nearly every remaining case.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this article, we\u2019ll explain just what a 404 error is and what can cause one on your site. Then, we\u2019ll walk you through how to fix it in four simple steps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s get started!<\/p>\n\n\n\n<h2 id=\"overview\" class=\"wp-block-heading\">What is the WordPress 404 not found error?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A 404 error, also known as a \u201cPage Not Found\u201d error, is the HTTP status code a server returns when it can\u2019t find the page you requested. On WordPress sites, a 404 usually stems from broken permalink rewrite rules or a corrupted .htaccess file rather than content that\u2019s genuinely missing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The exact message can look a bit different depending on the browser you\u2019re using, but it will generally always contain either the \u201c404\u201d code or a \u201cpage not found\u201d message of some kind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Website owners can also create their own custom 404 Not Found pages. For example, here\u2019s what our (very cool, we might add) 404 page looks like:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1600\" height=\"815\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message.jpg.webp\" alt=\"404 Error Message\" class=\"wp-image-42044 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message.jpg.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/404-Error-Message-300x153.jpg 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/404-Error-Message-1024x522.jpg 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/404-Error-Message-768x391.jpg 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/404-Error-Message-1536x782.jpg 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message-600x306.jpg.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message-1200x611.jpg.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message-730x372.jpg.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message-1460x744.jpg.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message-784x399.jpg.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message-1568x799.jpg.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/404-Error-Message-877x447.jpg.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/815;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Seeing this notification (or any other <a href=\"https:\/\/www.dreamhost.com\/blog\/500-internal-server-error\/\" target=\"_blank\" rel=\"noopener noreferrer\">error message<\/a>) when trying to access your site can be frustrating. While there is a chance that your post <a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-white-text-missing-buttons-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">has actually gone missing<\/a>, the vast majority of the time, there\u2019s a more benign cause.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some common reasons WordPress posts might return 404 errors include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>A mistyped URL \u2014<\/b> It could simply be attributed to a typo in the URL. This is one of the most common causes.<\/li>\n\n\n\n<li><b>An issue with your <\/b><a href=\"https:\/\/www.dreamhost.com\/blog\/nameservers-vs-dns-guide\/\" target=\"_blank\" rel=\"noopener noreferrer\"><b>Domain Name System (DNS)<\/b><\/a><b> settings \u2014<\/b> If you\u2019ve recently updated any of your DNS information and see this error, it could be because the changes haven\u2019t propagated fully. It can take anywhere from a few hours up to 72 hours for this process to complete, per <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/215840248-DNS-propagation-overview\" target=\"_blank\" rel=\"noopener noreferrer\">DreamHost\u2019s DNS propagation overview<\/a>.<\/li>\n\n\n\n<li><b>Problems with add-ons or the structure of your site \u2014<\/b> <a href=\"https:\/\/www.dreamhost.com\/blog\/guide-to-wp-permalinks\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress permalink<\/a> problems can be caused by a missing, broken, or corrupted .htaccess file. Compatibility issues with WordPress components, such as plugins and themes, could also be the culprit.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">One telltale symptom worth knowing: if <i>every<\/i> page returns a 404 except your homepage, the cause is almost always broken rewrite rules rather than missing content. The homepage loads without a rewrite rule; every pretty-permalink URL needs one. Resetting your permalinks (step 1 below) usually repairs this. If it doesn\u2019t, the server itself may not be set up for pretty permalinks \u2014 ask your host to confirm that Apache\u2019s mod_rewrite module is enabled and that its AllowOverride setting lets .htaccess files take effect.<\/p>\n\n\n\n\n\n<div class=\"glossary-term\">\n\t<a\n\t\tclass=\"glossary-term__above-title\"\n\t\thref=\"\"\n\t\ttarget=\"_blank\"\n\t\trel=\"noopener noreferrer\"\n\t>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 512\"><path d=\"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"\/><\/svg>\n\t\t<span><\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\t<h3>DNS<\/h3>\n    <p>The Domain Name System (DNS) protocol keeps records of which domain names correspond to specific IP addresses. This system enables you to browse the web by typing in regular URLs instead of IP addresses.<\/p>\n            <a\n            href=\"https:\/\/www.dreamhost.com\/glossary\/domains\/dns\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    aria-label=\"Read More: DNS\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Read More                    <\/a>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Regardless of the cause, this error prevents access to your site and can scare off users and potential customers. So, it needs to be resolved as <i>quickly<\/i> as possible. This is why, shortly, we\u2019ll walk through troubleshooting and resolving the most common causes behind the WordPress 404 error.<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<p class=\"newsletter-form__title\">Get Content Delivered Straight to Your Inbox<\/p><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"why\" class=\"wp-block-heading\">Why 404 Errors Matter<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">404 errors pose several problems for a website beyond simply preventing you from accessing pages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, they <b>create a poor <\/b><a href=\"https:\/\/www.dreamhost.com\/glossary\/seo\/user-experience-ux\/\" target=\"_blank\" rel=\"noopener noreferrer\"><b>user experience (UX)<\/b><\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you land on a page that doesn\u2019t have what you were looking for \u2014&nbsp;or much of anything for that matter \u2014&nbsp;what do you do?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You leave. Go back to the search engine \u2014 and possibly avoid clicking on anything from that site again due to lack of trust.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If there are even a <i>few<\/i> of these errors on your site, they can absolutely turn away users (and potential buyers).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the worst-case scenario, those visitors could land on a competing website instead, costing you business.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally, 404 errors can also <b>hurt <\/b><a href=\"https:\/\/www.dreamhost.com\/blog\/improve-seo\/\" target=\"_blank\" rel=\"noopener noreferrer\"><b>your search engine optimization (SEO)<\/b><\/a>. Search engine crawlers won\u2019t index a page that returns a 404 because they think it doesn\u2019t exist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Get enough of these non-existent pages on your website, and you\u2019ll start training search engines that your site is full of low-value content. You\u2019ll begin to trail after your competitors in the search engine results pages (SERPs).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This matters because <a href=\"https:\/\/www.dreamhost.com\/glossary\/seo\/seo\/\" target=\"_blank\" rel=\"noopener noreferrer\">search<\/a> is still the largest single source of traffic for most websites. Organic search drove 53% of trackable website traffic, per <a href=\"https:\/\/www.brightedge.com\/blog\/organic-share-of-traffic-increases-to-53\" target=\"_blank\" rel=\"noopener noreferrer\">BrightEdge research (2019)<\/a> \u2014 and even with AI search eroding that share, <a href=\"https:\/\/seranking.com\/blog\/social-media-traffic-research-study\/\" target=\"_blank\" rel=\"noopener noreferrer\">SE Ranking<\/a> measured organic search at roughly 47% of traffic in October 2025, still the largest single channel.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1311\" height=\"1200\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1.png.webp\" alt=\"Organic search share of website traffic: 53% per BrightEdge in 2019, roughly 47% per SE Ranking in October 2025 \u2014 still the largest single channel\" class=\"wp-image-86660 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1.png.webp 1311w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-300x275.png 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-1024x937.png 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-768x703.png 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-600x549.png.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-1200x1098.png.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-730x668.png.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-784x718.png.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2026\/08\/organic-search-share-of-website-traffic-dreamops-1a3ec79a728d4cb699d96d044c8ce61d-p3-imageaudit-update-0-image-retry1-877x803.png.webp 877w\" data-sizes=\"(max-width: 1311px) 100vw, 1311px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1311px; --smush-placeholder-aspect-ratio: 1311\/1200;\" \/><figcaption class=\"wp-element-caption\">Organic search remains the largest single source of website traffic: 53% (BrightEdge, 2019) and roughly 47% (SE Ranking, October 2025).<\/figcaption><\/figure>\n\n\n\n<h2 id=\"before\" class=\"wp-block-heading\">What To Do <em>Before<\/em> Troubleshooting The WordPress 404 Error<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Worried about scaring off leads and search engines?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019re here to help \u2014&nbsp;but don\u2019t do anything in a rush!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Just before you dive into changing your permalink settings or accessing your .htaccess file, it\u2019s a smart idea to create a backup of your website and database. This way, if you accidentally make something worse, you can easily restore your site to a functioning state.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your WordPress website is hosted with <a href=\"https:\/\/www.dreamhost.com\/wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">DreamHost<\/a>, backups couldn\u2019t be easier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We offer easy one-click backups for every customer. Automated daily backups are also included with every DreamHost hosting plan. And <a href=\"https:\/\/www.dreamhost.com\/wordpress\/managed\/\" target=\"_blank\" rel=\"noopener noreferrer\">DreamPress<\/a>, DreamHost\u2019s managed WordPress hosting, goes further: your daily backups are kept for 14 days and stored offsite on Amazon S3, with fully managed performance on top.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also create a manual backup by following our guide to <a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-back-up-wordpress-tutorial\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Back Up Your WordPress Website<\/a>.<\/p>\n\n\n\n<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }<\/style>\n\n\n\n<div class=\"embed-container\"><iframe data-src=\"https:\/\/www.youtube.com\/embed\/etNPlNq7gqQ\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"about:blank\" class=\"lazyload\" data-load-mode=\"0\"><\/iframe><\/div>\n\n\n\n<div>&nbsp;<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><b><i>Related: <\/i><\/b><a href=\"https:\/\/www.dreamhost.com\/blog\/web-hosting-guide\/\" target=\"_blank\" rel=\"noopener noreferrer\"><b><i>How to Choose a Web Hosting Provider \u2014 15-Point Checklist<\/i><\/b><\/a><\/p>\n\n\n\n<h2 id=\"fix\" class=\"wp-block-heading\">How to fix the WordPress 404 not found error (4 steps)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With a fresh backup of your site in hand, it\u2019s time to get to work solving your problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Tip: <\/b>The best way to navigate this step-by-step guide is to follow it in order, enacting each change in order and checking if the error has been resolved after each one.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Reset Your WordPress Permalinks<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The first step to try is resetting your permalinks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Head to your WordPress dashboard and navigate to <i>Settings<\/i> &gt; <i>Permalinks<\/i>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1600\" height=\"1077\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks.jpg.webp\" alt=\"Permalinks\" class=\"wp-image-42046 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks.jpg.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Permalinks-300x202.jpg 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Permalinks-1024x689.jpg 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Permalinks-768x517.jpg 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Permalinks-1536x1034.jpg 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks-600x404.jpg.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks-1200x808.jpg.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks-730x491.jpg.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks-1460x983.jpg.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks-784x528.jpg.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks-1568x1055.jpg.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Permalinks-877x590.jpg.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1077;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">From here, just click on <i>Save Changes<\/i> at the bottom of the screen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seriously, that\u2019s it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You don\u2019t actually need to edit anything. Clicking that button will update the permalink settings even if you don\u2019t make any changes. This is important because it also refreshes the rewrite rules used for \u201c<a href=\"https:\/\/developer.wordpress.org\/advanced-administration\/server\/web-server\/httpd\/\" target=\"_blank\" rel=\"noopener noreferrer\">pretty permalinks<\/a>.\u201d Without these rules that resolve pretty permalinks, any pages that use them would display the 404 Page Not Found error.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With this done, go ahead and reload the pages you were trying to access. If everything works, you\u2019re all done!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you still get a 404 error, head to the next step.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Restore Your .htaccess File<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If resetting your permalinks didn\u2019t work, the next strategy is restoring your .htaccess file. This controls how WordPress interacts with the web server and how it generates permalinks for your pages. Restoring it to the default settings can fix sudden 404 errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One caveat before you go looking: .htaccess is specific to the Apache web server. If your site runs on nginx instead (common on managed WordPress platforms), there\u2019s no .htaccess file to restore \u2014 with nginx, rewrite rules live in the main server configuration, which only an administrator can edit. Not sure which server you\u2019re running? Ask your host before hunting for the file.<\/p>\n\n\n\n\n\n<div class=\"glossary-term\">\n\t<a\n\t\tclass=\"glossary-term__above-title\"\n\t\thref=\"\"\n\t\ttarget=\"_blank\"\n\t\trel=\"noopener noreferrer\"\n\t>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 512\"><path d=\"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"\/><\/svg>\n\t\t<span><\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\t<h3>.htaccess<\/h3>\n    <p>\u2018.htaccess\u2019 is a configuration file used by the Apache web server software. The .htaccess file contains directives (instructions) that tell Apache how to behave for a particular website or directory.<\/p>\n            <a\n            href=\"https:\/\/www.dreamhost.com\/glossary\/hosting\/htaccess\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    aria-label=\"Read More: .htaccess\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Read More                    <\/a>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">To restore the .htaccess file, you\u2019ll need to open it up and make some simple edits. There are a few ways to do this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can use a Secure File Transfer Protocol (SFTP) client, such as FileZilla. We have detailed instructions for <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/115000675027-FTP-overview-and-credentials\" target=\"_blank\" rel=\"noopener noreferrer\">connecting via SFTP<\/a> if you need help.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re using DreamHost, you can use the built-in file manager. <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/360003490852\" target=\"_blank\" rel=\"noopener noreferrer\">This guide from our knowledge base<\/a> will walk you through accessing and using the DreamHost file manager.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you have the file manager open, select the folder that corresponds to your <a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-choose-the-right-domain-name\/\" target=\"_blank\" rel=\"noopener noreferrer\">domain name<\/a>. You\u2019ll find the .htaccess file inside (if you see items such as \u201cwp-content,\u201d you\u2019re in the right place!).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Just in case anything goes wrong, first copy the current contents of the .htaccess file and paste them somewhere for safekeeping.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, replace the contents of the .htaccess file with the following:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code># BEGIN WordPress<br>\nRewriteEngine On<br>\nRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]<br>\nRewriteBase \/<br>\nRewriteRule ^index.php$ - [L]<br>\nRewriteCond %{REQUEST_FILENAME} !-f<br>\nRewriteCond %{REQUEST_FILENAME} !-d<br>\nRewriteRule . \/index.php [L]<br>\n# END WordPress<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the default .htaccess code for WordPress, per the <a href=\"https:\/\/developer.wordpress.org\/advanced-administration\/server\/web-server\/httpd\/\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress Advanced Administration Handbook<\/a>. Once you\u2019ve pasted this in and saved your changes, your restoration is almost complete!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We say almost because restoring this file will also reset the permalink settings for your WordPress site. Therefore, if you\u2019re using a custom permalink structure (or have changed it at all from the default), you now need to restore those settings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do so, head back to your WordPress dashboard and navigate to <i>Settings<\/i> &gt; <i>Permalinks<\/i> (just like step 1 above). Restore your preferred settings, then <i>Save Changes<\/i>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, refresh your website and attempt to load the pages that were returning 404 errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If everything works now, congratulations!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If not, proceed again to the next step.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Disable Your WordPress Plugins And Theme<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019ve reset your permalinks and .htaccess file but you\u2019re still seeing 404 errors on your site, the next step is to check your WordPress theme and plugins.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.dreamhost.com\/blog\/intro-to-wordpress-plugins\/\" target=\"_blank\" rel=\"noopener noreferrer\">Plugins<\/a>, in particular, can sometimes have bugs or compatibility issues that prevent a site from loading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, let\u2019s start there.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The basic idea is to disable them one by one, checking on those 404s each time. If the error persists, turn it back on and move to the next one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To get started, head to your WordPress dashboard and navigate to <i>Plugins<\/i> &gt; <i>Installed Plugins<\/i>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1600\" height=\"700\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins.jpg.webp\" alt=\"Installed Plugins\" class=\"wp-image-42048 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins.jpg.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Installed-Plugins-300x131.jpg 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Installed-Plugins-1024x448.jpg 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Installed-Plugins-768x336.jpg 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Installed-Plugins-1536x672.jpg 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins-600x263.jpg.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins-1200x525.jpg.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins-730x319.jpg.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins-1460x639.jpg.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins-784x343.jpg.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins-1568x686.jpg.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Installed-Plugins-877x384.jpg.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/700;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Locate and click the <i>Deactivate<\/i> button associated with the top active plugin on the screen. (Active plugins should have a blue background. Inactive ones should have a white background and no option to deactivate.)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1600\" height=\"700\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate.jpg.webp\" alt=\"Deactivate\" class=\"wp-image-42049 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate.jpg.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Deactivate-300x131.jpg 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Deactivate-1024x448.jpg 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Deactivate-768x336.jpg 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/Deactivate-1536x672.jpg 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate-600x263.jpg.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate-1200x525.jpg.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate-730x319.jpg.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate-1460x639.jpg.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate-784x343.jpg.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate-1568x686.jpg.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/Deactivate-877x384.jpg.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/700;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now, refresh your site and see if the 404 error is still occurring.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you get the dreaded error message, head back to the plugins, re-activate the one you just tried, and move to the next active one on the list.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you find one that resolves the issue, you can check if the plugin has an update that may resolve the problem. If updating it and then refreshing one more time doesn\u2019t work, look for an alternative plugin with similar functionality.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But if <i>none<\/i> of the plugins prove to be the issue, it\u2019s time to try changing your WordPress theme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do that, head to <i>Appearance<\/i> &gt; <i>Themes<\/i>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1600\" height=\"824\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme.jpg.webp\" alt=\"How To Use WordPress Theme Editor, Choose Your Theme\" class=\"wp-image-42050 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme.jpg.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-300x155.jpg 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-1024x527.jpg 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-768x396.jpg 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-1536x791.jpg 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-600x309.jpg.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-1200x618.jpg.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-730x376.jpg.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-1460x752.jpg.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-784x404.jpg.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-1568x808.jpg.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/How-To-Use-WordPress-Theme-Editor-Choose-Your-Theme-877x452.jpg.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/824;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Your currently active theme is marked as such. Hover over one of the others and click on <i>Activate<\/i>. Then, refresh your site and try to access the problematic page again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note that changing your theme can alter your site significantly. Additionally, if you\u2019ve made any <a href=\"https:\/\/www.dreamhost.com\/blog\/wordpress-theme-editor\/\" target=\"_blank\" rel=\"noopener noreferrer\">edits to your theme<\/a>, those can be lost if your theme is changed or even updated. So, again, spend some time backing up your site before you go clicking around inside your themes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you end up finding that it\u2019s your theme that\u2019s the issue, you may need to spend some time finding one that provides a similar look and features.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Need help? Check out <a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-pick-wordpress-theme\/\" target=\"_blank\" rel=\"noopener noreferrer\"><i>18 Pro Tips For Choosing The Perfect WordPress Theme<\/i><\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4 (Bonus): Set Up A 301 Redirect For Moved Content<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Just in case you <i>do<\/i> need to move content to a new URL and don\u2019t want the old one to throw a 404 error, here\u2019s one final step.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You\u2019ll want to set up some 301 <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/215455377-How-do-I-redirect-my-domain-\" target=\"_blank\" rel=\"noopener noreferrer\">redirects<\/a> to point that old URL to the new one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The easiest way to do this is with the <a href=\"https:\/\/wordpress.org\/plugins\/redirection\/\" target=\"_blank\" rel=\"noopener noreferrer\">Redirection<\/a> plugin. This tool will enable you to quickly set up the redirects you need. Plus, it\u2019s free and user-friendly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A quick word on <i>when<\/i> to redirect: set up a 301 only when a genuinely equivalent page exists for the old URL. If you deleted a page on purpose and nothing replaces it, letting it return a 404 is normal and harmless \u2014 <a href=\"https:\/\/support.google.com\/webmasters\/answer\/7440203\" target=\"_blank\" rel=\"noopener noreferrer\">Google\u2019s Search Console documentation<\/a> says it\u2019s fine for a URL to stay unindexed when it\u2019s \u201ca 404 for a page that you\u2019ve removed and have no replacement for.\u201d And resist blanket-redirecting every dead URL to your homepage: visitors land somewhere that doesn\u2019t answer their click, and you lose track of which URLs actually need fixing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b><i>Related: <\/i><\/b><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-redirect-loop-wordpress-error\/\" target=\"_blank\" rel=\"noopener noreferrer\"><b><i>How to Fix the \u201cToo Many Redirects\u201d Error in WordPress (13 Methods)<\/i><\/b><\/a><\/p>\n\n\n\n<h2 id=\"login-404\" class=\"wp-block-heading\">What to do when your wp-admin or login page returns a 404<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every step above assumes you can reach your WordPress dashboard. But what if the 404 lands on the login page itself?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Work through these checks in order:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Try the standard login URL \u2014<\/b> WordPress serves its login screen from the wp-login.php file, so type yourdomain.com\/wp-login.php directly into your address bar. An outdated bookmark or a simple typo is often the whole problem.<\/li>\n\n\n\n<li><b>Check for a customized login URL \u2014<\/b> Some security plugins hide the login page behind a custom address, which makes the default one return a 404 on purpose. Check the plugin\u2019s settings (or the confirmation email it sent) for the new URL.<\/li>\n\n\n\n<li><b>Clear your browser cache \u2014<\/b> A cached redirect can keep sending you to a dead login URL. Clear the cache or try a private browsing window.<\/li>\n\n\n\n<li><b>Confirm wp-login.php still exists \u2014<\/b> Connect via SFTP (or the DreamHost file manager from step 2) and look for wp-login.php in your site\u2019s root folder. If it\u2019s missing or damaged, restore it from your backup or upload a fresh copy from an official WordPress download.<\/li>\n\n\n\n<li><b>Check file permissions and .htaccess \u2014<\/b> Incorrect file permissions can make files unreachable; your host can reset them if you\u2019re unsure. And since a corrupted .htaccess file can 404 the login page too, the restore in step 2 applies here as well.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"create\" class=\"wp-block-heading\">How To Create Your Own \u201cError 404 Not Found\u201d Page<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to set up your own custom 404 error page, you can do so relatively easily.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/wordpress.org\/plugins\/404page\/\" target=\"_blank\" rel=\"noopener noreferrer\">Smart Custom 404 Error Page<\/a> plugin (formerly \u201c404page,\u201d now maintained by NerdPress) is a very popular option for quickly creating a custom error page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress also has a built-in way to do this: classic themes use a 404.php template file inside the theme folder, as documented in <a href=\"https:\/\/codex.wordpress.org\/Creating_an_Error_404_Page\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress\u2019s guide to creating an error 404 page<\/a>. If you\u2019re running a block theme, you can edit the 404 template directly in the Site Editor instead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Or, you can take a more hands-on approach and do it manually. This is still pretty simple and only requires adding one line of code to the .htaccess file (accessed via your file manager, like in step 2 above) to target the error to a specific page. Then, you just have to create that new page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have full instructions for setting up <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/215840318\" target=\"_blank\" rel=\"noopener noreferrer\">custom error pages<\/a> to walk you through the process.<\/p>\n\n\n\n<h2 id=\"tools\" class=\"wp-block-heading\">Tools To Help You Monitor 404 Errors Moving Forward<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, if you want to keep an eye out for 404 errors in the future, you can do so with a few handy tools.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re using Google Analytics 4 to understand website traffic, you can also use it to find 404 errors on your site. Databox has a <a href=\"https:\/\/databox.com\/google-analytics-404-report\" target=\"_blank\" rel=\"noopener noreferrer\">guide on how<\/a>, including steps for GA4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/search.google.com\/search-console\/about\" target=\"_blank\" rel=\"noopener noreferrer\">Google Search Console<\/a> also has a Page indexing report that shows URLs Google tried to crawl and couldn\u2019t index \u2014 including pages returning \u201cNot found (404).\u201d This is a simple way to see all the issues Google is encountering.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also enter your URL into a specialized tool such as the <a href=\"https:\/\/error404.atomseo.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Broken Link Checker<\/a>, which will scan your entire site for broken links and let you know if it finds a 404 page. It\u2019s free and easy to use.<\/p>\n\n\n\n<h2 id=\"faq\" class=\"wp-block-heading\">FAQs about the WordPress 404 error<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Why does my WordPress site say 404 not found?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Usually because WordPress\u2019s permalink rewrite rules are broken or the .htaccess file is corrupted, not because the content is gone. Resetting permalinks (<i>Settings<\/i> &gt; <i>Permalinks<\/i> &gt; <i>Save Changes<\/i>) rebuilds those rules and resolves most WordPress 404 errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What does \u201c404 \u2013 file or directory not found\u201d mean?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s another wording of the same 404 error: the server can\u2019t find anything at the URL you requested. The page may have been removed, renamed, or be temporarily unavailable. Check the URL for typos first, then troubleshoot permalinks if it\u2019s your own site.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do 404 errors hurt SEO?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A few won\u2019t. Google\u2019s documentation says a 404 is fine for a page you\u2019ve removed and don\u2019t plan to replace. But pages you want ranked can\u2019t be indexed while they return 404, and widespread broken links create a poor experience for visitors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why do all my WordPress pages except the homepage return 404?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">That pattern almost always means broken rewrite rules. The homepage loads without them; every pretty-permalink URL doesn\u2019t. Reset your permalinks first, then restore the default .htaccess file. If neither works, ask your host whether mod_rewrite is enabled.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why am I getting a 404 error on my WordPress login page?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Typically a customized or mistyped login URL, a missing wp-login.php file, or a corrupted .htaccess file. Try yourdomain.com\/wp-login.php directly, clear your browser cache, and confirm via SFTP that wp-login.php still exists in your site\u2019s root folder.<\/p>\n\n\n\n<h2 id=\"more\" class=\"wp-block-heading\">More WordPress Error Tutorials<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Want to learn how to fix other <a href=\"https:\/\/www.dreamhost.com\/blog\/common-wordpress-errors\/\" target=\"_blank\" rel=\"noopener noreferrer\">common WordPress errors<\/a>? We\u2019ve created a <i>comprehensive<\/i> series of guides to help!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check \u2019em out:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-common-ssl-issues-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix Common SSL Issues in WordPress (5 Key Solutions)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-common-image-issues-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix 16 Common Image Issues in WordPress<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/503-service-unavailable-error\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the 503 Error in WordPress<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-keeps-logging-out-error\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the \u201cWordPress Keeps Logging Out\u201d Problem (8 Methods)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-memory-limit-error\/\" target=\"_blank\" rel=\"noopener noreferrer\">How To Fix the WordPress Memory Exhausted Error by Increasing Your Site\u2019s PHP Memory Limit<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-white-text-missing-buttons-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix White Text and Missing Buttons in the WordPress Visual Editor (5 Steps)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-login-page-redirect-issue\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the WordPress Login Page Refreshing and Redirecting Issue (3 Ways)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/500-internal-server-error\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the 500 Internal Server Error in WordPress<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-syntax-errors-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix Syntax Errors in WordPress<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-not-sending-email\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the WordPress Not Sending Email Issue<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/360021570592-Error-establishing-a-database-connection\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the Error Establishing Database Connection in WordPress<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/wordpress-sidebar-below-content-error\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the Sidebar Below Content Error in WordPress (In 3 Steps)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-error-sure-you-want-to-do-this\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the \u201cAre You Sure You Want to Do This\u201d Error in WordPress (4 Methods)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-403-forbidden-error-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the 403 Forbidden Error in WordPress (5 Methods)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-redirect-loop-wordpress-error\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix the \u201cToo Many Redirects\u201d Error in WordPress (13 Methods)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dreamhost.com\/blog\/this-site-contains-malware-warning\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to Fix \u201cThe Site Ahead Contains Harmful Programs\u201d Warning in WordPress<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"handle\" class=\"wp-block-heading\">Let Us Handle Those WordPress 404 Errors<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A 404 error can be frustrating \u2014 <i>especially<\/i> when it happens on your own site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These messages cause problems with SEO and ruin your site\u2019s <a href=\"https:\/\/www.dreamhost.com\/glossary\/seo\/user-experience-ux\/\" target=\"_blank\" rel=\"noopener noreferrer\">UX<\/a>. Fortunately, they\u2019re not too difficult to resolve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fixing 404 web pages generally involves restoring your site\u2019s permalink structure and setting up redirects for any posts that are <i>actually<\/i> gone. You can then use tools, such as Google Search Console, to monitor your site for future 404s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to spend less time dealing with errors, consider switching to <a href=\"https:\/\/www.dreamhost.com\/wordpress\/managed\/\" target=\"_blank\" rel=\"noopener noreferrer\">DreamPress<\/a>, DreamHost\u2019s managed WordPress hosting.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can engage our <a href=\"https:\/\/www.dreamhost.com\/pro-services\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pro Services teams<\/a> on a retainer or on-demand basis to take website management off your plate, so you can get back to business!<\/p>\n\n\n\n\n\n<div\n\tclass=\"article-cta-shared article-cta-small\"\n>\n    <div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder.webp 1x, https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder-x2.webp 2x\" width=\"877\" height=\"539\"  alt=\"Ad background image\" \/><\/div>\n\n\n\n\n  <div class=\"content-btm\">\n    <h2\n      class=\"h2--md\"\n    >\n      Skip the Stress\n    <\/h2>\n    <p\n      class=\"p--md\"\n    >\n      Avoid troubleshooting when you sign up for DreamPress. Our friendly WordPress experts are available 24\/7 to help solve website problems \u2014 big or small.\n    <\/p>\n\n            <a\n            href=\"https:\/\/www.dreamhost.com\/wordpress\/managed\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    aria-label=\"Check Out Plans: Skip the Stress\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Check Out Plans                    <\/a>\n\n  <\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>You\u2019ve likely seen the \u201cPage Not Found\u201d error before. Unfortunately, if you operate a website of any sort (WordPress or not), the day will probably come when you see the message on one of your own pages. Fortunately, like many common WordPress errors, 404s are relatively easy to troubleshoot and fix. The solution usually involves [&hellip;]<\/p>\n","protected":false},"author":1077,"featured_media":42040,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"404 Not Found WordPress Error & How to Fix It - DreamHost","_yoast_wpseo_opengraph-description":"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.","_yoast_wpseo_twitter-title":"404 Not Found WordPress Error & How to Fix It - DreamHost","_yoast_wpseo_twitter-description":"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.","toc_headlines":"[[\"overview\",\"What is the WordPress 404 not found error?\"],[\"why\",\"Why 404 Errors Matter\"],[\"before\",\"What To Do Before Troubleshooting The WordPress 404 Error\"],[\"fix\",\"How to fix the WordPress 404 not found error (4 steps)\"],[\"login-404\",\"What to do when your wp-admin or login page returns a 404\"],[\"create\",\"How To Create Your Own \u201cError 404 Not Found\u201d Page\"],[\"tools\",\"Tools To Help You Monitor 404 Errors Moving Forward\"],[\"faq\",\"FAQs about the WordPress 404 error\"],[\"more\",\"More WordPress Error Tutorials\"],[\"handle\",\"Let Us Handle Those WordPress 404 Errors\"]]","hide_toc":false,"show_updated_at":"1","footnotes":""},"categories":[13127,550,696],"tags":[],"class_list":["post-29912","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-errors-troubleshooting","category-tutorials","category-wordpress"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>404 Not Found WordPress Error &amp; How to Fix It - DreamHost<\/title>\n<meta name=\"description\" content=\"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"404 Not Found WordPress Error &amp; How to Fix It - DreamHost\" \/>\n<meta property=\"og:description\" content=\"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-10T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-03T01:47:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Social-Image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jos Velasco\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"404 Not Found WordPress Error &amp; How to Fix It - DreamHost\" \/>\n<meta name=\"twitter:description\" content=\"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Social-Image.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jos Velasco\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"404 Not Found WordPress Error & How to Fix It - DreamHost","description":"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/","og_locale":"en_US","og_type":"article","og_title":"404 Not Found WordPress Error & How to Fix It - DreamHost","og_description":"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.","og_url":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2023-10-10T14:00:00+00:00","article_modified_time":"2026-08-03T01:47:45+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Social-Image.jpg","type":"image\/jpeg"}],"author":"Jos Velasco","twitter_card":"summary_large_image","twitter_title":"404 Not Found WordPress Error & How to Fix It - DreamHost","twitter_description":"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.","twitter_image":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Social-Image.jpg","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Jos Velasco","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/#article","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/"},"author":{"name":"Jos Velasco","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/33a01bfa83e29abbe21403d23dd8ea1a"},"headline":"How to Fix the WordPress 404 Not Found Error","datePublished":"2023-10-10T14:00:00+00:00","dateModified":"2026-08-03T01:47:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/"},"wordCount":3241,"publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Hero-Image.jpg","articleSection":["Errors &amp; Troubleshooting","Tutorials","WordPress"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/","url":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/","name":"404 Not Found WordPress Error & How to Fix It - DreamHost","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/#primaryimage"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Hero-Image.jpg","datePublished":"2023-10-10T14:00:00+00:00","dateModified":"2026-08-03T01:47:45+00:00","description":"404 not found WordPress errors are fixable in minutes \u2014 reset permalinks, restore .htaccess, or disable a bad plugin\/theme to get your pages back online.","breadcrumb":{"@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/#primaryimage","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Hero-Image.jpg","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2021\/03\/How-To-Fix-WordPress-Error-404-Not-Found-Hero-Image.jpg","width":1460,"height":1095,"caption":"How To Fix WordPress Error 404 Not Found Hero Image"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dreamhost.com\/blog\/how-to-fix-wordpress-404-error\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dreamhost.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Fix the WordPress 404 Not Found Error"}]},{"@type":"WebSite","@id":"https:\/\/www.dreamhost.com\/blog\/#website","url":"https:\/\/www.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/33a01bfa83e29abbe21403d23dd8ea1a","name":"Jos Velasco","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2023\/08\/jos-velasco-150x150.png","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2023\/08\/jos-velasco-150x150.png","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2023\/08\/jos-velasco-150x150.png","caption":"Jos Velasco"},"description":"Jos Velasco is a WordPress Professional Consultant at DreamHost. His responsibilities include helping with advanced WordPress cases, creating training material, and identifying trends impacting the WordPress community. In his free time, he enjoys climbing mountains, eating healthy, and watching drama movies. Follow Jos on LinkedIn: https:\/\/www.linkedin.com\/in\/josvelasco\/","url":"https:\/\/www.dreamhost.com\/blog\/author\/josvelasco\/"}]}},"lang":"en","translations":{"en":29912,"es":29927,"pl":52184,"pt":55348,"ru":55351,"de":55369,"uk":55375,"it":67985,"fr":69543,"nl":69578},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/29912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1077"}],"version-history":[{"count":1,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/29912\/revisions"}],"predecessor-version":[{"id":86663,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/29912\/revisions\/86663"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/42040"}],"wp:attachment":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=29912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=29912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=29912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}