我正在使用 MVC 5。创建站点地图以告知我正在使用多站点地图。但谷歌说你有错误,错误计数是 URL 计数如果我在站点地图中共享 500 个 url,则错误是 500。
Google 错误: 无效的日期 6164 个样本、无效的 XML 标记 6164 个样本、缺少 XML 标记 6164 个样本
//在这个sitemap.xml中告诉我我正在使用多站点地图
//xxx.com/sitemap.xml is the url
public ActionResult SitemapXml()
{
StringWriter swr = new Utf8StringWriter();
XmlTextWriter xr = new XmlTextWriter(swr);
xr.WriteStartDocument();
xr.WriteStartElement("sitemapindex");
xr.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
xr.WriteAttributeString("xmlns:news", "http://www.google.com/schemas/sitemap-news/0.9");
xr.WriteAttributeString("xmlns:xsi", "https://www.w3.org/2001/XMLSchema-instance");
xr.WriteAttributeString("xsi:schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-news/0.9 http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd");
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap1.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap2.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap3.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap4.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap5.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap6.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap7.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteStartElement("sitemap");
xr.WriteElementString("Ioc", "xxx.com/sitemap8.xml");
xr.WriteElementString("lastmod", DateTime.Now.AddDays(-3).Day + "." + DateTime.Now.AddDays(-3).Month + "." + DateTime.Now.AddDays(-3).Year);
xr.WriteEndElement();
xr.WriteEndDocument();
xr.Flush();
xr.Close();
return this.Content(swr.ToString(), "text/xml", System.Text.Encoding.UTF8);
}
我的站点地图的 webconfig 设置
<system.webServer>
<handlers>
<add name="SitemapXml" path="sitemap.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap1Xml" path="sitemap1.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap2Xml" path="sitemap2.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap3Xml" path="sitemap3.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap4Xml" path="sitemap4.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap5Xml" path="sitemap5.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap6Xml" path="sitemap6.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap7Xml" path="sitemap7.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<add name="Sitemap8Xml" path="sitemap8.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
我的其他站点地图
public ActionResult Sitemap2Xml()
{
StringWriter swr = new Utf8StringWriter();
XmlTextWriter xr = new XmlTextWriter(swr); xr.WriteStartDocument();
xr.WriteStartElement("urlset");
xr.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
xr.WriteAttributeString("xmlns:news", "http://www.google.com/schemas/sitemap-news/0.9");
xr.WriteAttributeString("xmlns:xsi", "https://www.w3.org/2001/XMLSchema-instance");
xr.WriteAttributeString("xsi:schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-news/0.9 http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd");
foreach (VwYuksekVeLisans modelll in DependencyResolver.Current.GetService<IUniversiteServices>().SearchUniByYuksekVeLisans(-1).DistinctBy(x => x.UniversiteUrlAdi))
{
#region yurtdisi-universite-lisans-egitimleri
xr.WriteStartElement("url");
xr.WriteElementString("Ioc", "xxx.com/yurtdisi-universite-lisans-egitimleri/" + modelll.UlkeUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.EyaletUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.SehirUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.UniversiteUrlAdi.Trim().ReplaceMultiple(' ', "-"));
xr.WriteElementString("lastmod", "11.02." + DateTime.Now.Year);
xr.WriteElementString("changefreq", "yearly");
xr.WriteElementString("priority", "1");
xr.WriteEndElement();
xr.WriteStartElement("url");
xr.WriteElementString("Ioc", "xxx.com/yurtdisi-universite-lisans-egitimleri/" + modelll.UlkeUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.EyaletUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.SehirUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.UniversiteUrlAdi.Trim().ReplaceMultiple(' ', "-") + "?dil=almanca");
xr.WriteElementString("lastmod", "11.02." + DateTime.Now.Year);
xr.WriteElementString("changefreq", "yearly");
xr.WriteElementString("priority", "1");
xr.WriteEndElement();
xr.WriteStartElement("url");
xr.WriteElementString("Ioc", "xxx.com/yurtdisi-universite-lisans-egitimleri/" + modelll.UlkeUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.EyaletUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.SehirUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.UniversiteUrlAdi.Trim().ReplaceMultiple(' ', "-") + "?dil=ingilizce");
xr.WriteElementString("lastmod", "11.02." + DateTime.Now.Year);
xr.WriteElementString("changefreq", "yearly");
xr.WriteElementString("priority", "1");
xr.WriteEndElement();
xr.WriteStartElement("url");
xr.WriteElementString("Ioc", "xxx.com/yurtdisi-universite-lisans-egitimleri/" + modelll.UlkeUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.EyaletUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.SehirUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.UniversiteUrlAdi.Trim().ReplaceMultiple(' ', "-") + "?dil=almanca%20ve%20ingilizce");
xr.WriteElementString("lastmod", "11.02." + DateTime.Now.Year);
xr.WriteElementString("changefreq", "yearly");
xr.WriteElementString("priority", "1");
xr.WriteEndElement();
#endregion
}
xr.WriteEndDocument();
xr.Flush();
xr.Close();
return this.Content(swr.ToString(), "text/xml", System.Text.Encoding.UTF8);
}
public ActionResult Sitemap5Xml()
{
StringWriter swr = new Utf8StringWriter();
XmlTextWriter xr = new XmlTextWriter(swr); xr.WriteStartDocument();
xr.WriteStartElement("urlset");
xr.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
xr.WriteAttributeString("xmlns:news", "http://www.google.com/schemas/sitemap-news/0.9");
xr.WriteAttributeString("xmlns:xsi", "https://www.w3.org/2001/XMLSchema-instance");
xr.WriteAttributeString("xsi:schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-news/0.9 http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd");
foreach (VwYuksekVeLisans modelll in DependencyResolver.Current.GetService<IUniversiteServices>().SearchUniByYuksekVeLisans(-1).DistinctBy(x => x.UniversiteUrlAdi))
{
#region yurtdisi-universite
xr.WriteStartElement("url");
xr.WriteElementString("Ioc", "xxx.com/yurtdisi-universite/" + modelll.UniversiteId + "-2/" + modelll.UlkeUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.EyaletUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.SehirUrlAdi.Trim().ReplaceMultiple(' ', "-")
+ "/" + modelll.UniversiteUrlAdi.Trim().ReplaceMultiple(' ', "-"));
xr.WriteElementString("lastmod", "11.02." + DateTime.Now.Year);
xr.WriteElementString("changefreq", "yearly");
xr.WriteElementString("priority", "1");
xr.WriteEndElement();
#endregion
}
xr.WriteEndDocument();
xr.Flush();
xr.Close();
return this.Content(swr.ToString(), "text/xml", System.Text.Encoding.UTF8);
}