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 pueden llegar a tu sitio a través de varias URLs distintas. Por ejemplo, si se puede acceder a tu página principal de muchas maneras (como http://example.com/inicio, http://inicio.example.com o http://www.example.com), puedes elegir una de esas URLs como destino preferido (o canónico) y usar redirecciones para enviar el tráfico de las otras URL a la que has marcado como preferida.
  • Vas a fusionar dos sitios web y quieres asegurarte de que los enlaces a URLs obsoletas redirijan a los usuarios a las páginas correctas.
  • Has retirado una página y quieres enviar a los usuarios a una nueva.

Descripción general de los tipos de redirección

Aunque los usuarios no suelen distinguir entre los diferentes tipos de redirecciones, en la Búsqueda de Google se utiliza una redirección como un indicador importante o no importante de que el destino de la redirección debería ser una página canónica. Debes elegir un tipo de redirección basándote en el tiempo que esperas que tarde en implementarse y en la página que quieres que la Búsqueda de Google muestre en los resultados:

  • Redirecciones permanentes: muestra el nuevo destino de una redirección en los resultados de búsqueda.
  • Redirecciones temporales: muestra 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 por 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 los sistemas de indexación la utilizan como un indicador importante 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)
location de JavaScript

Configura redirecciones de JavaScript.

Redirección Crypto

Más información sobre las redirecciones crypto

Temporal

El robot de Google sigue la redirección, y los sistemas de indexación la utilizan como un indicador no importante de que la página de destino de la redirección debería ser la canónica.

HTTP 302 (found)

Configura redirecciones de servidor.

HTTP 303 (see other)
HTTP 307 (temporary redirect)
meta refresh (>0 segundos)

Configura redirecciones meta refresh.

HTTP refresh (>0 segundos)

Redirecciones de servidor

Para configurar redirecciones de servidor se requiere acceso a los archivos de configuración del servidor (como al archivo .htaccess de Apache) o definir los encabezados de redirección con secuencias de comandos 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. De esta manera, la URL antigua aparecerá durante más tiempo en los resultados de Google. Por ejemplo, si tu sitio ofrece un servicio que temporalmente no está disponible, puedes configurar una redirección temporal para redirigir a los usuarios a una página en la que se explique lo que sucede, sin que esto perjudique a la URL original que aparece 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 secuencias de comandos 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: http://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: http://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 URLs 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" "http://example.com/new"
    
    # Temporary redirect:
    Redirect temp "/two-old" "http://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
    }

    Con redirecciones más complejas, utiliza la directiva 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 otro servidor 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 con retraso: 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 con retraso como redirecciones temporales.

Coloca las redirecciones meta refresh en la sección del encabezado 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 encabezado de un documento 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 secuencias de comandos de servidor:

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

Para crear una redirección con retraso, que Google interpreta 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 del destino de la redirección en un bloque de secuencia de comandos del encabezado HTML. Por ejemplo:

<!doctype html>
<html>
  <head>
    <script>
      window.location.href('http://www.example.com/newlocation')
    </script>
    <title>Example title</title>
    <!--...-->

Redirecciones Crypto

Si no puedes implementar ninguno de los métodos de redirección tradicionales, 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">We moved! Find the content on our new site!</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.

Versiones alternativas de una URL

Cuando rediriges una URL, Google registra el origen de la redirección (la URL antigua) y su destino (la nueva). Una de las URLs será la canónica, que depende de indicadores como si la redirección fue temporal o permanente. La otra URL se convierte en un nombre alternativo de la URL canónica. 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 URLs antiguas de vez en cuando en los resultados, aunque las nuevas URLs 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.