How do I do a 301 Redirect in Wordpress
-
I have several pages that are showing up as "duplicate" on my Wordpress based site based upon the structure of site. I was wondering how to do a 301 redirect for these pages
-
Hi Steven,
Alan's suggestion of installing the Wordpress SEO by Yoast plugin is right on target.
This plugin allows you to create a 301 redirect for any post and also to add the canonical link element if you prefer (only for single pages and posts).
With the plugin installed, to add a 301 redirect, just click the Advanced tab and scroll to the bottom. Enter the URL you wish to redirect the post or page to and click Update. Obviously, the plugin writes the .htaccess rule for you, but if you do want to edit the .htaccess file directly, the Yoast plugin also allows you to do this.
This plugin also includes a number of other features that allow you to deal with some of the technical shortcomings of Wordpress from an SEO point of view (duplicate content issues etc), so adds a lot of value.
Hope that helps,
Sha
-
Hi Steven,
I agree with Adam that editing the .htaccess file directly is the best way to do this, however in the interest of you not having that knowledge there are plenty of wordpress plugins that allow you to do 301 redirects either on the fly or a way that's easier to do.
Here is a link to a search on the wordpress site http://wordpress.org/extend/plugins/search.php?q=301+redirect
My preference generally is to actually search for the plugins within the Wordpress Admin panel in the menu plugins, then go to add new and type in 301 redirect in the search.From there you'll be able to see a large list along with descriptions and reviews that will help you to narrow down what plugin may suit you.
It also makes the installation process easier as you don't have to do the whole download then upload stuff it just downloads directly to your Wordpress installs and you then just have to activate it and in some plugins cases change some settings.
Word of warning though doing 301s should be really thought through before you do them as it makes it permanent so just double check you have the right URLs before you commit them. A client of mine made a huge mistake that took a while to sort out.
Also something to look at and that's plugins like SEO Yoast as that can allow you to use canonical names, which could help with some types of duplicate pages and for some pages that show up in SEOmoz's campaign reports that you don't want or need showing up. I won't go into more detail as that's not what you were asking, but I figured it's related somewhat so point you in the right direction just in case
Hope that all helps.
-
I would do it with a .htaccess file. If your hosting company has cPanel (or any other good website management software) you can do this with a gui and type the old link and the link in to your browser and hit save, or you can do it manually by creating (or editing) the .htaccess file in the root of your directory. Super fast and secure way of doing it, although you do need to be running apache (et al) not IIS.
This site has some good info on it
http://www.josiahcole.com/2007/07/11/almost-perfect-htaccess-file-for-wordpress-blogs/
As with all things there are a few ways of doing it. This seems to cover most of the exploits that .htaccess files are good at blocking including the 301 redirects.
Bear in mind that .htaccess 301s using CONDITIONS are regex and certain rules apply such as escaping characters.
so this doesnt need escaping and is simple
#redirect old to new
Redirect 301 /old.php http://www.yourdomain.com/new.phpbut this does, see the . at the end of digg.com is digg.com
#block referring domains
RewriteEngine on
RewriteCond %{HTTP_REFERER} digg.com [NC]
RewriteRule .* – [F]Once you have your 301s in place check the header return to see if its working by using a simple service like this
http://www.checkmyheaders.com/index.php
Hope it works
Adam
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Redirect chains and rankings
Hi All, I've got interesting question for Moz community today. Has redirect chain got any impact on rankings or not? Thank you in advance.
On-Page Optimization | | Optimal_Strategies0 -
Avoid landing page redirects C (75) SERVER HIGH What's this mean?
HI we have a wordpress website with a chain of redirected urls? one is with www. the other without? How do I found out where this is? or what could be causing it? Any help much appreciated 🙂
On-Page Optimization | | KellyDSD861 -
Moving from Bigcommerce to Woocommerce on WP. Should we redirect size pages into one page?
We are moving from Bigcommerce to Woocommerce on WP. On Bigcommerce, due to some bizarre reasoning the previous developer had 3 separate URLS for the same product in different sizes - S, M and L. Now we plan to have one product page where the sizes can be selected and 301 redirect the 3 urls to the new one. Is this advisable? Or should we just have 3 separate pages. OR should we have one of the sizes pages as the new page and then redirect the other 2 to this one? I ask this because the site has a LOT of ranking power and we do not want to jeopardise that.
On-Page Optimization | | MashBonigala0 -
Worth redirecting old blog posts into pages?
I'm working on a site that has some blog posts from 2011 - 2013 ranking on the first page for relevant terms. I'm going through and updating some of the content, internal links, etc., and wanted to know if it's worth redirecting some of these blog posts into new pages (in WordPress). Right now, the blog post URLs are long - exampleURL.com/2011/3/9/blog-post-title/ and the dates show up in the SERPs. I'd like to have the date removed so that the content doesn't look outdated, and I'd also like to have cleaner URLs. In your opinion, is it worth creating new pages and redirecting the old blog posts, or is the benefit of doing this not worth the effort? Thanks!
On-Page Optimization | | dchristensen30 -
How Do I Get Rel=Author to Work Via Wordpress SEO by Yoast?
I have read Yoast's tutorial and others on how to get rel=author to work properly on my site (http://injuryattorneyshouston.com). Here are the results I get from the Google Structured Data Testing Tool: "Authorship is working for this webpage." "rel=author markup has successfully established authorship for this webpage." "Publisher markup is verified for this page." All seems well except for this: hatom-feed | hatom-entry: | |
On-Page Optimization | | cbizzle
| Error: At least one field must be set for HatomEntry.Error: Missing required field "entry-title".Error: Missing required field "updated".Error: Missing required hCard "author". |
| Error: At least one field must be set for HatomEntry.Error: Missing required field "entry-title".Error: Missing required field "updated".Error: Missing required hCard "author". | Does anyone know how to fix this?0 -
301 vs 302 redirect
Hello Mozers, I have a website which offers subscriptions on a monthly basis, when one profile expires the link of the profile gets a 301 redirect to the main category, just that if the member chooses to come back after a while he can reactivate the profile and the link will work again and the 301 will disappear, Should I be doing 302 redirect, as from this point of view it's only a temporarily redirect ? Thanks in advance
On-Page Optimization | | asmedia0 -
302 redirections warnings
Hi there, the SEOMOZ crawler has detected some warinings related to the 302 temporary redirections. Example: http://www.tarifakitesurfcamp.com/tks-camp/alojamiento/ redirects to www.tarifakeitesurfcamp.com/error-404 I have made some 301 redirections, located at the end of the final (inicially) and later I just moved them to the top of the file. The htaccess file content is: redirect 301 http://www.tarifakitesurfcamp.com/tks-camp/escuela/ http://www.tarifakitesurfcamp.com/gisela-pulido-escuela/
On-Page Optimization | | juanmiguelcr
redirect 301 http://www.tarifakitesurfcamp.com/tks-camp/cursos-kite/ http://www.tarifakitesurfcamp.com/gisela-pulido/
redirect 301 http://www.tarifakitesurfcamp.com/tks-camp/curso-idiomas/ http://www.tarifakitesurfcamp.com/campamento-bilingue-para-ninos/
redirect 301 http://www.tarifakitesurfcamp.com/tks-camp/programa-de-actividades/ http://www.tarifakitesurfcamp.com/kitesurf-para-ninos/
redirect 301 http://www.tarifakitesurfcamp.com/tks-camp/alojamiento/ http://www.tarifakitesurfcamp.com/campamento-de-kitesurf/
redirect 301 http://www.tarifakitesurfcamp.com/tks-camp/la-empresa-2/ http://www.tarifakitesurfcamp.com/kitesurf-para-ninos-tarifa/ BEGIN ASIGNACIÓN DE TIEMPO DE CACHÉ A IMÁGNES, ARCHIVOS JSS, CSS <ifmodule mod_expires.c="">#activa la generacion de cabecera Expires
ExpiresActive On
#establece el tiempo de cache por defecto
ExpiresDefault A604800
<filesmatch ".(jpg|gif|png|css|ico|js)$"="">#suma 1 dia a la hora de acceso del usuario ExpiresDefault "access plus 7 day"</filesmatch></ifmodule> END ASIGNACIÓN DE TIEMPO DE CACHÉ A IMÁGNES, ARCHIVOS JSS, CSS BEGIN W3TC Browser Cache <ifmodule mod_deflate.c=""><ifmodule mod_headers.c="">Header append Vary User-Agent env=!dont-vary</ifmodule>
AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
<ifmodule mod_mime.c=""># DEFLATE by extension
AddOutputFilter DEFLATE js css htm html xml</ifmodule></ifmodule> END W3TC Browser Cache BEGIN W3TC Page Cache core <ifmodule mod_rewrite.c="">RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=W3TC_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} =""
RewriteCond %{REQUEST_URI} /$
RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index.html%{ENV:W3TC_ENC}" -f
RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index.html%{ENV:W3TC_ENC}" [L]</ifmodule> END W3TC Page Cache core BEGIN WordPress <ifmodule mod_rewrite.c="">RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]</ifmodule> END WordPress What's wrong? What could happen is I maintain these 302 redirections? Thanks!0 -
Losing Page Rank after 301 redirect from http to www
Hi Guys I have site-wide redirected all http// to www and all the category pages lost their page ranks (except home page). I would like to know if this is normal and is it one of the possible causes in losing keyword ranking?
On-Page Optimization | | ilovebodykits0