Una de las conversaciones que más se destacaron en las charlas de la reciente SMX Buenos Aires que más me llamó la atención fue que muchos webmasters no tienen muy claro cómo usar los códigos de respuesta HTTP para mejorar los aspectos SEO. La utilización de los códigos de respuesta HTTP son una herramienta muy útil, sobre todo si uno está constantemente implementando mejoras como reescribir las URLs, eliminar contenido duplicado u optimizando las páginas indexadas en los buscadores.Voy a hacer un repaso de los más importantes.

404 – Not Found

Por defecto, cuando se ingresa una URL no válida, el servidor responde con un header 404 de página no encontrada. En general es recomendable evitar eso con distintos redireccionamientos.

410 – Gone

Esta respuesta especifica que la página no existe más en esa URL. En este caso, google deindexará las páginas que respondan con este código de su índice. Si tu sitio tiene páginas duplicadas – probablemente por un error en el sitelinking del sitio – devolver este código te permitirá desindexarlas, antes de que tu sitio pase directamente a los resultados suplementarios – e incluso después.

Redirect 410 /viejapagina.html

301 – Permanently Moved

La redirección 301 es uno de los códigos más importantes. Más allá de que las Herramientas para Webmasters de Google permiten elegir el dominio preferido entre WWW y sin WWW, es preferible también crear una regla desde el .htaccess para utilizar el dominio preferido y evitar contenido duplicado.
El código de respuesta 301 también tiene otras utilidades muy potentes. Por ejemplo, si una página de tu sitio cambió su URL, la respuesta 301 permite indicarle al Googlebot la nueva URL de la página. Si es una sola página, el procedimiento es muy sencillo, indicando la siguientes reglas para el mod_rewrite en el .htaccess:

Para el caso de una página:

Redirect 301 /viejapagina.html http://www.midominio.com/nuevapagina.html

Para un directorio completo:

Redirect 301 /viejodirectorio http://www.midominio.com/nuevodirectorio

Esto se complica un poco en el caso de que haya que redireccionar un grupo de páginas porque debemos usar expresiones regulares.
Por ejemplo, para redireccionar desde sin www a WWW en el dominio podemos especificar

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^dominio.com [nc]
rewriterule ^(.*)$ http://www.dominio.com/$1 [r=301,nc]

Otro uso interesante para el código 301 es convertir URLs dinámicas a URLs estáticas para una mejor indexación:

<actualización>: Esteban me hace notar que esta redirección sólo redirecciona todos los posts a una sola página – por ejemplo, en el caso que una sección haya sido dada de baja y quieras informarle a todos tus lectores.

RewriteRule ^post.php?id=(.*)$ /miunicopost.htm [L,R=301]

La forma correcta de redireccionar lo que se llaman Pretty URLs sería

RewriteRule ^post.php?id=(.*)$ /post/$1 [L,R=301]

para convertir las url de post.php?id=23 en /post/23. Sin embargo, deberás decodificar esta forma de pasar parámetros para que tu aplicación los interprete. Una excelente guía para esto esta en Digital Point. Gracias Esteban.

</actualizacion>

En el caso de que querramos direccionar a un nuevo dominio el sitio, la respuesta 301 es obligada si queremos que Google reconozca nuestro nuevo dominio como uno antiguo que “se mudó”, manteniendo la antiguedad del dominio, el pagerank y evitar el sandbox:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nuevodominio.com/$1 [R=301,L]

En mi caso particular, he utilizado esta redirección para pasar de un ccTLD a un TLD con éxito, sin perder tráfico ni pagerank. Por supuesto, su efecto no es inmediato, pero solo hay que tener paciencia a que Google reconozca estos cambios como permanentes.

302 – Temporarily Moved

El código de respuesta 302 tiene un comportamiento similar al 301, pero especifica que la redirección no es permanente, con lo cual Google no reemplazará la URL actual con la nueva, sino que simplemente la tomará como válida mientras dure la redirección. De todos modos, no la utilizaría por más de un mes, debido a que por su carácter temporario, si permanece es posible que de lugar a algún tipo de penalización por sospechosa.

Por supuesto, estos redireccionamientos se pueden efectuar también a nivel código. En el caso de que no dispongas de mod_rewrite en tu servidor, es posible implementar todos los códigos de respuesta desde todos los lenguajes de programación.

Be Sociable, Share!