En este artículo sobre PHP voy a enseñarte como realizar una redirección, de forma correcta, con PHP y la función header.
Voy a dejarte como hacer los dos tipos de redirección: la 301 (permanente) y la 302 (temporal).
Gracias a estos dos tipos de redirecciones, podrás mover a los usuarios de tu página web a tu antojo, entre una página y otra. Además, lograrás tener control sobre que ocurre en tu sitio web de cara a los buscadores.
¿Para qué sirve una redirección PHP?
Una redirección PHP o de otro lenguaje, sirve para enviar al navegador del usuario a una página distinta.
Una redirección puede tener múltiples usos, como enviar al usuario a una dirección URL con contenidos que este desea ver o que más se adecuan a un tipo de visita determinada. Un ejemplo de redirección web sería una redirección tras realizar un login con éxio en una página web cualquiera.
Tipos de redirecciones
Existen dos tipos de redirecciones web:
- Redirección permanente con código HTTP 301. Esta redirección significa que la página que se visita ya no existe y pasa a tener un "nuevo nombre".
- Redirección temporal con código HTTP 302. Esta redirección significa que la página visitada no está en servicio momentaneamente y se redirige al usuario a otra página.
Es importante recalcar que el usuario que visita nuestra página no se da cuenta de que redirección estamos haciendo, da igual el tipo, pero esta información es de vital importancia para los buscadores o crawlers.
Además de lo dicho, decirte que gracias al tipo de redirección utilizada, los buscadores como Google pueden actualizar sus bases de datos sobre las distintas páginas de tu sitio web.
También, si te suena el termino SEO, saber utilizar el tipo de redirección correcta para cada situación será determinante para el posicionamiento de tu web.
Redirección PHP 301
Para realizar una redirección en PHP 301 o 302 utilizaremos la función header(). Esta función permite configurar las cabeceras HTTP que envía nuestro servidor.
Una redirección con PHP de ejemplo podría ser la siguiente:
header("Location: htts://dominioweb.com/otra-seccion-web");
Como habrás visto, en ningún momento he indicado el código de la redirección, esto es posible debido a que esta función, por defecto, configura cualquier redirección con el código 302. Por lo tanto, por defecto, todas las redirecciones que no especifiquen código serán de tipo temporal.
Si queremos realizar una redirección 301 utilizaremos la función de la siguiente forma:
header("HTTP/1.1 301 Moved Permanently"); header("Location: nueva_pagina.html");