ago 11 2011

C# : Creare una Sitemap ( Sitemap.xml ) per i motori di ricerca Google, Yahoo e Bing in tempo reale con XmlDocument utilizzando l’xml del menu

Luca Bartoli

Se volete che il vostro sito crei in automatico una sitemap per i motori di ricerca, basandosi magari dai dati di un db o da un menu in xml che avete, potete utilizzare la classe XmlDocument.

Per esempio utilizzerò un file xml che rappresenta un menu asp:menu di .net.

Creiamo il menu e agganciamolo ad un XmlDataSource:

<asp:Menu ID="Menu1" DataSourceID="XmlDataSourceMenuLeft" runat="server" 

    StaticDisplayLevels="3" MaximumDynamicDisplayLevels="4">

    <DataBindings>

	<asp:MenuItemBinding DataMember="base" Selectable="False" TextField="title" />

	<asp:MenuItemBinding DataMember="menu" NavigateUrlField="url" 

	    TextField="title" />

	<asp:MenuItemBinding DataMember="menu" NavigateUrlField="url" 

	    TextField="title" />

    </DataBindings>

</asp:Menu>

<asp:XmlDataSource ID="XmlDataSourceMenuLeft" runat="server" EnableCaching="False" XPath="/menuIndex/base" DataFile="~/menu/menuLeft.xml"></asp:XmlDataSource>

 l’xml usato per il menu, che ci servirà anche per la Sitemap.xml di google, è questo:

<?xml version="1.0" encoding="utf-8" ?>

<menuIndex  url="" title="" urlImage="" description="">

    <base url="" title="Menu Sinistra" urlImage="" description="">

      <menu url="Default.aspx" title="HOME" urlImage="" description="" />

      <menu url="curriculum.aspx" title="CURRICULUM" urlImage="" description="" >

        <menu url="primo_curriculum.aspx" title="Primo CURRICULUM" urlImage="" description="" />

        <menu url="secondo_curriculum.aspx" title="Secondo CURRICULUM" urlImage="" description="" />

      </menu>

      <menu url="pubblicazioni.aspx" title="PUBBLICAZIONI" urlImage="" description="" />

      <menu url="biblioteca.aspx" title="BIBLIOTECA" urlImage="" description="" >

        <menu url="prima_biblioteca.aspx" title="Prima BIBLIOTECA" urlImage="" description="" />

        <menu url="seconda_biblioteca.aspx" title="Seconda BIBLIOTECA" urlImage="" description="" />

      </menu>

      <menu url="contatti.aspx" title="CONTATTI" urlImage="" description="" />

      <menu url="link.aspx" title="LINK" urlImage="" description="" />

    </base>

</menuIndex>
Leggi tutto...