Está usted en Indice > Maletin > Artículos > Canonizar las URL de un dominio con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Canonizar las URL de un dominio con PHP

Cómo canonizar los nombres de dominios, para obligar que siempre se visite un sitio con las 3w www…, haciendo redirección con PHP

En ese artículo comentamos varios consejos para no ser penalizados por tener contenido duplicado en nuestro sitio.

Uno de los consejos es que nuestro sitio no se pueda acceder a través de URLs distintas, con o sin las 3 w. Por ejemplo:

http://www.misitiodeejemplo.com
http://misitiodeejemplo.com

Si ambas direcciones tienen el mismo contenido, Google puede pensar que estás duplicando información en tu dominio y puede caer la clasificación en buscadores de tu sitio web.

Entonces hemos creado un código en PHP que presentamos en este artículo para canonizar las direcciones URL de tu dominio (elegir cuál preferimos que sea utilizada e indexada en Google, la URL con las 3w o sin ellas), creando un dominio principal y redirigiendo las URLs de los dominios secundarios al principal. En este caso hemos preferido que el dominio principal sea el que tiene las 3w y que el acceso al dominio sin las www se redirija al dominio con ellas.

En realidad el código es muy simple. Sólo hay que conocer unas cuantas variables del array de variables superglobales $_SERVER, que contienen información sobre el servidor, la URL a la que se está accediendo, el dominio, etc.

Referencias:

  • Variables de sistema en PHP
  • FAQ Variables $_SERVER en PHP
Veamos el código PHP comentado de este taller:

//trozo de código para que siempre se visite el dominio con las 3w
if (substr($_SERVER["SERVER_NAME"],0,4) != "www."){
   //si el dominio al que intentamos acceder está sin las 3w
   //lo redirijo al dominio con las 3w
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: http://www." . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
}

En nuestro código hacemos lo siguiente: Detectamos en el nombre del servidor al que se accede, osea, el nombre del dominio de la URL que estamos accediendo. Si no comienza por "www." es que no se está accediendo al dominio como queremos, es decir, con las 3 w.

En ese caso, simplemente hacemos una redirección 301 (movido permanentemente) a la dirección con las www. Para saber el servidor al que estamos accediendo utilizamos la variable $_SERVER["SERVER_NAME"] y para saber la página concreta a la que tenemos que dirigir dentro del dominio utilizamos la variable $_SERVER["REQUEST_URI"]).

Este script PHP sirve para cualquier dominio donde lo pongamos y cualquier página de ese dominio, pues está parametrizado a través de $_SERVER tanto el nombre del dominio como el nombre de la página a la que redirigir al navegador.

Con esto conseguiremos no tener duplicado el contenido de la web en dos dominios distintos, con y sin las www, con lo que nuestro sitio web PHP estará un poco más optimizado para buscadores.



Usuarios que han visto este tema también han visto...

- Usabilidad al milímetro
- 10 claves para rentabilizar tu tienda virtual
- Cómo funciona el ranking en Google
- Como esta definida una plataforma e-learning
- ¿Qué es una "doorway page"?


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 22-11-2008 a las 18:26:07