我在谷歌搜索控制台上收到此错误。我尝试了很多东西,但没有任何效果。如果我错过了什么,任何建议。
描述:您的Sitemap或Sitemap索引文件未正确声明命名空间。
示例:您的Sitemap或Sitemap索引文件未声明预期的命名空间: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());
}
答案 0 :(得分:1)
我想我知道问题是什么从urlset标记中删除Xmlns
。示例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>