#c# #model-view-controller #sitemap
#c# #модель-представление-контроллер #Карта сайта
Вопрос:
Я получаю эту ошибку в консоли поиска Google. Я пробовал кучу вещей, но ничего не получалось. Любое предложение, если я что-то упускаю.
Описание: В вашем файле Sitemap или Sitemap index неправильно указано пространство имен.
Пример: в вашем файле Sitemap или Sitemap index не указано ожидаемое пространство имен: http://www.sitemaps.org/schemas/sitemap/0.9 Тег: urlset
Это то, что я вижу на карте сайта:
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns:Xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Мой код:
public XmlSitemapResult(IEnumerable<ISitemapItem> items)
{
_items = items;
}
public override void ExecuteResult(ControllerContext context)
{
string encoding = context.HttpContext.Response.ContentEncoding.WebName;
XDocument sitemap = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
new XElement("urlset", new XAttribute(XNamespace.Xmlns.GetName("Xmlns"), "http://www.sitemaps.org/schemas/sitemap/0.9"),
from item in _items
select CreateItemElement(item)
)
);
context.HttpContext.Response.ContentType = "text/xml";
context.HttpContext.Response.Flush();
context.HttpContext.Response.Write(sitemap.Declaration sitemap.ToString());
}
Комментарии:
1. Вы уже пытались изменить sitemaps.org/schemas/sitemap/0.9 чтобы google.com/schemas/sitemap/0.9 ?
Ответ №1:
Я думаю, что знаю, в чем проблема, попробуйте удалить Xmlns
из тега urlset. Образец XML-карты сайта:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Комментарии:
1. Да, именно так.
2. Хорошо, я попробую это сделать. так что сделайте это так, правильно? <urlset xmlns=» sitemaps.org/schemas/sitemap/0.9 «>
3. Я отредактировал свой первый пост и добавил один пример. Я считаю, что это необходимо «http: // www «.