Las redirecciones y la Búsqueda de Google

Redirigir URLs es hacer que una URL lleve a otra, lo que indica a los visitantes y a la Búsqueda de Google que una página ha cambiado de ubicación. Las redirecciones son particularmente útiles en las siguientes circunstancias:

  • Has trasladado tu sitio a un nuevo dominio y quieres que la transición sea lo más fluida posible.
  • Los usuarios llegan a tu sitio desde varias URL distintas. Por ejemplo, si se puede acceder a tu página principal de varias formas (desde https://example.com/home, http://home.example.com o https://www.example.com), puedes seleccionar una de esas URL como destino preferido (canónico) e implementar redirecciones para enviar el tráfico de las otras URL a la URL que hayas escogido.
  • Vas a fusionar dos sitios web y quieres asegurarte de que los enlaces a URL obsoletas redirijan a los usuarios a las páginas correctas.
  • Has retirado una página y quieres enviar a los usuarios a una nueva.

Información sobre los tipos de redirección

Aunque los usuarios no suelen distinguir entre los diferentes tipos de redirecciones, en la Búsqueda de Google se utilizan determinados tipos de redirecciones como una señal de que el destino de la redirección debería ser una página canónica. La redirección más adecuada dependerá del tiempo que esperas que tarde en implementarse y de la página que quieres que la Búsqueda de Google muestre en los resultados:

  • Redirecciones permanentes: muestran el nuevo destino de una redirección en los resultados de búsqueda.
  • Redirecciones temporales: muestran la página de origen en los resultados de búsqueda.

En la siguiente tabla se explican las diferentes formas de configurar redirecciones permanentes y temporales, ordenadas según la probabilidad de que Google pueda interpretarlas correctamente. Por ejemplo, las redirecciones de servidor son el tipo de redirección que es más probable que Google interprete bien. Elige el tipo de redirección que mejor se adapte a tu situación y a tu sitio:

Tipos de redirección
Permanente

El robot de Google sigue la redirección, y el flujo de procesamiento de indexación la utiliza como una señal de que la página de destino de la redirección debería ser la canónica.

HTTP 301 (moved permanently)

Configura redirecciones de servidor.

HTTP 308 (moved permanently)
meta refresh (0 segundos)

Configura redirecciones meta refresh.

Actualización HTTP (0 segundos)
JavaScript location

Configura redirecciones de JavaScript.

Redirección Crypto

Más información sobre las redirecciones crypto

Temporal

El robot de Google sigue la redirección, pero el flujo de procesamiento de indexación no la utiliza como una señal de que la página de destino debería ser la canónica. Es posible que la página de destino se siga indexando si hay otras señales de canonicalización.

HTTP 302 (found)

Configura redirecciones de servidor.

HTTP 303 (see other)
HTTP 307 (temporary redirect)
meta refresh (más de 0 segundos)

Configura redirecciones meta refresh.

HTTP refresh (más de 0 segundos)

Redirecciones de servidor

Para configurar redirecciones de servidor se requiere acceso a los archivos de configuración del servidor (como el archivo .htaccess de Apache) o definir los encabezados de redirección con script de servidor (como PHP). Las redirecciones de servidor pueden ser permanentes o temporales.

Redirecciones de servidor permanentes

Para cambiar la URL de una página que se muestra en los resultados de un buscador, te recomendamos que uses una redirección de servidor permanente siempre que sea posible. Es la mejor forma de asegurarte de que se redirija a los usuarios y a la Búsqueda de Google a la página correcta. Los códigos de estado 301 y 308 indican que una página se ha trasladado de forma permanente a otra ubicación.

Redirecciones de servidor temporales

Si solo quieres enviar a los usuarios a otra página temporalmente, utiliza una redirección temporal. Esto también garantizará que Google no se vea influido por la redirección, lo que puede ayudar a mantener la URL antigua en los resultados de búsqueda. Por ejemplo, si un servicio de tu sitio no está disponible temporalmente, puedes configurar una redirección temporal para enviar a los usuarios a una página explicativa, sin comprometer el lugar de la URL de origen en los resultados de búsqueda.

Implementar redirecciones de servidor

La implementación de redirecciones de servidor depende de tu entorno de alojamiento y de servidor, o del lenguaje de script del backend de tu sitio.

Para configurar una redirección permanente con PHP, utiliza la función header(). Debes configurar los encabezados antes de enviar algo a la pantalla:

header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.example.com/newurl');
exit();

Del mismo modo, el siguiente ejemplo muestra cómo se configura una redirección temporal con PHP:

header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();

Si tienes acceso a los archivos de configuración de tu servidor web, puedes escribir las reglas de redirección por tu cuenta. Sigue las guías de tu servidor web:

  • Apache: consulta el tutorial de .htaccess de Apache, la guía sobre cómo reescribir URL de Apache y la documentación de mod_alias de Apache. Por ejemplo, con mod_alias puedes configurar redirecciones sencillas:

    # Permanent redirect:
    Redirect permanent "/old" "https://example.com/new"
    
    # Temporary redirect:
    Redirect temp "/two-old" "https://example.com/two-new"

    Si quieres configurar redirecciones más complejas, utiliza mod_rewrite. Por ejemplo:

    RewriteEngine on
    # redirect the service page to a new page with a permanent redirect
    RewriteRule   "^/service$"  "/about/service"  [R=301]
    
    # redirect the service page to a new page with a temporary redirect
    RewriteRule   "^/service$"  "/about/service"  [R]
  • NGINX: consulta cómo crear reglas de reescritura de NGINX en el blog de NGINX. Al igual que en Apache, tienes varias opciones para crear redirecciones. Por ejemplo:

    location = /service {
    # for a permanent redirect
    return 301 $scheme://example.com/about/service
    
    # for a temporary redirect
    return 302 $scheme://example.com/about/service
    }

    Para redirecciones más complejas, utiliza la regla rewrite:

    location = /service {
    # for a permanent redirect
    rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent;
    
    # for a temporary redirect
    rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect;
    }
  • Si usas otros servidores web, ponte en contacto con el gestor o con el proveedor de alojamiento de tu servidor o consulta páginas de ayuda sobre el buscador que prefieras. Por ejemplo, puedes buscar "redirecciones en LiteSpeed".

meta refresh y su equivalente HTTP

Si no puedes implementar redirecciones de servidor en tu plataforma, las redirecciones meta refresh pueden ser una buena alternativa. Google distingue entre dos tipos de redirecciones meta refresh:

  • Redirección meta refresh instantánea: se activa cuando se carga la página en un navegador. La Búsqueda de Google interpreta las redirecciones meta refresh instantáneas como redirecciones permanentes.
  • Redirección meta refresh diferida: se activa solo después de un número concreto de segundos, definido por el propietario del sitio web. La Búsqueda de Google interpreta las redirecciones meta refresh diferidas como redirecciones temporales.

Coloca la redirección meta refresh en el elemento <head> del código HTML o en el encabezado HTTP mediante código de servidor. Este es un ejemplo de una redirección meta refresh instantánea situada en el elemento <head> del código HTML:

<!doctype html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=https://example.com/newlocation">
<title>Example title</title>
<!--...-->

Y este es el equivalente en un encabezado HTTP, que puedes insertar con script de servidor:

HTTP/1.1 200 OK
Refresh: 0; url=https://www.example.com/newlocation
...

Para crear una redirección diferida que Google interpretará como una redirección temporal, configura el atributo content con el número de segundos que debe retrasarse la redirección:

<!doctype html>
<html>
<head>
<meta http-equiv="refresh" content="5; url=https://example.com/newlocation">
<title>Example title</title>
<!--...-->

Redirecciones location de JavaScript

La Búsqueda de Google interpreta y ejecuta JavaScript mediante el servicio de renderizado web una vez que se ha completado el rastreo de la URL.

Para configurar una redirección de JavaScript, debes definir la propiedad location de modo que incluya la URL de destino de la redirección en un bloque de script en el encabezado HTML. Por ejemplo:

<!doctype html>
<html>
<head>
<script>
  window.location.href = "https://www.example.com/newlocation";
</script>
<title>Example title</title>
<!--...-->

Redirecciones Crypto

Si no puedes implementar ninguno de los otros métodos de redirección, debes informar a los usuarios de que la página o su contenido se han trasladado. La forma más sencilla de hacerlo es añadir un enlace a la nueva página acompañado de una breve explicación. Por ejemplo:

<a href="https://newsite.example.com/newpage.html">¡Nos hemos trasladado! Puedes encontrar el contenido en nuestro nuevo sitio.</a>

Con este mensaje, ayudas a los usuarios a encontrar tu nuevo sitio y es posible que Google lo interprete como una redirección crypto. Del mismo modo que hay quienes cuestionan la existencia del monstruo del lago Ness, es posible que no todos los buscadores lo reconozcan como una redirección oficial.

Versiones alternativas de una URL

Cuando rediriges una URL, Google registra el origen de la redirección (la URL antigua) y su destino (la URL nueva). Una de las URL será la canónica, dependiendo de si la redirección es temporal o permanente. La otra URL se convierte en un nombre alternativo de la URL canónica. Los nombres alternativos son distintas versiones de una URL canónica que los usuarios podrían reconocer y en las que podrían confiar más. Los nombres alternativos pueden aparecer en los resultados de búsqueda cuando las consultas de un usuario sugieren que podría confiar más en la URL antigua.

Por ejemplo, si has cambiado de nombre de dominio, es muy probable que Google siga mostrando las URL antiguas de vez en cuando en los resultados, aunque las nuevas URL ya estén indexadas. Esto es normal y, a medida que los usuarios se acostumbren al nuevo nombre de dominio, los nombres alternativos irán desapareciendo sin que hagas nada.