今天查看WordPress自带的网站地图才发现很强大,把网站所有的文章类型(包括自定义类型文章)和用户都生成相应的地图文件。但是对于我们来说有些地图就不太友好了,比如:
1、禁止自动生成的用户地图
如果没有更改用户归档链接为ID的话,这个用户地图生成的链接就是用户的用户名,可以说为暴力破解提供了很大的帮助。
如果你想让WordPress自带的网站地图禁止生成用户地图,只需要将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。
//禁止WordPress默认地图生成用户地图
function shapeSpace_disable_sitemap_users($provider, $name) {
return ($name == 'users') ? false : $provider;
}
add_filter('wp_sitemaps_add_provider', 'shapeSpace_disable_sitemap_users', 10, 2);
2、禁止自动生成指定文章类型地图
自动生成的某些自定义类型文章地图就没有必要,比如将外链变成内容的简短地址(如Simple URLs短链接插件),本来我们都还要在robots.txt文件中禁止,现在地图文件还将其列举出来,确实不应该。
如果你想让WordPress自带的网站地图禁止生成指定文章类型的地图,只需要将以下代码添加到当前主题的functions.php文件中并保存更新文件即可。
//禁止WordPress默认地图生成指定的文章类型地图
function shapeSpace_disable_sitemap_post_types($post_types) {
unset($post_types['wenda']);
return $post_types;
}
add_filter('wp_sitemaps_post_types', 'shapeSpace_disable_sitemap_post_types');
上述第3行代码中的wenda就是指定的文章类型,可更改为post、page等类型。
特别说明:本文代码来自网络,版权无从考证!