{"id":90013,"date":"2026-03-27T10:00:00","date_gmt":"2026-03-27T10:00:00","guid":{"rendered":"https:\/\/blaminhor.com\/?p=90013"},"modified":"2026-02-13T16:33:38","modified_gmt":"2026-02-13T15:33:38","slug":"301-redirects-wordpress","status":"publish","type":"post","link":"https:\/\/blaminhor.com\/p\/m\/news\/301-redirects-wordpress\/","title":{"rendered":"How to Set Up 301 Redirects in WordPress the Right Way"},"content":{"rendered":"\n<p>You renamed a blog post. You deleted a page. You restructured your URL hierarchy. The old URLs are now 404 pages, and any bookmarks, backlinks, or search engine results pointing to them are broken.<\/p>\n\n\n\n<p>A <strong>301 redirect in WordPress<\/strong> tells browsers and search engines: \u00ab\u00a0This page has permanently moved here.\u00a0\u00bb It preserves your SEO value and sends visitors to the right place instead of a dead end.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When You Need 301 Redirects<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>After changing a post or page slug.<\/li>\n\n\n\n<li>After deleting content that had external backlinks.<\/li>\n\n\n\n<li>After migrating from one URL structure to another (e.g., <code>\/blog\/post-name<\/code> to <code>\/articles\/post-name<\/code>).<\/li>\n\n\n\n<li>After merging duplicate content into a single URL.<\/li>\n\n\n\n<li>After moving from a subdomain to a root domain.<\/li>\n<\/ul>\n\n\n\n<p>Every broken URL is lost traffic and lost SEO equity. <strong>301 redirects<\/strong> are the standard solution.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Manage 301 Redirects in WordPress<\/h2>\n\n\n\n<p>Activate the <strong>Redirections 301<\/strong> module in <a href=\"https:\/\/wp.blaminhor.com\">Blaminhor Essentials<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Simple Redirects<\/h3>\n\n\n\n<p>Enter a source path (<code>\/old-page<\/code>) and a target URL (<code>\/new-page<\/code>). The plugin handles the 301 response. No .htaccess editing, no code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Regex Redirects<\/h3>\n\n\n\n<p>For advanced patterns, enable regex mode on individual rules. Redirect all URLs matching <code>\/blog\/2024\/(.*)<\/code> to <code>\/articles\/$1<\/code>, or create patterns for entire URL structures.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Automatic Slug Change Detection<\/h3>\n\n\n\n<p>This is where the module saves you time. When you rename a post or taxonomy slug in the WordPress editor, the module <strong>detects the change and asks if you want to create a redirect<\/strong> from the old URL to the new one. This alone prevents most accidental 404s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Import From Other Plugins<\/h3>\n\n\n\n<p>Migrating from another redirection plugin? Import your existing rules from:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Redirection<\/strong> plugin<\/li>\n\n\n\n<li><strong>Safe Redirect Manager<\/strong><\/li>\n\n\n\n<li><strong>CSV files<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Hit Counter and Management<\/h3>\n\n\n\n<p>Each redirect tracks how many times it&rsquo;s been triggered, so you can see which rules are actively used. Toggle individual redirects on and off without deleting them. Bulk delete rules you no longer need.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Performance Considerations<\/h2>\n\n\n\n<p>Redirects are evaluated on every page request that doesn&rsquo;t match existing content. The module is designed to be lightweight \u2014 it loads its redirect table and matches against the current URL. No complex queries, no external calls, no noticeable impact on page load.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Don&rsquo;t Let Broken URLs Cost You Traffic<\/h2>\n\n\n\n<p>Every 404 page is a missed opportunity. A few minutes spent setting up <strong>301 redirects<\/strong> can preserve months of SEO work and ensure your visitors always land where they should.<\/p>\n\n\n\n<p>Part of <a href=\"https:\/\/wordpress.org\/plugins\/blaminhor-essentials\/\">Blaminhor Essentials<\/a>, free on WordPress.org.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manage permanent redirections with simple rules or regex. Auto-detect slug changes and import from other plugins.<\/p>\n","protected":false},"author":1,"featured_media":90043,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80],"tags":[],"class_list":["post-90013","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts\/90013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/comments?post=90013"}],"version-history":[{"count":2,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts\/90013\/revisions"}],"predecessor-version":[{"id":90068,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts\/90013\/revisions\/90068"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/media\/90043"}],"wp:attachment":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/media?parent=90013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/categories?post=90013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/tags?post=90013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}