Suscríbete por RSS
RSS

Sigueme en Twitter
Facebook
Búsqueda
Formulario de entrada
Login:
Contraseña:
Web 2.0
Wikio – Top Blogs – Tecnología

TOP Bitacoras.com para España

Inicio » 2011 » Agosto » 21 » Cómo cambiar de CMS en grandes portales sin ser penalizado
17:44:44
Cómo cambiar de CMS en grandes portales sin ser penalizado

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. 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"


Pueden leer el debate completo en el foro de ayuda para webmasters de Google. 

ENTRADAS RELACIONADAS


Categoría: Trucos de Programación | Visiones: 1167 | Ha añadido: sorin | Tags: seo, Redirección 301 | Ranking: 5.0/1
blog comments powered by Disqus