使用Simple Mvc Sitemap产生的Sitemap的lastmod里面的日期格式错误,Google无法读取这样的Sitemap
Google Console 提交Sitemap出错,日期无效:
报错:
发现无效日期。请修正日期或格式,然后重新提交。详细信息:
父标记:url
标记:lastmod
根据《国际标准ISO 8601》
- 2020-4-20(×)
- 2020-04-2(×)
- 2020-4-2(×)
- 2020-04-20(√)
日期格式标准应该是2020-04-20的表示方法。
Google可以另外接受这样的日期格式:
<lastmod>2020-07-01T13:24:31+09:00</lastmod>
解决方案:
public DateTime GetCorrectDate(DateTime dateTime)
{
DateTime lta = dateTime;
DateTime w3cDateTime = new DateTime(lta.Year, lta.Month, lta.Day, lta.Hour, lta.Minute, lta.Second, DateTimeKind.Local);
return w3cDateTime;
}
使用方式:
List<SitemapNode> nodes = new List<SitemapNode>
{
new SitemapNode(Url.Action("Index", "Home"))
{
ChangeFrequency = ChangeFrequency.Daily,
LastModificationDate =GetCorrectDate(DateTime.UtcNow),
Priority =1.0M
},
};
参考文档: