Cómo...

Subgurim SiteMapConfiguration

Tal y como hemos comentado en el artículo previo, será en el elemento "SubgurimSiteMapConfiguration" desde donde realizaremos las configuraciones básicas. Veamos uno por uno qué significan todos los elementos:

- dataPath
El path del directorio donde guardaremos un archivo XML que el Subgurim SiteMap utilizará a modo de base de datos. Este directorio DEBE tener permisos de escritura. Si no ponemos nada, valdrá "~/App_Data/SiteMap/"

- sitemapResponse
El path desde el que será visible nuestro sitemap final. Así pues, será el path que deberemos indicar a Google Sitemaps y al Yahoo Explorer. Si no ponemos nada, valdrá "~/sitemap.aspx".

- forbiddenPaths
Es muy común que no queramos que ciertos Paths se archiven en el sitemap. Por ejemplo un directorio entero de una zona privada o un archivo específico que consideremos irrelevante. Para cada path que queramos ocultar, deberemos añadir un elemento "<Path />" (lo veremos en el ejemplo posterior).

- acceptedExtensions
Por defecto, el Subgurim SiteMaps sólo almacena las urls que tengan ".aspx" como extensión. Deberems añadir un elemento "<extension />" por cada extension extra que queramos almacenar. Por ejemplo, podríamos querer almacenar extensiones ".html" o ".htm". Posteriormente veremos un ejemplo.

- rewriterRules
Otra cosa muy típica es la reescritura de urls. Por ejemplo, podemos pedir que se transforme "http://myspace.com" en "http://www.myspace.com", o "http://www.myspace.com/default.aspx" a "http://www.myspace.com". De este modo, evitaremos que en nuestro SiteMaps haya varias URLs que realmente significan los mismo, pues "http://myspace.com" == "http://www.myspace.com" == "http://www.myspace.com/default.aspx" == "http://myspace.com/default.aspx". Editar estas reglas es también muy sencillo. Por cada una de ellas hay que añadir un elemento "<rule />" dentro del cual añadiremos dos elementos "oldPath" y "newPath". Posteriormente veremos un ejemplo.

Ejemplo
Así pues, un ejemplo de una sección "SubgurimSiteMapConfiguration" sería esta:

<SubgurimSiteMapConfiguration>
   <dataPath>~/App_Data/SubgurimSiteMap</dataPath>
   <sitemapResponse>~/sitemapmeplease.aspx</sitemapResponse>
   <forbiddenPaths>
     <Path>~/Admin</Path>
     <Path>~/PrivatePage.aspx</Path>
   </forbiddenPaths>
   <acceptedExtensions>
     <extension>.htm</extension>
     <extension>.html</extension>
   </acceptedExtensions>
   <rewriterRules>
     <rule>
       <oldPath>http://myspace.com</oldPath>
       <newPath>http://www.myspace.com</newPath>
     </rule>
     <rule>
       <oldPath>http://www.myspace.com/default.aspx</oldPath>
       <newPath>http://www.myspace.com</newPath>
     </rule>
   </rewriterRules>
</SubgurimSiteMapConfiguration>