一年前,Google和Yoast的开发人员开始与其他贡献者合作, 提出将XML网站地图添加到WordPress核心的建议。XML站点地图功能插件 从今年1月下旬开始测试,目前已经决定将集成到 WordPress 5.5。
Google工程师Pascal Birchler在合并公告中说:“此核心站点地图功能旨在为WordPress提供站点地图协议所需的基本功能,然后使开发人员能够使用一组可靠且一致的过滤器来扩展此功能 。”
数百万的WordPress网站已经使用SEO插件或专用的站点地图插件实现了XML站点地图。鼓励插件作者重新设计其解决方案以使用核心站点地图协议,但是用户不必担心冲突。Birchler说,他希望许多用户将不再需要其他插件来满足他们的站点地图需求。
“如果由于某种原因在网站上公开了两个站点地图(一个核心,一个插件),这不会对该站点的可发现性造成任何负面影响,” Birchler说。
尽管原生XML网站地图获得了社区和WordPress领导层的普遍好评,但仍有一些人认为此功能最好留给插件使用。幸运的是,对于该类用户,有一种简单的方法可以将其关闭。不想激活站点地图的用户可以更改WordPress的设置,以阻止搜索引擎对该站点建立索引。开发人员可以使用过滤器禁用它。
基本版的站点地图实现不包含任何用于进一步自定义的UI控件,例如排除某些文章或页面。Birchler解释说,这不属于项目范围。插件生态系统在解决更复杂的站点地图要求方面仍将具有足够的自由度:
最初提出该项目时,面向用户的更改被宣布为非目标,因为仅从站点地图中省略给定文章并不保证该内容不会被搜索引擎抓取或编制索引。本着“决策而不是选项”的精神,任何将文章从站点地图中排除的逻辑都可以通过专用插件(即SEO插件)更好地处理。为相关区域实现UI的插件可以使用新的过滤器来强制执行其设置,例如仅查询未使用“ noindex”选项标记的内容。
在最初提出该项目时,性能是主要的技术问题之一,特别是每页网址的数量。贡献者将每个站点地图的网址限制为2,000个。
Birchler说:“此功能(核心站点地图)的添加不会影响常规的网站访问者,而只会影响直接访问站点地图的用户。” “开发此功能期间的基准表明,即使对于具有数千个文章的网站,站点地图的生成通常也非常快。因此,没有为站点地图设置额外的缓存。”
合并公告和常见问题解答中提供了有关扩展核心站点地图的更多信息。预计该功能将在8月与WordPress 5.5一起发布。
站点地图可用的钩子
一般:
wp_sitemaps_is_enabled
– 过滤是否启用XML Sitemap。wp_sitemaps_max_urls
– 过滤站点地图上显示的网址的最大数量。wp_sitemaps_register_providers
– 过滤已注册的站点地图提供者的列表。wp_sitemaps_init
– 初始化站点地图时触发。wp_sitemaps_index_entry
– 过滤站点地图索引的站点地图条目。
提供者:
wp_sitemaps_post_types
– 过滤要包含在站点地图中的文章类型列表。wp_sitemaps_posts_entry
– 过滤单个文章的站点地图条目。wp_sitemaps_posts_show_on_front_entry
– 当“show_on_front”选项等于“posts”时,过滤主页的站点地图条目。wp_sitemaps_posts_query_args
– 过滤文章类型站点地图查询的查询参数。wp_sitemaps_posts_pre_url_list
– 在生成文章网址列表之前将其过滤(短路)。wp_sitemaps_posts_pre_max_num_pages
– 在生成最大页面(短路)之前对其进行过滤。wp_sitemaps_taxonomies
–过滤分类法列表以包含在站点地图中。wp_sitemaps_taxonomies_entry
–过滤单个自定义分类的站点地图条目。wp_sitemaps_taxonomies_query_args
–筛选自定义分类站点地图查询的查询参数。wp_sitemaps_taxonomies_pre_url_list
–在生成分类法网址列表之前将其过滤(短路)。wp_sitemaps_taxonomies_pre_max_num_pages
–在生成最大页面(短路)之前对其进行过滤。wp_sitemaps_users_entry
–过滤单个用户的站点地图条目。wp_sitemaps_users_query_args
–过滤用户站点地图查询的查询参数。wp_sitemaps_users_pre_url_list
–在生成网址(短路)之前过滤用户网址列表。wp_sitemaps_users_pre_max_num_pages
–在生成最大页面(短路)之前对其进行过滤。
样式表:
wp_sitemaps_stylesheet_css
–过滤站点地图样式表的CSS。wp_sitemaps_stylesheet_url
–过滤站点地图样式表的网址。wp_sitemaps_stylesheet_content
–过滤站点地图样式表的内容。wp_sitemaps_stylesheet_index_url
–过滤站点地图索引样式表的网址。wp_sitemaps_stylesheet_index_content
–过滤站点地图索引样式表的内容。
更多信息请看:
- https://wordpress.org/plugins/core-sitemaps/
- https://make.wordpress.org/core/2020/06/10/merge-announcement-extensible-core-sitemaps/
- WordPress 5.5+ 如何自定义XML 站点地图功能【开发者】