誰かがこれを行ったことがあるか、MVC Web サイト用の Google サイトマップを作成する方法の例があるかどうか疑問に思っていました。
ヘルプや例をいただければ幸いです。
これについて話している: https://www.google.com/webmasters/tools/docs/en/protocol.html
誰かがこれを行ったことがあるか、MVC Web サイト用の Google サイトマップを作成する方法の例があるかどうか疑問に思っていました。
ヘルプや例をいただければ幸いです。
これについて話している: https://www.google.com/webmasters/tools/docs/en/protocol.html
私は、 Mike Brind のサイトマップ コードを少し変更して使用しました。
XNamespace をすべての XElement に追加する必要があります。そうしないと、Google がダミーを吐き出します。
これが私のバージョンです:
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");
}
元の記事とコードを投稿した Mike の功績。
最も簡単な方法は、数多くある無料のサイトマップ ビルダーのいずれかを使用することです。サイトをクロールし、リンクをたどり、サイトマップ XML ファイルを生成してくれます。
ここにいくつかのアイデアを与えるかもしれない投稿があります。基本的に、ルート値からサイトマップを生成します。
つまり、ジェネレータを使用すると、サイト内の「すべて」へのリンクが作成されます。したがって、カードサイトがある場合、10万のカードアイテムがあり、それぞれに独自のリンクがあり、すべて同じ数のリンクが表示される可能性があります。それが必要な場合は、xmlサイトマップジェネレーターが最適です。
ただし、少しパーソナライズしたい場合は、次のようにすることができます。
サイトの主要なセクションをすべて一覧表示します。ほとんどのMVCが「クリーンURL」のようなものを使用していることを考えると、これは簡単に実行できます。「site.com/items/phones」のようなもの
使用している言語に応じて、XMLドキュメントを作成します。
少なくとも、次のようなドキュメントが必要です。
<?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>
より高度な構造については、次を確認してください: http ://www.google.com/support/webmasters/bin/answer.py?answer=183668