Guía técnica SEO para redireccionamientos

Los redireccionamientos de sitios web le brindan a los navegadores y motores de búsqueda información sobre la URL y dónde encontrar la página web.
Es esencial que los redireccionamientos se utilicen correctamente porque afectan la forma en que Google rastrea e indexa los sitios web.
Si bien la mayoría de la gente piensa que los redireccionamientos son una señal de que se está saltando Internet, hay mucho más en juego y es sorprendentemente agradable descubrirlo.
Códigos de estado de respuesta HTTP
Los navegadores y los robots de motores de búsqueda como GoogleBot se denominan agentes de usuario.
Cuando un agente de usuario intenta acceder a una página web, lo que sucede es que el agente de usuario realiza una solicitud y el servidor del sitio web emite una respuesta.
La respuesta se denomina código de estado de respuesta HTTP. Proporciona el estado de la solicitud de URL.
En una situación en la que un agente de usuario como GoogleBot solicita una URL, el servidor proporciona una respuesta.
Por ejemplo, si la solicitud de URL es exitosa, el servidor proporcionará un código de respuesta de 200, lo que significa que la solicitud de URL fue exitosa.
Entonces, cuando piensas en un GoogleBot que llega a un sitio web e intenta rastrearlo, lo que sucede es una serie de solicitudes y respuestas.
El significado de la redirección
Cuando hablamos de redirección, de lo que hablamos es de una respuesta del servidor. Esta es una respuesta a una solicitud de URL.
Si la URL existe en una URL diferente (porque se ha movido), el servidor le dice al agente de usuario que la solicitud de URL se está redirigiendo a una URL diferente.
El código de respuesta para una URL modificada suele tener la forma de un código de estado de respuesta 301 o 302.
Toda la serie de códigos de respuesta 3xx comunica mucha información que, opcionalmente, puede ser procesada por el agente de usuario.
Un ejemplo de una acción que puede tomar un agente de usuario es almacenar en caché la nueva URL para que la próxima vez que se solicite la antigua URL, solicite la nueva URL en su lugar.
Por lo tanto, una redirección 301 y 302 es más que una señal de tráfico en Internet que dice: "Ve aquí, no allá".
Serie 3XX de códigos de estado
Los redireccionamientos son más que los dos códigos de estado con los que todo el mundo está familiarizado, los códigos de respuesta 301 y 302.
Hay un total de siete códigos de estado de respuesta 3xx oficiales.
Estos son los diferentes tipos de redirecciones disponibles para su uso:
- 300 opciones múltiples.
- 301 Movido Permanentemente.
- 302 Encontrado.
- 303 Ver otros.
- 304 No cambiado.
- 305 Utilice un proxy.
- 306 (no utilizado).
- 307 Redirección temporal.
- 308 Redirección permanente.
Algunos de los códigos de estado anteriores no han existido tanto tiempo y es posible que no se utilicen. Entonces, antes de usar un código de redirección que no sea 301 o 302, asegúrese de que el agente de usuario previsto pueda interpretarlo.
Dado que GoogleBot utiliza la última versión de Chrome (llamado navegador sin interfaz), es fácil verificar si el código de estado es compatible verificando que Chrome reconozca el código de estado con lista de compatibilidad del navegador.
Para SEO, debe ceñirse al uso de los códigos de respuesta 301 y 302 a menos que haya una razón específica para usar uno de los otros códigos.
301 Movido Permanentemente
El código de estado 301 se conoce habitualmente como redirección 301. Pero el nombre oficial es 301 Movido Permanentemente.
Una redirección 301 le indica a un agente de usuario que la URL (a veces llamada el recurso de destino o simplemente el recurso) se ha cambiado a una ubicación diferente y que debe usar la nueva URL para futuras solicitudes.
Como se mencionó anteriormente, hay más información.
El código de estado 301 también sugiere al agente de usuario:
- Las futuras solicitudes de URL deben realizarse con la nueva URL.
- Cualquier persona que realice la solicitud debe actualizar sus enlaces a la nueva URL.
- Las solicitudes posteriores se pueden cambiar de GET a POST.
El último punto es un problema técnico. De acuerdo a estándares oficiales del código de estado 301:
"Nota: por razones históricas, el agente de usuario PUEDE cambiar el método de solicitud de POST a GET para la solicitud posterior. Si este comportamiento no es deseado, se puede usar el código de estado 308 (redireccionamiento permanente) en su lugar".
Para SEO, cuando los motores de búsqueda ven una redirección 301, pasan la clasificación de la página anterior a la nueva.
Antes de realizar un cambio, debe tener cuidado al usar redireccionamientos 301. Una redirección 301 solo debe usarse cuando el cambio a una nueva URL es permanente.
El código de estado 301 no debe usarse cuando el cambio es temporal.
Además, si cambia de opinión más tarde y vuelve a la URL anterior, es posible que la URL anterior ya no se clasifique y que tarde un poco en recuperar su clasificación.
Extracción de información: una introducción para profesionales de SEOPor lo tanto, lo más importante que debe recordar es que se utilizará un código de estado 301 cuando el cambio sea permanente.
302: Encontrado
Lo principal que hay que entender sobre el código de estado 302 es que es útil para situaciones en las que la URL se ha cambiado temporalmente.
El significado de este código de respuesta es que la URL se encuentra temporalmente en una URL diferente y se recomienda usar la URL anterior para futuras solicitudes.
El código de estado de redirección 302 también viene con una advertencia técnica relacionada con GET y Post:
"Nota: por razones históricas, el agente de usuario PUEDE cambiar el método de solicitud de POST a GET para la solicitud posterior. Si este comportamiento no es deseado, se puede usar el código de estado 307 (redireccionamiento temporal) en su lugar".
La referencia a "razones históricas" puede referirse a agentes de usuario antiguos o con errores que pueden cambiar el método de solicitud.
307: Redirección temporal
Una redirección 307 significa que la URL solicitada se ha movido temporalmente y el agente de usuario debe usar la URL original para futuras solicitudes.
La única diferencia entre un código de estado 302 y 307 es que el agente de usuario debe solicitar la nueva URL con la misma solicitud HTTP utilizada para solicitar la URL original.
Esto significa que si el agente de usuario solicita la página con una solicitud GET, entonces el agente de usuario debe usar una solicitud GET para la nueva URL temporal y no puede usar la solicitud POST.
los Documentación de Mozilla para el código de estado 307 lo explica más claramente que la documentación oficial.
"El servidor envía esta respuesta para dirigir al cliente a obtener el recurso solicitado en otro URI utilizando el mismo método que se utilizó en la solicitud anterior".
Tiene la misma semántica que el código de respuesta HTTP 302 Found, excepto que el agente de usuario no debe cambiar el método HTTP utilizado: si se utilizó POST en la primera solicitud, se debe utilizar POST en la segunda solicitud.
Excepto por el código de estado 307, que requiere que las solicitudes posteriores sean del mismo tipo (POST o GET) y que el 302 pueda ir en cualquier dirección, todo lo demás es igual entre los códigos de estado 302 y 307.
302 contra 307
Puede administrar la redirección a través de los archivos de configuración del servidor .htaccess de Apache, el archivo example.conf de Nginx o mediante complementos si está utilizando WordPress.
En todos los casos, tienen la misma sintaxis para escribir reglas de redirección. Se diferencian únicamente en los comandos utilizados en los archivos de configuración. Por ejemplo, una redirección de Apache se vería así:
Options +FollowSymlinks RewriteEngine on RedirectMatch 301 ^/oldfolder/ /newfolder/
(Puedes leer sobre enlaces simbólicos aquí.)
En los servidores Nginx se verá así:
rewrite ^/oldfolder/ /newfolder/ permanent;
Los comandos utilizados para especificar el código de estado del servidor de redirección y el comando de acción difieren.
Por ejemplo:
- Código de estado del servidor de redirección: "301″ contra "Permanente".
- Comando de acción: "RedirectMatch" vs. "Nueva edición".
Pero la sintaxis de redirección (^/oldfolder//newfolder/) es la misma para ambos.
En Apache, asegúrese de que los módulos mod_rewrite y mod_alias (responsables de manejar las redirecciones) estén habilitados en su servidor.
Dado que el tipo de servidor más común es Apache, aquí hay ejemplos de archivos .htaccess apache. Asegúrese de que el archivo .htaccess tenga estas dos líneas encima de las reglas de redirección y coloque las reglas debajo de ellas:
Options +FollowSymlinks RewriteEngine on
Sigue leyendo documentación oficial para obtener más información sobre RewriteEngine.
Para comprender los ejemplos a continuación, puede consultar la siguiente tabla RegExp Lo esencial.
* | cero o más veces |
+ | Una o más veces |
. | cada personaje individual |
? | Cero o una vez |
^ | Comienzo de cadena |
ps | fin de cadena |
y | b | O operación “|” a o B |
(con) | recuerda el partido a utilizar al pagar $1 |
Redirigir una sola URL
El tipo de redireccionamiento más común y ampliamente utilizado es cuando se eliminan páginas o se cambian las URL.
Por ejemplo, digamos que cambió la URL de /oldpage/ a /newpage/. La regla de redirección sería:
RewriteRule ^old-page(/?|/.*)$ /new-page/ [R=301,L]
O
RedirectMatch 301 ^/old-page(/?|/.*)$ /new-page/
La única diferencia entre los dos métodos es que el primero usa el módulo de Apache mod_rewrite y el segundo usa mod_alias. Se puede hacer con ambos métodos.
La expresión regular "^" significa que la URL debe comenzar con "/ página antigua", mientras que (/?|/.*)$ indica que cualquier cosa que siga a "/ página antigua /" con una barra inclinada "/ ' o sin el partido debe ser redirigido a / nueva página /.
También podemos usar (. *), es decir. ^/old-page (.*), pero el problema es que si tienes otra página con una URL similar a /old-page-other/, también será redirigida, cuando solo queremos redirigir a /old-page/ .
Las siguientes URL coincidirán y redirigirán a una nueva página:
Estrategia SEO para eventos, ventas de temporada y pop-up stores/ pagina antigua / | /nueva pagina/ |
/ pagina antigua | /nueva pagina/ |
/pagina antigua/? | /nueva pagina/? .fuente=facebook.com |
/ página antigua / página infantil / | /nueva pagina/ |
Redirigirá cada variación de la URL de la página a una nueva. Si usamos una redirección de la siguiente forma:
Redirect 301 /old-page/ /new-page/
... sin expresiones regulares, todas las URL con cadena de consulta UTM, p.ej. /página antigua? (que es común porque las URL se usan para compartir en red social) terminará como 404.
Una página igual/antigua sin una barra inclinada final "/" terminará como 404.
Redirigir todo menos
Digamos que tenemos un montón de URL como /category/oldsubcategory-1/, /category/oldsubcategory-2/, /category/endsubcategory/ y queremos fusionar todas las subcategorías en /category/endsubcategory/. Necesitamos la regla de todo menos aquí.
RewriteCond %{REQUEST_URI} !/category/final-subcategory/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(category/). /category/final-subcategory/ [R=301,L]
Aquí queremos redirigir todas las sub/categorías/ en la tercera línea a menos que sea /categoría/subcategoría final/ en la cuarta línea. También tenemos la regla "! -F" en la segunda línea, que ignora cualquier archivo como imágenes, CSS o JavaScript.
De lo contrario, si tenemos activos como "/category/image.jpg" también serán redirigidos a "/final-subcategory/" y provocarán que la imagen se rompa.
Cambio de directorio
Si ha realizado una reestructuración de categoría y desea mover todo del directorio anterior al nuevo, puede usar la regla a continuación.
RewriteRule ^old-directory$ /new-directory/ [R=301,NC,L] RewriteRule ^old-directory/(.*)$ /new-directory/$1 [R=301,NC,L]
Usé $1 en el destino para decirle al servidor que recuerde todo en la URL que sigue a /directorio-antiguo/ (es decir, /directorio-antiguo/subdirectorio/) y lo pase (es decir, "/ subdirectorio /") del destino. Como resultado, será redirigido a /nuevo-directorio/subdirectorio/.
Usé dos reglas: una sin una barra inclinada y otra con una barra inclinada.
Podría combinarlos en una sola regla usando un (/?|.*)$ RegExp al final, pero eso causaría problemas y agregaría una barra inclinada "//" al final de la URL cuando la URL solicitada no tenga una barra inclinada. end tiene una cadena de consulta (es decir, "/directorio-antiguo?utm_source=facebook" será redirigido a "/directorio-nuevo //?utm_source=facebook").
Eliminar una palabra de una URL
Supongamos que tiene 100 URL en su sitio web con el nombre de ciudad "chicago" y desea eliminarlas.
Para la URL http://yourwebiste.com/example-chicago-event/ la regla de redirección sería:
RewriteRule ^(.*)-chicago-(.*) http://%{SERVER_NAME}/$1-$2 [NC,R=301,L]
Si la URL de ejemplo tiene el formato http://yourwebiste.com/example/chicago/event/, la redirección sería:
RewriteRule ^(.*)/chicago/(.*) http://%{SERVER_NAME}/$1/$2 [NC,R=301,L]
Canonización
Tener URL canónicas es la parte más importante del SEO.
Si falta, puede poner su sitio web en riesgo de problemas de contenido duplicado porque los motores de búsqueda tratan las URL con versiones "www" y "no-www" como páginas diferentes con el mismo contenido.
Por lo tanto, debe asegurarse de iniciar el sitio web con solo una versión de su elección.
Si desea lanzar su sitio web con la versión "www", use esta regla:
RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC] RewriteRule ^(.*)$ http://www.yourwebsite.com/$1 [L,R=301]
Para la versión sin www:
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC] RewriteRule ^(.*)$ http://yourwebsite.com/$1 [L,R=301]
La barra inclinada final también forma parte de la canonicalización, ya que las URL con o sin una barra inclinada final también se tratan de manera diferente.
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
Esto asegurará que /example-page sea redirigido a /example-page/. Puede optar por eliminar la barra inclinada en lugar de agregar, luego necesitará la otra regla a continuación:
RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301]
HTTP Esta es una redirección HTTPS
Después de la iniciativa de Google de alentar a los propietarios de sitios web a usar SSL, migrar a HTTPS es uno de los redireccionamientos de uso común que tienen casi todos los sitios web.
La regla de reescritura a continuación se puede usar para hacer cumplir HTTPS en cualquier sitio web.
RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC] RewriteRule ^(.*)$ https://www.yourwebsite.com/$1 [L,R=301,NC]
Con esto, puede combinar redireccionamientos de versión www o no www en una sola regla de redireccionamiento HTTPS.
Redirigir del dominio antiguo al dominio nuevo
También es uno de los redireccionamientos más utilizados cuando decide cambiar de marca y necesita cambiar su dominio. La siguiente regla redirige old-domain.com a new-domain.com.
RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR] RewriteCond %{HTTP_HOST} ^www.old-domain.com$ RewriteRule (.*)$ http://www.new-domain.com/$1 [R=301,L]
Utiliza dos casos: uno con la versión "www" de las URLs y otro "no-www" porque cualquier página por razones históricas puede tener enlaces entrantes a ambas versiones.
La mayoría de los propietarios de sitios usan WordPress y es posible que no necesiten un archivo .htaccess para los redireccionamientos, sino que usen un complemento.
El manejo de redireccionamientos mediante complementos puede ser un poco diferente de lo que discutimos anteriormente. Es posible que deba leer su documentación para procesar correctamente RegExp para el complemento específico.
De los existentes, recomendaría un complemento gratuito llamado Redirecciónque tiene muchos parámetros para controlar las reglas de reenvío y muchos documentos útiles.
Redirección de malas prácticas
1. Redirigir las 404 URL rotas a la página de inicio
Este caso a menudo ocurre cuando eres demasiado perezoso para investigar todas tus URL 404 y asignarlas a la página de destino adecuada.
Según Google, todavía se tratan como 404.
Sí, no es una gran práctica (confunde a los usuarios) y de todos modos los tratamos mayoritariamente como 404 (son 404 blandos), por lo que no hay ninguna ventaja. No críticamente roto/malo, pero complejidad adicional sin una buena razón: haga una mejor página 404 en su lugar.
Google para texto alternativo SEO y accesibilidad- 🍌 Juan 🍌 (@JohnMu) 8 de enero de 2019
Si tiene demasiadas páginas como esta, debería considerar crear hermosas páginas 404 e involucrar a los usuarios para que busquen más o encuentren algo diferente a lo que estaban buscando mostrando una opción de búsqueda.
Esto es muy recomendado por Google. el contenido de la página redirigida debe ser equivalente a la página anterior. De lo contrario, dicha redirección puede considerarse un 404 suave y perderá el rango de esta página.
2. Redireccionamientos incorrectos específicos de páginas móviles
Si tiene diferentes URL para sitios web de escritorio y móviles (es decir, "example.com" para escritorio y "m.example.com" para móvil), debe asegurarse de redirigir a los usuarios a la página correspondiente en la versión móvil.
Correcto: "Ejemplo.com/deporte/" es "m.ejemplo.com/deporte/"
equivocado: "Ejemplo.com/deporte/" es "m.ejemplo.com"
Además, debe asegurarse de que si una página es 404 en el escritorio, también debería ser 404 en el móvil.
Si no tiene una versión móvil para una página, puede evitar redirigir a la versión móvil y mantenerlos en la página de escritorio.
3. Usando Meta Refresh
Es posible hacer una redirección usando una metaetiqueta de actualización como el siguiente ejemplo:
Si coloca esta etiqueta en /página-antigua/, redirigirá al usuario inmediatamente a /página-nueva/.
Google no prohíbe este redireccionamiento, pero no recomienda su uso.
Una redirección de tipo meta actualización debería funcionar. No lo recomendamos por 2 razones: UX (mantiene la página en el historial del navegador, afaik) y tiempo de procesamiento (tenemos que analizar la página para verla). Una vez procesado, es como una redirección.
- 🍌 Juan 🍌 (@JohnMu) 2 de marzo de 2018
Según John Müller, Es posible que los motores de búsqueda no reconozcan correctamente este tipo de redirección.. Lo mismo ocurre con las redirecciones de JavaScript.
4. Demasiados redireccionamientos
Este mensaje aparece cuando tiene una configuración de expresión regular incorrecta y termina en un bucle infinito.
Esto suele suceder cuando tienes una cadena de redirección.
Digamos que redirigió la página 1 a la página 2 hace mucho tiempo. Es posible que haya olvidado que la página 1 fue redirigida y decidió redirigir la página 2 a la página 1 nuevamente.
Como resultado, obtendrá una regla como esta:
RewriteRule ^page1 /page2 [R=301,NC,L] RewriteRule ^page2 /page1 [R=301,NC,L]
Esto creará un bucle infinito y dará como resultado el error que se muestra arriba.
Conclusión
Saber qué son los redireccionamientos y qué situación requiere un código de estado específico es esencial para optimizar correctamente las páginas web. Esta es una parte fundamental para entender el SEO.
Muchas situaciones requieren un conocimiento preciso de los redireccionamientos, como migrar un sitio web a un nuevo dominio o crear una URL de página de destino temporal para una página web que volverá a su URL normal.
Aunque es posible hacer muchas cosas con un complemento, se puede abusar de él sin comprender adecuadamente cuándo y por qué usar un determinado tipo de redirección.
Imagen destacada: Paulo Bobita / Search Engine Journal
window.addEventListener( 'load', function() { setTimeout(function(){ striggerEvent( 'load2' ); }, 2000); });
window.addEventListener( 'load2', function() {
if( sopp != 'yes' && addtl_consent != '1~' && !ss_u ){
!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window,document,'script', 'https://connect.facebook.net/en_US/fbevents.js');
if( typeof sopp !== "undefined" && sopp === 'yes' ){ fbq('dataProcessingOptions', ['LDU'], 1, 1000); }else{ fbq('dataProcessingOptions', []); }
fbq('init', '1321385257908563');
fbq('track', 'PageView');
5 formas en que los expertos en SEO ganan en la búsqueda localfbq('trackSingle', '1321385257908563', 'ViewContent', { content_name: 'redirects-technical-guide', content_category: 'technical-seo' }); } });
Deja una respuesta