{"id":20249,"date":"2012-10-08T12:01:39","date_gmt":"2012-10-08T12:01:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wp-seo-redirect-301\/"},"modified":"2021-10-11T00:10:44","modified_gmt":"2021-10-11T00:10:44","slug":"wp-seo-redirect-301","status":"publish","type":"plugin","link":"https:\/\/et.wordpress.org\/plugins\/wp-seo-redirect-301\/","author":10311094,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.3.2","stable_tag":"2.3.2","tested":"5.8.13","requires":"5.5","requires_php":"","requires_plugins":"","header_name":"SEO Redirect 301s","header_author":"Tom Skroza","header_description":"","assets_banners_color":"","last_updated":"2021-10-11 00:10:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/wordpress.org\/extend\/plugins\/wp-seo-redirect-301\/","header_author_uri":"","rating":3.3,"author_block_rating":0,"active_installs":200,"downloads":52254,"num_ratings":6,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"MMDeveloper","date":"2014-02-26 07:28:17"},"2.0.1":{"tag":"2.0.1","author":"MMDeveloper","date":"2014-02-28 02:19:03"},"2.0.2":{"tag":"2.0.2","author":"MMDeveloper","date":"2014-04-24 01:28:48"},"2.0.3":{"tag":"2.0.3","author":"MMDeveloper","date":"2014-04-24 01:46:50"},"2.0.4":{"tag":"2.0.4","author":"MMDeveloper","date":"2014-05-20 00:39:21"},"2.0.5":{"tag":"2.0.5","author":"MMDeveloper","date":"2014-10-28 00:35:38"},"2.0.6":{"tag":"2.0.6","author":"MMDeveloper","date":"2015-02-17 05:10:52"},"2.0.7":{"tag":"2.0.7","author":"MMDeveloper","date":"2015-03-19 01:31:23"},"2.0.8":{"tag":"2.0.8","author":"MMDeveloper","date":"2015-04-16 02:18:28"},"2.0.9":{"tag":"2.0.9","author":"MMDeveloper","date":"2015-05-27 00:28:13"},"2.1.0":{"tag":"2.1.0","author":"MMDeveloper","date":"2016-01-12 00:01:18"},"2.1.1":{"tag":"2.1.1","author":"MMDeveloper","date":"2016-01-12 23:43:32"},"2.2.0":{"tag":"2.2.0","author":"MMDeveloper","date":"2016-06-20 01:27:58"},"2.2.1":{"tag":"2.2.1","author":"MMDeveloper","date":"2016-07-12 02:04:40"},"2.2.2":{"tag":"2.2.2","author":"MMDeveloper","date":"2016-07-14 00:04:22"},"2.2.3":{"tag":"2.2.3","author":"MMDeveloper","date":"2019-07-31 11:59:20"},"2.3.0":{"tag":"2.3.0","author":"MMDeveloper","date":"2020-04-15 05:03:15"},"2.3.1":{"tag":"2.3.1","author":"MMDeveloper","date":"2020-11-26 00:56:34"},"2.3.2":{"tag":"2.3.2","author":"MMDeveloper","date":"2021-10-11 00:10:44"}},"upgrade_notice":{"2.3.2":"<ul>\n<li>Added CSRF protection when deleting redirect.<\/li>\n<\/ul>","2.3.1":"<ul>\n<li>Removed redundant email library.<\/li>\n<\/ul>","2.3.0":"<ul>\n<li>Improved domains with custom port in domain like www.example.com:8080. Added improvement when adding alias slug to page or post.<\/li>\n<\/ul>","2.2.3":"<ul>\n<li>Fix issue with debug=true.<\/li>\n<\/ul>","2.2.2":"<ul>\n<li>Bug fix for DISABLE_301_SITEMAP, if job is still running, this still executes. Now this is fixed.<\/li>\n<\/ul>","2.2.1":"<ul>\n<li>Fixed issue with https urls.<\/li>\n<\/ul>","2.2.0":"<ul>\n<li>You can now add define(&#039;DISABLE_301_SITEMAP&#039;, &#039;true&#039;); to wp-config.php to disable the 301-sitemap.xml file.<\/li>\n<\/ul>","2.1.1":"<ul>\n<li>Improved code found by WordPress.<\/li>\n<\/ul>","2.1.0":"<ul>\n<li>Fixed vulnerability with delete function found by WordPress.<\/li>\n<\/ul>","2.0.9":"<ul>\n<li>Fixed bug with query string urls.<\/li>\n<\/ul>","2.0.8":"<ul>\n<li>Fixed bug with search results page.<\/li>\n<\/ul>","2.0.7":"<ul>\n<li>Sometimes the new url does not exist, especially if it was deleted. So to account for this, send user to home page.<\/li>\n<\/ul>","2.0.6":"<ul>\n<li>Retain query string from old url.<\/li>\n<\/ul>","2.0.5":"<ul>\n<li>Don&#039;t re redirect to same url even if at some point it had changed. This to prevent endless redirects.<\/li>\n<\/ul>","2.0.4":"<ul>\n<li>Changed so it only works for posts and pages.<\/li>\n<\/ul>","2.0.3":"<ul>\n<li>If page is the front page, don&#039;t bother checking to see if its a 404.<\/li>\n<\/ul>","2.0.2":"<ul>\n<li>Updated 404 detection code.<\/li>\n<\/ul>","2.0.0":"<ul>\n<li>Tom M8te was blocked by Wordpress as they no longer accept framework plugins. So I&#039;ve had to drastically change the plugin to work.<\/li>\n<\/ul>","1.9.1":"<ul>\n<li>Noticed an issue where url has a query string. The fix is to remove query strings from the urls.<\/li>\n<\/ul>","1.9":"<ul>\n<li>Able to generate sitemap that you can submit to google or bing.<\/li>\n<\/ul>","1.8.2":"<ul>\n<li>Increased compatibility across multiple themes.<\/li>\n<\/ul>","1.8.1":"<ul>\n<li>I think I may have fixed template conflictions once and for all. I&#039;ve placed the redirect on the shutdown event which is the last wordpress event that executes. I think before it tried to redirect before all other code could execute, breaking most templates. Now that this executes on the last event, I think it should create less template issues.<\/li>\n<\/ul>","1.8.0":"<ul>\n<li>Allows you to create custom urls to redirect to a page.<\/li>\n<\/ul>","1.7.4":"<ul>\n<li>I noticed that SEO Redirect 301 didn&#039;t want to play nice with some paid themes. I&#039;ve come up with a solution to SmartStart and the fix could potentially fix other themes that work closely with Wordpress Theme code.<\/li>\n<\/ul>","1.7.3":"<ul>\n<li>Fixed small bug with dependency checker.<\/li>\n<\/ul>","1.7.2":"<ul>\n<li>Better dependency installer. Fixed issue with empty redirect table.<\/li>\n<\/ul>","1.7.1":"<ul>\n<li>Added more Tom M8te functions to make it easier to manage.<\/li>\n<\/ul>","1.6.4":"<ul>\n<li>After looking at logs, I found duplicate entry errors, which didn&#039;t create them, just warned about them. This patch removes the chance of the warning.<\/li>\n<\/ul>","1.6.3":"<ul>\n<li>Small bug fix, happens rarely. If the database is corrupt and post id didn&#039;t exist it produced an error. This patch fixes it.<\/li>\n<\/ul>","1.6.2":"<ul>\n<li>Fixed bug with redirect. Sometimes the system redirects to an attachment, not a page or post, which makes no sense. Anyways I put a guard on it so if it tries to redirect to the attachment, it redirects to the page instead.<\/li>\n<\/ul>","1.6.1":"<ul>\n<li>Fixed bug with https urls.<\/li>\n<\/ul>","1.6":"<ul>\n<li>Dependent on plugin Tom M8te to make some features easier to code. There is no new features since 1.5.<\/li>\n<\/ul>","1.5":"<ul>\n<li>Fixed redirect posts to correct urls. Fixed delete redirects which did delete but didn&#039;t refresh changes at correct time.<\/li>\n<\/ul>","1.4":"<ul>\n<li>Fixed some typos, whoops.<\/li>\n<\/ul>","1.3":"<ul>\n<li>Better description on table when you haven&#039;t yet changed your urls.<\/li>\n<\/ul>","1.2":"<ul>\n<li>UI to show user which old urls are pointing to the new updated urls.<\/li>\n<\/ul>","1.1":"<ul>\n<li>Fixed up updating children urls. So now if parent slug name changes, the child slugs are updated as well. For example, lets say you have a page called http:\/\/localhost\/cars with a child page http:\/\/localhost\/cars\/holden, if you change the slug name to car and you navigated to http:\/\/localhost\/cars it will redirect you to http:\/\/localhost\/car. Similarly if you navigated to http:\/\/localhost\/cars\/holden it will redirect you to http:\/\/localhost\/car\/holden.<\/li>\n<\/ul>","1.0":"<ul>\n<li>Initial Checkin<\/li>\n<\/ul>"},"ratings":{"1":"3","2":0,"3":0,"4":0,"5":"4"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","2.1.1","2.2.0","2.2.1","2.2.2","2.2.3","2.3.0","2.3.1","2.3.2"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[932,727,186,561],"plugin_category":[55],"plugin_contributors":[81701],"plugin_business_model":[],"class_list":["post-20249","plugin","type-plugin","status-publish","hentry","plugin_tags-932","plugin_tags-redirect","plugin_tags-seo","plugin_tags-slug","plugin_category-seo-and-marketing","plugin_contributors-mmdeveloper","plugin_committers-mmdeveloper"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wp-seo-redirect-301.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>WP-SEO-Redirect-301 is a WordPress plugin that remembers your old urls and redirects users to the updated url, to prevent 404s when urls change<\/p>\n\n<p>If you click on \"SEO Redirect 301\" menu link, you will see a list of old urls pointing to the new ones. Its here where you can delete ones you don't want anymore.<\/p>\n\n<p>Since version 1.9, you now get a sitemap that you can submit to google and bing. After installing the plugin, you can submit http:\/\/yoursite\/301-sitemap.xml to google or bing.<\/p>\n\n<p>Since version 1.8.0, you can now create custom urls in your admin post\/page edit page. Login to your wordpress site, go to any post\/page and scroll down. You should find a Meta Box called SEO Redirect 301s. If you submit a url here and then browse to this url, it will redirect you to the page\/post your editing.<\/p>\n\n<p>If you wish to manually submit a alias slug, make sure that you are using the Code Editor, not the Visual Editor. Edit the page or post, click on its 3 dots icon and click on Code Editor. Scroll down page until you see SEO Redirect 301s. Its here where you can manually enter in an alias slug.<\/p>\n\n<p>Built by The Marketing Mix Perth: http:\/\/www.marketingmix.com.au<\/p>\n\n<!--section=installation-->\n<p>1) Install WordPress 5.8.1 or higher<\/p>\n\n<p>2) Download the latest from:<\/p>\n\n<p>http:\/\/wordpress.org\/extend\/plugins\/wp-seo-redirect-301<\/p>\n\n<p>3) Login to WordPress admin, click on Plugins \/ Add New \/ Upload, then upload the zip file you just downloaded.<\/p>\n\n<p>4) Activate the plugin.<\/p>\n\n<p>Thats it, you don't need to worry, update your page urls and this plugin will redirect your users to the updated url.<\/p>\n\n<p>Built by The Marketing Mix Perth: https:\/\/www.marketingmix.com.au<\/p>\n\n<!--section=changelog-->\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>Added CSRF protection when deleting redirect.<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Removed redundant email library.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Improved domains with custom port in domain like www.example.com:8080. Added improvement when adding alias slug to page or post.<\/li>\n<\/ul>\n\n<h4>2.2.3<\/h4>\n\n<ul>\n<li>Fix issue with debug=true.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Bug fix for DISABLE_301_SITEMAP, if job is still running, this still executes. Now this is fixed.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Fixed issue with https urls.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>You can now add define('DISABLE_301_SITEMAP', 'true'); to wp-config.php to disable the 301-sitemap.xml file.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Improved code found by WordPress.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Fixed vulnerability with delete function found by WordPress.<\/li>\n<\/ul>\n\n<h4>2.0.9<\/h4>\n\n<ul>\n<li>Fixed bug with query string urls.<\/li>\n<\/ul>\n\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>Fixed bug with search results page.<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>Sometimes the new url does not exist, especially if it was deleted. So to account for this, send user to home page.<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Retain query string from old url.<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Don't re redirect to same url even if at some point it had changed. This to prevent endless redirects.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Changed so it only works for posts and pages.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>If page is the front page, don't bother checking to see if its a 404.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Updated 404 detection code.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Tom M8te was blocked by Wordpress as they no longer accept framework plugins. So I've had to drastically change the plugin to work.<\/li>\n<\/ul>\n\n<h4>1.9.1<\/h4>\n\n<ul>\n<li>Noticed an issue where url has a query string. The fix is to remove query strings from the urls.<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>Able to generate sitemap that you can submit to google or bing.<\/li>\n<\/ul>\n\n<h4>1.8.2<\/h4>\n\n<ul>\n<li>Increased compatibility across multiple themes.<\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>I think I may have fixed template conflictions once and for all. I've placed the redirect on the shutdown event which is the last wordpress event that executes. I think before it tried to redirect before all other code could execute, breaking most templates. Now that this executes on the last event, I think it should create less template issues.<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Allows you to create custom urls to redirect to a page.<\/li>\n<\/ul>\n\n<h4>1.7.4<\/h4>\n\n<ul>\n<li>I noticed that SEO Redirect 301 didn't want to play nice with some paid themes. I've come up with a solution to SmartStart and the fix could potentially fix other themes that work closely with Wordpress Theme code. <\/li>\n<\/ul>\n\n<h4>1.7.3<\/h4>\n\n<ul>\n<li>Fixed small bug with dependency checker.<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Better dependency installer. Fixed issue with empty redirect table.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Added more Tom M8te functions to make it easier to manage.<\/li>\n<\/ul>\n\n<h4>1.6.4<\/h4>\n\n<ul>\n<li>After looking at logs, I found duplicate entry errors, which didn't create them, just warned about them. This patch removes the chance of the warning.<\/li>\n<\/ul>\n\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>Small bug fix, happens rarely. If the database is corrupt and post id didn't exist it produced an error. This patch fixes it.<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Fixed bug with redirect. Sometimes the system redirects to an attachment, not a page or post, which makes no sense. Anyways I put a guard on it so if it tries to redirect to the attachment, it redirects to the page instead.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Fixed bug with https urls.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Dependent on plugin Tom M8te to make some features easier to code. There is no new features since 1.5.<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Fixed redirect posts to correct urls. Fixed delete redirects which did delete but didn't refresh changes at correct time.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Fixed some typos, whoops.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Better description on table when you haven't yet changed your urls.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>UI to show user which old urls are pointing to the new updated urls.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Fixed up updating children urls. So now if parent slug name changes, the child slugs are updated as well. For example, lets say you have a page called http:\/\/localhost\/cars with a child page http:\/\/localhost\/cars\/holden, if you change the slug name to car and you navigated to http:\/\/localhost\/cars it will redirect you to http:\/\/localhost\/car. Similarly if you navigated to http:\/\/localhost\/cars\/holden it will redirect you to http:\/\/localhost\/car\/holden.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial Checkin<\/li>\n<\/ul>","raw_excerpt":"WP-SEO-Redirect-301 is a WordPress plugin that remembers your old urls and redirects users to the updated url, to prevent 404s when urls change","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/20249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=20249"}],"author":[{"embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mmdeveloper"}],"wp:attachment":[{"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=20249"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=20249"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=20249"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=20249"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=20249"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/et.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=20249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}