Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 630 Vote(s) - 3.52 Average
  • 1
  • 2
  • 3
  • 4
  • 5
how to create google sitemap for mvc site?

#1
I was wondering if anyone has done this yet or has any examples
on how to create a Google Sitemap for an MVC website.

Any help or example would be appreciated.

Im talking about this:
https://www.google.com/webmasters/tools/...tocol.html
Reply

#2
The easiest way would be to use any one of a number of free sitemap builders out there - they will crawl your site, follow links, and generate a sitemap XML file for you.

[Here's one for example][1]


[1]:

[To see links please register here]

Reply

#3
Here's a [post][1] that might give you some ideas. Basically it generates a sitemap from route values.


[1]:

[To see links please register here]

Reply

#4
I used [Mike Brind's Sitemap code][1], with a small change.

You need to add the XNamespace to every XElement, otherwise Google spits the dummy.

Here's my version:

public ContentResult Index()
{
XNamespace ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
const string url = "http://www.website.com/controller/action/{0}";
var items = _db.DataAccessHere();
var sitemap = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement(ns + "urlset",
from i in items
select
//Add ns to every element.
new XElement(ns + "url",
new XElement(ns + "loc", string.Format(url, i.ItemID)),
new XElement(ns + "lastmod", String.Format("{0:yyyy-MM-dd}", i.DateAddedUTC)),
new XElement(ns + "changefreq", "monthly"),
new XElement(ns + "priority", "0.5")
)
)
);
return Content(sitemap.ToString(), "text/xml");
}


Credit to Mike for posting the original article and code.

[1]:

[To see links please register here]

Reply

#5
so here's the thing, using generators will just about create a link for "everything" in your site. So if you have, let's say a card site, and you have like a hundred thousand card items, each with it's own link and all, you'll likely see the same amount of links. If you want that, then xml sitemap generators are the way to go.

But if you want it a little bit personalized, you can do these:

List all major sections of your sites. This is easy to do considering that most MVCs are using the "clean URLs" sort of thing. kinda like "site.com/items/phones"

Create an XML document, depending on the language you're using.

At the minimum, you should have a document like this:



<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://dragonflysco.com/catalog/finishings/19</loc>
</url>
<!-- more here -->
</urlset>

For more advanced structure, check this:
http://www.google.com/support/webmasters...wer=183668

Reply

#6
Shameless self plug: I created a library called [SimpleMvcSitemap][1] after having weird issues with [MvcSiteMapProvider][2] on production. You can serve sitemap files from any action method without any configuration:

public class SitemapController : Controller
{
public ActionResult Index()
{
List<SitemapNode> nodes = new List<SitemapNode>
{
new SitemapNode(Url.Action("Index","Home")),
new SitemapNode(Url.Action("About","Home")),
//other nodes
};

return new SitemapProvider().CreateSitemap(nodes);
}
}

It also supports all the [Google Sitemap extensions][3] available.


[1]:

[To see links please register here]

[2]:

[To see links please register here]

[3]:

[To see links please register here]

Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through