虽然网络抓取工具通常会从网站内的链接和其他网站发现网页,但网站地图会通过允许抓取工具获取网站地图中包含的所有网址并使用关联的元数据了解这些网址来补充此方法。
目前,WordPress核心默认不生成XML Sitemaps,影响了大量WordPress网站搜索引擎的可发现性。WordPress插件存储库中排名前15位的插件中有4个目前附带了他们自己的XML站点地图实现,这表明了对此功能的普遍需求以及联合力量的巨大潜力。
Google和Yoast的开发人员正在与其他贡献者合作,向WordPress核心添加XML站点地图。这个新功能项目的目标是在WordPress核心中提供基本的XML站点地图,同时为插件开发人员提供XML Sitemaps API以进行扩展。它还会更新WordPress的robots.txt文件以引用站点地图索引。
Google的开发者关系项目经理Thierry Muller在WordPress.org上发布了合作者计划的详细信息。WordPress核心中包含的站点地图将默认启用,并将索引以下内容:
首页
文章页
核心文章类型(页面和文章)
自定义文章类型
核心分类法(标签和分类)
自定义分类法
用户(作者)
“目前,XML Sitemaps是所有搜索引擎的标准,任何有内容索引的网站都应该有一个,”Muller说。“在核心中使用XML站点地图将加快内容的可发现性和索引。我们去年与Yoast开始讨论这个话题,并同意最终实现这一目标会非常棒。”
到目前为止,该计划得到了社区的积极响应,并已获得WordPress项目负责人Matt Mullenweg的支持。
Mullenweg评论说:“这很有意义,期待看到核心的v1以及它在未来版本中的发展,并巩固WordPress作为SEO最佳CMS的当之无愧的声誉。”
性能是WordPress开发社区在向核心添加XML站点地图时表达的主要问题之一。
“与XML站点地图一样简单直接,它们在规模上呈现出一些相对明显的性能挑战,”Alley Interactive的合伙人Matthew Boynes表示。“例如,每个分页(子)站点地图中会有多少网址?站点地图索引文件限制为50,000个站点地图,因此即使每个站点地图限制为最多50,000个网址,在一个页面请求中生成50,000个网址也非常困难,并且无法即时执行。”
Muller和该项目的其他贡献者有一个解决可扩展性问题的策略,并计划在构建核心实施时将这些考虑因素放在最前沿。
“就其他一切而言,添加新功能应该始终以安全性和性能为目标,” Muller 说到。“它从高级架构开始,直到细节。每个Sitemap条目仅包含,并且不应使用分页方法重载服务器请求。每个Sitemap的条目数量仍有待定义,性能肯定是决定因素。”
XML 地图项目具有明确定义的范围。初始实施不包括图像、视频或新闻站点地图等功能。它还不包含用于从站点地图中排除单个文章、页面或自定义文章类型的控件界面。这有点争议,但插件总是可以扩展核心以提供这些功能,直到更复杂的站点地图版本添加到WordPress核心。
提供XML站点地图的插件作者需要使用新API重新设计其插件,以避免冲突和索引错误。
“我可以自信地说,我们会让它尽可能顺利,并与插件作者合作以避免冲突,” Muller 说。“如果还有其他任何事情,使用XML Sitemaps以及扩展它的Core API将使他们的生活更轻松 – 插件作者将有一种标准的方式来扩展它。”
将站点地图添加到WordPress核心的努力不仅限于那些在Google和Yoast工作的人。Muller鼓励其他XML站点地图插件的作者参与或至少遵循项目的开发,以确保他们的插件在合并到核心后是兼容的。
关于该项目的后续进展和讨论,可以访问: https://make.wordpress.org/core/2019/06/12/xml-sitemaps-feature-project-proposal/