Reescribir URL en SharePoint

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:

image

image

Una vez instalada, podemos acceder a la herramienta desde nuestro IIS.

image

Y dentro del sitio correspondiente, tendremos una nueva opción para configurar el URL Rewriter:

image

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.

image

Las reglas ha crear son de tipo Inbound (reglas de entrada), y vamos a crearlas a partir de una regla en blanco:

image

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:

image

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/:

image

La segunda regla es para la página por defecto o la Home, y tiene la siguiente configuración:

image

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:

image

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:

image

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:

image

image

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:

image

Espero que sea de utilidad.

SharePoint Between Racks © 2012
. Con la tecnología de Blogger.

¡Compártelo!


Estoy en LinkedIn!


Ve mi perfil en LinkedIn!