Antes de gestionar este blog con WordPress, hice su desarrollo basado en ASP.NET pero cuando migré, en Febrero de 2007, al nuevo CMS se me quedó un asunto pendiente ¿cómo redirigir las páginas de los artículos? ya que utilizaban la URL del tipo https://www.raulserrano.net/articulo.aspx?id=505
Recientemente revisando el log de estadísticas observo que todavía hay algunos intentos de acceso a dichas URL’s antiguas por lo que generan error 404, así que me he propuesto ponerle solución definitiva para que sean redirigidas correctamente al nuevo enlace correspondiente:
- Añadiendo el siguiente código a la plantilla header.php de Sandbox, que es el tema utilizado en este blog.
<?php if ($_GET['id']) { switch ($_GET['id']) { case '503' : //Limpieza del sistema header('HTTP/1.1 301 Moved Permanently'); header('Location: https://www.raulserrano.net/2004/01/limpieza-del-sistema/'); break; case '504' : //Escritorio remoto via web header('HTTP/1.1 301 Moved Permanently'); header('Location: https://www.raulserrano.net/2003/12/escritorio-remoto-via-web/'); break; } } ?>
Dichas líneas de código se sitúan al principio del archivo, por encima del DOCTYPE. Lo que hacen es comprobar si la URL está pasando algún parámetro, en concreto, si existe una variable denominada id que es la que utilizaba para enlazar a los articulos, en tal caso, una sentencia switch recorre los valores posibles y mediante una redirección en el header indicamos la nueva ubicación. Es más correcto hacer la redirección como pongo aquí ya que los motores de búsqueda entenderán que ha cambiado a una nueva URL y quedará indexada manteniendo su pagerank.
- Aunque no era necesario, también he añadido una nueva regla al fichero .htaccess
RewriteRule ^articulo.aspx /categoria/articulos/ [L,R=301]
Asi puedo redirigir a la categoría Articulos a aquellos que sólo escriban la URL sin pasar el parámetro de número de articulo https://www.raulserrano.net/articulo.aspx
De esta manera creo haber solventado el problema de redirección de páginas antiguas y no debería fallar ninguna. A día de hoy funcionan todas las redirecciones de las distintas nomenclaturas que ha tenido esta web habiendo pasado por un inicial .HTML puro, posterior ASP.NET y el actual .PHP
Curioso artículo. Gracias.