Hay situaciones cuando nos encontramos con sitios Web que utiliza un CMS (Content Management System – Sistema de Gestión de Contenidos) que no te permite hacer los cambios SEO necesarios en el sitio.  Yo personalmente le sugiero al cliente que cambie de CMS para poder hacer todos los cambios internos en el sitio (SEO On Page).
 
Si se trata de un sitio pequeño no hay ningún problema, el problema es cuando se trata de grandes portales que cuentan con una docenas de miles de pagina o millones. Como dentro de poco tengo que encargarme de cambiar de CMS de un portal que cuenta con mas 100.000 paginas indexadas me he puesto a investigar y en el foro de ayuda para webmasters de Google me encuentro con esta explicación de Javier Casares que esta muy bien explicada. Por esto mismo lo considero un recurso bastante interesante que me gustaría compartirlo con vosotros. (Con el permiso del autor claro)
Hola a todos!
A ver, este sistema de redirección es independiente de cualquier CMS (Joomla, etc…) y requiere saber un poco de programación y bases de datos.
Básicamente (voy a intentar poner un ejemplo exagerado pero que sirva de visión global) la idea es:
1. tengo una WebAntigua que “voy a eliminar”
2. tengo una WebNueva que “quiero indexar”
3. quiero hacer redirecciones 301 de la WebAntigua a la WebNueva para traspasar todo el peso de lo que tenía conseguido hasta ahora.
 
En este caso el punto 1 y 2 son tan sencillos como “borrar” toda la web vieja y “poner” la web nueva. Pero antes de eso hay que tomar los distintos patrones de URL; esto implicaría, por ejemplo:
 
WebAntigua:
 
1. http://example.com/content/view/[idcontenido]/[idcategoria]/
 
WebNueva:
 
1. http://example.com/[idcategoria]/[url-categoria]/[url-subcategoria]/[idcontenido]-[url-contenido].html
 
Como en el nuevo sistema no “pisamos” las URL de la WebAntigua ni la WebNueva, podemos jugar con las redirecciones. En este caso tendríamos un .HTACCESS similar al siguiente:
 
DirectoryIndex index.php
ErrorDocument 404 /error.php
RewriteEngine on
RewriteRule ^content/view/([0-9]*)/([0-9]*)/ contenidoantiguo.php?idcontenido=$1&idcategoria=$2
 
Como bien comentaban antes, el $1 corresponde a la primera variable (en este caso la expresión regular que dice que es válido sólo numercaión con cifras entre 0 y 9) y el $2 a la segunda variable (igual). Como información, otras expresiones regulares “habituales”:
 
([0-9]*) = sólo números
([a-z0-9]*) = sólo números y letras en minúscula
([A-Za-z0-9]*) = sólo números y letras en minúscula y mayúscula
 
Una vez tenemos esto, las URL de la WebNueva funcionarán con normalidad, y las URL de la WebAntigua como coinciden con este formato del .htaccess irán a llamar a ese fichero que crearemos y que tendremos que programar. El fichero será algo tal que así:
 
contenidoantiguo.php (NOTA: no he incluido configuración de seguridad, sólo ideas de proceso)
 
< ?php
$idcontenido = $_GET[“idcontenido”];
$idcategoria = $_GET[“idcategoria”];
//conectamos al SQL
$res = mysql_query(“SELECT idcategoria, urlcategoria, urlsubcategoria, idcontenido, urlcontenido FROM noticias WHERE idcontenido=’$idcontenido’ AND idcategoria=’$idcategoria’”);
//desconectamos del SQL
$data = mysql-fetch_object($res);
$urlnueva = “Location: http://example.com/”.$data->idcategoria.”/”.$data->urlcategoria.”/”.$data->urlsubcategoria.”/”.$data->idcontenido.”-”.$data->urlcontenido.”.html”;
header($urlnueva, true, 301);
header(“Expires: Mon, 1 Aug 2011 00:00:00 GMT”);
? >
 
Con esto le indicaríamos a los buscadores que han de hacer una redirección de la antigua URL a la nueva y que la han de mantener así durante los próximos N meses (nmi recomendación es que eso se calcule automático y le indiquéis de 3 a 6 meses, no más, debido principalmente a los ciclos de reindexación del propio Google).
 
Con esto conseguiríais que, el 80% de la web (si es mediana/grande) se migre en un periodo de unas 4-6 semanas y que el el siguiente 20% se migre las siguientes 8-10 semanas. Todo dependerá de la cantidad de enlaces entrantes externos que tengáis, ya que mientras esos enlaces estén, Google seguirá visitando las páginas antiguas.
 
Una vez pasen los 3-6 meses, lo mejor es eliminar esta redirección e incorporar el famoso “código 404 Not Found” y, si fuera muy pensado y no desaparece, hacer uso de un “código 410 Gone”
Suscríbete al Newsletter

Leave a Reply

La moderación de comentarios está activada. Su comentario podría tardar cierto tiempo en aparecer.