¡Hola Soywebmaster!
¡Aquí David Ayala de nuevo!
En esta ocasión vengo con una mega guia sobre un tema que me gusta bastante y con el que llevo trabajando muchos años y que uso para todo tipo de cosas… ¡Las redirecciones 301!
Te voy a contar todo sobre las redirecciones 301, qué son, para qué sirven, en qué casos nos interesa utilizarlas, cómo hacerlas, ejemplos de las redirecciones más comunes y un largo etcétera de cosas que espero te sean de gran utilidad.
Sin más preámbulos… ¡Comencemos!
Índice
- 1 ¿Qué es una redirección 301?
- 2 ¿Para qué sirve una redirección 301?
- 3 ¿Cómo hacer una redirección 301?
- 4 Cadenas de redirecciones 301
- 5 Redirecciones más comunes
- 5.1 Redireccionar de no WWW a WWW o al revés
- 5.2 Redireccionar de http a https o al revés
- 5.3 Redireccionar sin www y http a con www y https
- 5.4 Redireccionar Slash al final de las urls
- 5.5 Redireccionar un dominio completo a dominio nuevo
- 5.6 Redireccionar un dominio completo a la home de otro dominio
- 5.7 Redireccionar la home a otra URL
- 5.8 Redireccionar un directorio completo
- 5.9 Redireccionar una página concreta
- 6 Cómo comprobar una redirección 301
- 7 Conclusiones sobre redirecciones
¿Qué es una redirección 301?
Para comenzar a hablar de redirecciones 301, primero hay que describir que son exactamente las redirecciones. De forma resumida, una redirección significa llevar a los visitantes de una web de una zona a otra (ya sea de esa misma web o de otra segunda web) de manera automática.
Existen varios tipos de redirecciones, pero en definitiva podríamos resumir que existen las redirecciones “temporales” y las redirecciones “permanentes”.
La redirección 301 es una redirección permanente, es decir, cuando utilizamos este tipo de redirección, le estamos diciendo a Google que ese cambio de una URL a otra es algo definitivo.
¿Para qué sirve una redirección 301?
Como bien he comentado, una redirección 301 le dice a Google que hemos hecho un cambio definitivo de una URL a otra.
¿Qué ocurre con esto? Qué Google interpretará que la URL1 (la que redireccionamos) va a pasar a ser ahora la URL2 y por lo tanto Google, en un principio, pasará la fuerza de la URL1 a la URL2 y contabilizará los links como de esta segunda URL.
Redirecciones de dominio completo
Entonces… ¿Si hago una redirección de cualquier dominio con fuerza o con enlaces Google le dará toda esa fuerza al dominio final?
¡No! Yo no he dicho que siempre vaya a ser así. Si hacemos una redirección bien hecha sí que debería de ser así, pero siempre hay casos puntuales en los que no nos servirá de nada hacer una redirección.
Por ejemplo, si tenemos una web de coches rankeando en Google por ese tipo de búsquedas y de repente hacemos una redirección 301 de esa web de coches a una web de gatos… ¿Qué va a pensar Google? ¿Qué hemos cambiado de dominio o que estamos intentando hacer algo que no tiene pies ni cabeza?
Quizás en el pasado si que se “tragaba” mucho mejor las redirecciones sin sentido y podíamos redireccionar un expirado cualquiera a otra web y tomarlo en positivo, sin embargo en la actualidad no podemos ser tan “bestias” y tenemos que hacerlo con más cabeza.
Unificar webs con redirecciones
Si por ejemplo tenemos una web de porche, una web de ferrari y otra web de lamborghini… ¡Podemos unificar las 3 en una sola web de coches de lujo!
Si se hace bien conseguiremos unificar las tres “mini webs” en una web mucho más grande. Evidentemente si lo hacemos mal podemos perder todo el trabajo de las tres webs.
Evitar canibalizaciones con redirecciones
Otra gran utilidad de las redirecciones es la de evitar canibalizaciones. Si tenemos una URL1 rankeando por una keyword y una URL2 también rankeando por ella… Podemos redireccionar una URL a otra para así solo tener un único resultado y no perder la fuerza de ambas URLS.
Redirección de URLS que vamos a eliminar
Otra gran utilidad de las redirecciones 301 es por ejemplo cuando en un ecommerce vamos a eliminar un producto por que ya no lo vamos a vender más y esa URL está rankeando o recibe buenos enlaces.
Si la eliminamos directamente vamos a perder ese SEO y esos enlaces, sin embargo si tenemos otro producto relacionado y le hacemos una redirección 301 de esa URL que vamos a eliminar al producto que vamos a mantener y que está relacionado… Aprovecharemos tanto la fuerza como los enlaces.
¡Aquí se aprovecha todo!
¿Cómo hacer una redirección 301?
Llegados a este punto… Tenemos ya claro lo que queremos redireccionar y hacia donde queremos hacerlo, pero, ¿Cómo podemos hacer la redirección?
Aquí te voy a explicar las diferentes opciones que tenemos y cuales son sus pros y cuales son sus contras.
Redirección 301 htaccess
Sin lugar a dudas esta es mi opción preferida y con la que suelo trabajar siempre.
Este tipo de redirección se hace a nivel del fichero .htaccess que tenemos en la carpeta raíz del hosting de nuestra web.
Lo interesante de este fichero es que podemos realizar por un lado patrones de redirecciones, redireccionar directorios completos con 1 sola directriz, etcétera. Es decir, nos facilita mucho el trabajo si sabemos usar bien las redirecciones de htaccess.
Es por ello por lo que más adelante os explicaré como realizar algunas de las redirecciones más comunes mediante htaccess.
Redirección 301 php
Este tipo de redirección se hace directamente a nivel de programación PHP y por lo tanto se tiene que poner el código dentro de la URL en concreto que queremos redireccionar.
Un ejemplo de este código sería:
header("Status: 301 Moved Permanently");
header("Location: http://www.miweb.com");
La pega de este tipo de redirección es que si usamos un CMS como wordpress, va a ser muy complejo el poder utilizarlas, además de que vamos a tener que estar editando ficheros y luego podemos olvidarnos de donde hemos colocado exactamente ese código de redirección.
Por lo tanto no os recomiendo utilizar este tipo de redirección.
Redirección 301 html
En html podemos utilizar para hacer una redirección el meta refresh, lo cual hace que a los X segundos la página se “actualice” y redireccione a esa URL.
Este tipo de redirección no es 301 y por lo tanto no pasa autoridad, por lo tanto no deberíamos de usarla para esta finalidad.
Redirección 301 javascript
En javascript también podemos hacer una redirección por ejemplo usando este código:
window.location.replace('https://www.nuevaurl.com');
Aquí de nuevo nos ocurre como con html, no es una redirección 301 y por lo tanto no va a pasar autoridad, por lo tanto no deberíamos de usar este tipo deredirección con esa finalidad.
Cadenas de redirecciones 301
Este es un tema muy interesante del que quería hablarte…
¿Qué es una cadena de redirecciones? Es una concatenación de varias redirecciones, en plan URL1 –> URL2 –> URL3 –> URL4 etcétera.
Sobre esto hay mucho debate en cuantas redirecciones es capaz seguir Google, cuanta fuerza pierdes por cada redirección, etcétera.
En primer lugar tenemos que tener en cuenta que cuantas menos redirecciones haya en esa cadena mucho mejor, por que por un lado hacemos perder tiempo al bot de Google saltando de una a otra url y en segundo lugar en cada paso podemos estar perdiendo cierta fuerza. Por lo cual… ¿Por que no hacer la redirección de la URL1 a la final directamente?
Redirecciones más comunes
Llegados a este punto quiero explicarte como puedes hacer algunas de las redirecciones más comunes mediantes código en el fichero .htaccess.
¡Espero que te sean de utilidad!
Redireccionar de no WWW a WWW o al revés
Si queremos pasar de http://miweb.com a http://www.miweb.com tenemos que usar el siguiente código:
RewriteCond %{HTTP_HOST} ^miweb.com [NC]
RewriteRule (.*) http://www.miweb.com/$1 [R=301,L,QSA]
Si queremos pasar de http://www.miweb.com a http://miweb.com tenemos que usar el siguiente código:
RewriteCond %{HTTP_HOST} ^www.miweb.com [NC]
RewriteRule (.*) http://miweb.com/$1 [R=301,L,QSA]
Redireccionar de http a https o al revés
Esta redirección es algo que nos será bastante útil si no queremos tirar de plugins en WordPress o similar para hacer el paso a https.
Si queremos pasar de http://www.miweb.com a https://www.miweb.com:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.miweb.com/$1 [R=301,L,QSA]
Si queremos pasar de https://www.miweb.com a http://www.miweb.com:
RewriteCond %{HTTPS} on
RewriteRule (.*) http://www.miweb.com/$1 [R=301,L,QSA]
Redireccionar sin www y http a con www y https
Si queremos pasar de http://miweb.com a https://www.miweb.com son 2 cosas a la vez, por lo que podemos hacerlo en 2 pasos con 2 códigos haciendo un salto intermedio o tan solo en uno con un único código y un único salto:
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^miweb\.com
RewriteRule ^ https://www.miweb.com%{REQUEST_URI} [L,R=301]
Redireccionar Slash al final de las urls
Un problema que ocurre a veces es que podemos cargar nuestra web con la slash (/) al final o sin ella, lo cual puede generar URLs duplicadas.
Código para redireccionar http://www.miweb.com/algo a http://www.miweb.com/algo/:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://www.miweb.com/$1/ [R=301,L,QSA]
Código para redireccionar http://www.miweb.com/algo/ a http://www.miweb.com/algo:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ http://www.miweb.com/$1 [R=301,L,QSA]
Redireccionar un dominio completo a dominio nuevo
Si quieres redireccionar un dominio completo con toda su arquitectura tipo http://www.midominio.com a http://www.dominionuevo.com:
Redirect 301 / http://www.dominionuevo.com/
NOTA: No olvides poner la / al final de dominionuevo.com si quieres que redireccione bien toda la arquitectura de urls internas.
Redireccionar un dominio completo a la home de otro dominio
Esto es algo que no recomiendo hacer, sobre todo en webs grandes, por que estarías redireccionando muchas URLs a un mismo lugar, no obstante te dejo el código para que lo utilices en caso de que lo necesites.
Redirección de http://www.miweb.com y todas sus urls a http://www.dominionuevo.com:
RedirectMatch 301 (.*) http://www.dominionuevo.com/
Redireccionar la home a otra URL
Si queremos redireccionar la home de nuestro dominio a una sección interna de la web o a otra sección de otra web tipo http://www.miweb.com/ a http://www.miweb.com/blog/:
RedirectMatch 301 ^/$ http://www.miweb.com/blog
Redireccionar un directorio completo
Si queremos redireccionar un directorio completo a otro tipo http://www.miweb.com/directorio/ a http://www.miweb.com/nuevodirectorio/:
Redirect 301 /directorio/ http://www.miweb.com/nuevodirectorio/
Si queremos redireccionar un subdirectorio tipo http://www.miweb.com/directorio/subdirectorio/ a http://www.miweb.com/directorio/nuevosubdirectorio/:
Redirect 301 /directorio/subdirectorio/ http://www.miweb.com/directorio/nuevosubdirectorio/
Redireccionar una página concreta
Si queremos redireccionar tan solo una página en concreto como http://www.miweb.com/pagina-x/ a http://www.miweb.com/pagina-y/:
Redirect 301 /pagina-x http://www.example.com/pagina-y
Cómo comprobar una redirección 301
Tan importante es hacer la redirección 301 bien como comprobar que de ese código 301 exacto. Por eso aquí te dejo un comprobador online de códigos de redirección en el que tan solo tienes que introducir la URL redireccionada y pulsar un botón para comprobar que esté todo correcto http://www.redirect-checker.org.
Conclusiones sobre redirecciones
El tema redirecciones es algo que me parece super útil y además necesario, por eso saber lo básico de como manejarlas no nos viene mal a nadie.
Espero que te haya gustado el artículo y sobre todo no te olvides de DEJAR TU COMENTARIO y explícame tu experiencia con redirecciones, tus dudas, tus preguntas, tus inquietudes y… ¡TODO LO QUE TE APETEZCA!
RECIBIR NOVEDADES POR EMAIL
Genial. No terminaba de enterarme de esto de las redirecciones 301 y al final TACHAAAAN. (Es como cuando me enteré que era el fuera de juego). Ya he hecho la primera y genial.
Me alegro de que te haya servido! 🙂
¡Muy bueno como siempre David! Nosotros las pocas 301 que hemos hecho han sido a través de plugin. Ya sabemos que no es muy recomendable sobrecargar la web de plugins pero… Apuntaremos alguna de estas técnicas. ¡Un abrazo!
Buenas,
Para hacer el redireccionamiento por .htaccess, se pueden poner 2 redireccionamientos , es decir,
de no www. a wwww y de http: a https: ?
Cual seria el esquema correcto?
Gracias,
Buenas!! O bien puedes usar ambas redirecciones por separado o hacerlas las 2 de golpe con esta https://www.soywebmaster.com/david-ayala/redireccion-301-la-mega-guia/#Redireccionar_sin_www_y_http_a_con_www_y_https
Buenas,
Para hacer el redireccionamiento por .htaccess, se pueden poner 2 redireccionamientos , es decir,
de no www. a wwww y de http: a https: ?
Cual seria el esquema correcto?
Gracias,
Buenas a todos! En especial a ti, David….chapó por el artículo.
Permíteme una consulta….
En el caso de estar realizando un cambio de look de una web y estar realizándolo bajo un subdiminio de la misma.
Ejemplo:
http://Www..webmaster.com/webnueva
Cómo crees que sería la manera correcta, una vez acabada, de colgarla bajo el dominio raíz? A través de 301?
Me encantaría conocer tu opinión Davis.
Saludo y gracias por avanzado.
Buenas!
Si estás haciendo un cambio de look a la web y estás haciendo ese nuevo diseño y cambios bajo un directorio tipo /pruebadediseno/ , lo ideal es que ese directorio no lo indexes, le pongas una etiqueta meta robots no index, así luego te evitas cualquier problema de contenidos duplicados, de estas manera al implementar el cambio de diseño tampoco necesitarás hacer ninguna redirección.
Buenas David, excelente publicación, actualmente ando haciendo varias redirecciones desde cloudflare espero funcionen con el tiempo. Un saludo!
Hola David, gracias por compartir el contenido, es muy completo.
tengo un par de dudas, hice una 301 desde el Cpanel, y en el .htaccess he colocado esto.
los dos dominios tienen protocolo https
esta bien el código, no encuentro en ninguna parte ejemplo de cuando los dos dominios son https.
RewriteCond %{HTTP_HOST} ^midominio\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.midominio\.com$
RewriteRule ^(.*)$ "https\:midominio.vip\/$1" [R=301,L]
el objetivo de la 301 es pasar todo el contenido de un dominio una otro completo. con todas su categorías imagenes, entradas, post, etc.. el problema viene ahora que ya llevo un tiempo y el dominio antiguo sigue apareciendo con urls indexadas ya son más de 3 meses y he perdido fuerza del PA y DA.
veo que en algunos códigos en esta parte utilizas A y otras letras que diferencia hay con que yo utilice [R=301,L]
muchas gracias de antemano un saludo
Buenas!
Si te redireccionan las URLs sin problema y son 301 no te preocupes (puedes checkearlo con http://www.redirect-checker.org ). En cuanto a PA y DA son métricas de MOZ, no son de Google, y eso realmente no es algo ni que mire. Respecto a URLs indexadas antiguas, revisa si hacen bien la 301 y si la hacen no te preocupes, ya las irá cogiendo Google, es normal cuando un proyecto lleva mucho tiempo y tiene gran cantidad de URLs le cueste eliminar algunas de las antiguas, incluso cuando ha "visto" la redirección Google.