Aktualizovat Google Sitemap pro ASP.NET 3.5 Web App Project

hlasů
2

Jsem pracující na 3.5 Web projektu aplikace ASP.NET v C #. Jsem ručně přidal technologie Google Sitemap, který obsahuje záznamy pro každou stránku v projektu - to není CMS.

  <url>
    <loc>http://www.mysite.com/events.aspx</loc>
    <lastmod>2009-11-17T20:45:46Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>

Aktualizace klientů událostí pomocí admin back-end. Jiné, než to, že web je relativně statický. Snažím se rozhodnout o nejlepším způsobu, jak aktualizovat <lastmod> hodnoty pro hrstku stránek, které jsou pravidelně aktualizovány.

Především jsem pomocí QueryStringField kontroly ListView ke zlepšení SEO, jak je popsáno zde:

http://www.4guysfromrolla.com/articles/010610-1.aspx

http://gsej.wordpress.com/2009/05/31/using-a-datapager-with-both-a-querystringfield-and-renderdisabledbuttonsaslabels/

Když je vlastnost QueryStringField nastaven, DataPager činí stránkovací rozhraní jako řadu hypertextové odkazy, které prohledávač může následovat i indexů. Nicméně, pokud společnost Google procházela můj seznam událostí před dvěma dny, a do té doby, administrátor přidal další tucet události ... říkají, že velikost stránky je nastavena na 6; V tomto případě, SERP odkazy Google se nyní ukazuje na špatných stránek. To je důvod, proč musím mít jistotu, že sitemap odráží změny na stránce akce, jakmile se stanou.

Už jsem se podíval ačkoli jiné SO otázky pro informace a nenašel to, co jsem potřeboval. Může někdo nabídnout nějakou radu nebo jiný přístup?

AKTUALIZACE:

Protože se jedná o sdílený hosting prostředí, adresáře hlídač / bude služba nefunguje:

Jak vytvořit soubor hlídač ve sdíleném webhosting prostředí

AKTUALIZACE:

Začínají uvědomovat, že budu potřebovat znamenat společnosti Google, že obsahují stránky byl aktualizován; aktualizovat poslední změny záhlaví HTTP?

Položena 26/01/2010 v 08:00
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Spíše než s použitím ručně kódované sitemap vytvořit sitemap rutinu, která bude generovat mapa stránek za běhu. Můžete vytvořit metodu v psovoda, které upoutají stránky z existující navigační mapa stránek, z databáze, nebo dokonce z pevně seznamu stránek. Můžete vytvořit XmlDocument ze seznamu, a psát InnerXml dokumentu se k potoku handler odezvy.

Pak vytvořte třídu s metodou, která se automaticky ping vyhledávače s URL na shora psovoda (jako http://www.google.com/webmasters/tools/ping?sitemap=http://www.mysite.com/sitemap .ashx ).

Whever někdo přidá novou událost, volejte výše uvedené metody. To bude ping Googlu pomocí nejnovější Sitemap (čerstvě generované výše uvedené metody).

Chcete, aby se ujistil, že ping funguje pouze v případě, že mapa stránek skutečně byla aktualizována. Dalo by se použít File.SetLastWriteTime na events.aspx v obsluze AddNewEvent znamenat, že se s obsahem Stránka byla aktualizována.

Aslo, dávejte pozor, aby se ujistil, že nebyly provedeny žádné ping za poslední hodinu (jako pokyny Google odrazují příkazu ping více než jednou za hodinu).

Vlastně jsem v plánu implementovat v následujícím projektu OSS: http://cyclemania.codeplex.com . Dám vám vědět, jakmile je to hotovo a můžete se podívat.

Odpovězeno 30/01/2010 v 22:07
zdroj uživatelem

hlasů
1

Necháte-li si uživatelský přidávat události na webové stránky jste pravděpodobně pomocí databáze. To znamená, že můžete vytvářet XML-Sitemap za běhu, jako je tento:

  • vytvořit stránku, kde bude vaše sitemap být k dispozici (to nemusí být sitemap.xml, ale může být také sitemap.aspx nebo dokonce sitemap.ashx).
  • otevřít spojení s databází
  • smyčka přes všechny záznamy a vytvořit prvek XML pro každý záznam

Tento blog post by vám měl pomoci dále: Postavit sitemap vyhledávače v jazyce C # . Není pomocí nových XElements z .Net 3.5, ale bude fungovat dobře.

Můžete dát do stránky ASPX, ale přidáním HttpHandler je asi lepší, jak je popsáno na stejném blogu, různé funkce: ( vytváření HttpHandler pro sitemap )

Odpovězeno 30/01/2010 v 16:41
zdroj uživatelem

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