Generați sitemap pe zbor

voturi
4

Am încercat să genereze o sitemap.xml pe zbor pentru un anumit site asp.net.

Am găsit câteva soluții:

  1. chinookwebs
  2. cervoproject
  3. newtonking

Chinookwebs este de lucru mare, dar pare un pic inactiv chiar acum și este imposibil de a personaliza „prioritatea“ și etichetele „changefreq“ de fiecare pagină, toate moștenesc aceeași valoare din fișierul de configurare.

Ce soluții folosesc voi?

Întrebat 13/08/2008 la 01:01
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
7

De obicei , veți utiliza un Handler HTTP pentru acest lucru. Având în vedere o cerere de ...

http://www.yoursite.com/sitemap.axd

... manipulant va răspunde cu un sitemap XML formatat. Fie că sitemap este generată pe zbor, dintr-o bază de date, sau o altă metodă este de până la punerea în aplicare HTTP Handler.

Iată cam ce ar arata ca:

void IHttpHandler.ProcessRequest(HttpContext context)
{
    //
    // Important to return qualified XML (text/xml) for sitemaps
    //
    context.Response.ClearHeaders();
    context.Response.ClearContent();
    context.Response.ContentType = "text/xml";
    //
    // Create an XML writer
    //
    XmlTextWriter writer = new XmlTextWriter(context.Response.Output);
    writer.WriteStartDocument();
    writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
    //
    // Now add entries for individual pages..
    //
    writer.WriteStartElement("url");
    writer.WriteElementString("loc", "http://www.codingthewheel.com");
    // use W3 date format..
    writer.WriteElementString("lastmod", postDate.ToString("yyyy-MM-dd"));
    writer.WriteElementString("changefreq", "daily");
    writer.WriteElementString("priority", "1.0");
    writer.WriteEndElement();
    //
    // Close everything out and go home.
    //
    result.WriteEndElement();
    result.WriteEndDocument();
    writer.Flush();
}

Acest cod poate fi îmbunătățit, dar asta e ideea de bază.

Publicat 13/08/2008 la 08:19
sursa de către utilizator

voturi
0

Folosind ASP.NET MVC doar incitat un pic rapid de cod folosind biblioteca .NET generare XML și apoi doar a trecut că într-o pagină de vedere, care a avut un control XML pe ea. În codul-am legat în spatele controlul cu videotex. Acest lucru părea să suprascrie comportamentul implicit de vizualizare pagini pentru a prezenta un antet diferit.

Publicat 13/08/2008 la 02:12
sursa de către utilizator

voturi
0

handler personalizat pentru a genera harta site-ului.

Publicat 13/08/2008 la 01:48
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more