Si tenéis la necesidad de realizar un portal (sobre todo enfocado a ser un portal público) y que cumpla con ciertas reglas SEO, un aspecto importante a tener en cuenta es el tema de las URLs.
Ya sabemos que SharePoint tiene su forma de crear la jerarquía de navegación en sus elementos (páginas), y no da flexibilidad para cambiar el modo en el que se navega dentro de un portal.
Realmente no hay como tal una solución soportada por Microsoft, pero si que existe una solución que puede resultar válida para lo que se busca. Sin perder el foco, lo que perseguimos es olvidarnos de una URL que sea así: http://miportal.es/Paginas/portada.aspx y poder tener su sustituta con una forma similar a esta: http://miportal.es/portada. O incluso ciertas URL en las que en la propia dirección se está pasando una query similar a http://miportal.es/Paginas/Consultas.aspx?num_consulta=14 y queremos que sea del estilo http://miportal.es/Paginas/Consultas/14.
Para conseguir esto, existe una herramienta llamada URL Rewrite que nos va a permitir crear una serie de reglas para que logremos transformar esas URL. Lo bueno es que no tenemos que hacer nada en nuestro portal de SharePoint (o casi nada), ya que esta herramienta va a trabajar a nivel de IIS, abstrayéndose de cómo trabaja SharePoint.
Con unos ejemplos rápidos y sencillos vamos a ver su funcionamiento. Lo primero de todo es descargar la herramienta. En mi caso he usado la Web Platform Installer, que simplifica el proceso:
Una vez instalada, podemos acceder a la herramienta desde nuestro IIS.
Y dentro del sitio correspondiente, tendremos una nueva opción para configurar el URL Rewriter:
Llegados a este punto, hay que comenzar con la creación de las reglas. Se pueden crear las reglas y una vez aplicadas, la herramienta hará un reciclado del pool y ya podremos ver si se están aplicando o no, es decir, que no hace falta que se haga un iisreset ni nada por el estilo. También si sirve de ayuda se puede activar el log para la herramienta.
Las reglas ha crear son de tipo Inbound (reglas de entrada), y vamos a crearlas a partir de una regla en blanco:
Es importante crear las reglas por orden, ya que se van a aplicar en el orden que hayamos establecido (se pueden mover a posterior). La primera regla es para eliminar la entrada de /Pages/ o /Paginas/, dependiendo del idioma. Vamos a usar las expresiones regulares para crear estas reglas:
Y luego se aplica una condición para excluir las URL que vienen de otras direcciones de SharePoint que no deben ser aplicadas, tales como las bibliotecas de estilos o las páginas dentro de /_layouts/:
La segunda regla es para la página por defecto o la Home, y tiene la siguiente configuración:
Hasta aquí, las dos reglas son de reescritura de URLs. Las dos siguientes son para redirección. La tercera regla en concreto es para los enlaces que se encuentran en la Home, y tiene la siguiente configuración:
Y la cuarta y última regla es para el resto de enlaces que se encuentran en el resto de páginas, subhomes, etc. y tiene la siguiente configuración:
Pues con estas cuatro reglas se cubre prácticamente la totalidad de casos a aplicar en las URLs de un portal de publicación por ejemplo de SharePoint. Ahora nuestro portal tendrá una navegación similar a la siguiente:
Como veis hemos hecho que desaparezca tanto el /Pages/ como el .aspx de la extensión de la página.
Aquí tenéis un resumen de las reglas y el orden de nuevo en el que deben de aplicarse para que funcionen correctamente:
Espero que sea de utilidad.