以前一直使用 Google XML Sitemaps 插件自动生成 sitemap.xml 站点地图。不过 WordPress 5.5 版本开始,核心代码已经内置 XML Sitemaps 功能,于是使用 WordPress 内置 XML Sitemaps 替换了 Google XML Sitemaps 插件。
WordPress 5.5 版本开始,核心代码已经内置 XML Sitemaps 功能,只要访问:https://网站地址/wp-sitemap.xml 就能得到当前站点的站点地图,比如 体验盒子 站点 wp-sitemap.xml:https://www.uedbox.com/wp-sitemap.xml
wp-sitemap.xml 是一个汇总索引性 sitemap 文件,包含所有 post_type、taxonomy 和 文章作者 sitemap 索引文件。WordPress 网站地图最多索引 50000 个条目,而每个 sitemap 文件最多只有 2000 个条目,每一个文件名以 -n 结尾区分。
WordPress 内置 XML Sitemaps 功能蛮实用,可以省掉一个插件。不过目前该功能还比较简单,changefreq, priority, 和 lastmod 这些标签信息都没有,以及每个 sitemap 文件最多只有 2000 个条目这个限制可以稍稍改大,可以按需优化一下。
如果不想使用 WordPress 内置 XML Sitemaps 功能,可以使用如下代码禁用:
1 2 |
//移除 WordPress XML 站点地图 add_filter( 'wp_sitemaps_enabled', '__return_false' ); |
代码放至主题 functions.php 文件即可。
修改主题文件 functions.php 加入以下代码,其中 6666 修改成实际需要的数据即可,比如 8888 或者 888。
1 2 3 4 |
add_filter( 'wp_sitemaps_max_urls', 'theme_wp_sitemaps_max_urls' ); function theme_wp_sitemaps_max_urls(){ return 6666; } |
另外,wp-sitemap.xml最大限制 50000 条目应该是为了性能考虑,不过如果真的有需要,可以修改 wp-includes/sitemaps/class-wp-sitemaps-index.php
文件,将其中的 50000 修改为实际需要的数据条目数量即可。
不过一般修改单个 sitemap 链接 2000 条目限制就足够了,然后把拆分的 sitemap 链接提交给不支持索引型 sitemap 文件的搜索引擎即可。
代码放至主题 functions.php 文件即可。
1 2 3 4 5 6 |
add_filter( 'wp_sitemaps_posts_entry', function( $entry, $post ) { $entry['lastmod'] = date( DATE_W3C, strtotime( $post->post_modified_gmt ) );//DATE_W3C = 'Y-m-d\TH:i:sO' $entry['changefreq'] = 'Daily'; $entry['priority'] = '0.6'; return $entry; }, 10, 2 ); |
来源:To add the last modifed date to your XML sitemap, Google wants the date in W3C format.
wp_sitemaps_users_entry / wp_sitemaps_taxonomies_entry
这两个钩子也可以使用 wp_sitemaps_posts_entry
类似方法增加 changefreq, priority, 和 lastmod 这些标签信息,wp_sitemaps_index_entry
也可以增加 lastmod 信息,不过老头折腾不来,坐等高手或者 WordPress 官方代码。
关键词:How to remove author sitemaps from WordPress、WordPress 5.5 remove Users from XML Sitemap、How to remove Users from WordPress Sitemap
代码放至主题 functions.php 文件即可:
1 2 3 4 |
//wp_sitemaps 移除用户 作者 列表 add_filter( 'wp_sitemaps_add_provider', function ($provider, $name) { return ( $name == 'users' ) ? false : $provider; }, 10, 2); |
有了 sitemap.xml 文件,向搜索引擎站长平台提交即可让搜索引擎快速收录网站链接。目前一般提交「谷歌 Google Search Console」、「必应 Bing Webmaster Tools」、「搜狗」、「360」、「百度 搜索资源平台」以及「今日头条搜索站长平台」等。
注意:如果要使用 WordPress 内置 XML Sitemaps 功能,得把 Google XML Sitemaps 插件禁用或删除,否则访问 wp-sitemap.xml 会 404。
如果无法访问,按顺序排查,问题几率依次降低,一般前两条就能解决。
原文连接
的情况下转载,若非则不得使用我方内容。