-
Notifications
You must be signed in to change notification settings - Fork 0
Exporting the sitemap for search engine indexing
When building a website, chances are that you want to provide an XML sitemap used for search engine indexing.
If you just require a sitemap.xml file to be available, consider adding the following line of code in the Application_Start event:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; using MvcSiteMapProvider.Web;namespace MvcMusicStore { public class MvcApplication : System.Web.HttpApplication { public static void RegisterRoutes(RouteCollection routes) { // ... your routes registration here }
<span style="color: blue;">protected</span> <span style="color: blue;">void</span> Application_Start() { AreaRegistration.RegisterAllAreas(); XmlSiteMapController.RegisterRoutes(RouteTable.Routes); <span style="color: green;">// <-- register sitemap.xml, add this line of code</span> RegisterRoutes(RouteTable.Routes); } }
}
This will make sitemap.xml available in the easiest way.
Whenever a sitemap exceeds 50.000 nodes, the XmlSiteMapController will automatically split your sitemap into a sitemap index file (sitemap.xml) which references sub-sitemaps (sitemap-1.xml, sitemap-2.xml etc.) as described on http://www.sitemaps.org/protocol.php.
The XmlSiteMapResult class creates an XML sitemap that can be submitted to Google, Yahoo and other search engines to help them crawl your website better. The usage is very straightforward:
public class HomeController { public ActionResult SiteMapXml() { return new XmlSiteMapResult(); } }
Optionally, a starting node can also be specified in the constructor of theXmlSiteMapResult .
Whenever a client sends an HTTP request header with Accept-encoding set to a value of gzip or deflate, the XmlSiteMapResult class (which is also used internally in the XmlSiteMapController) will automatically compress the sitemap using GZip compression.