I just went through this and successfully excluded a few pages, and I’m using ‘post name’ for permalinks. The plugin code to exclude posts/page is as follows:
if(is_array($excludes) && count($excludes)>0) {
$where.=" AND ID NOT IN ('" . implode("','",$excludes) . "')";
}
ID refers to the post/page id from the wp_posts table in the wordpress database. This code basically takes all of the post IDs entered in the ‘exclude’ field and ensures that they are excluded from the sitemap creation. This means that nothing but a numeric post ID will work. If you have changed your permalink structure to something that hides the post id, you won’t have any idea what the id for a post or page is.
If you know how to query the WordPress database from phpMyAdmin, MySQL Workbench, or the command line, then maybe you can skip the next step.
Install and activate the SQL Executioner plugin.
Then select Tools, then “SQL Executioner”
You should see an input area at the top where you can enter a query. To find a post by post name, type:
SELECT ID, post_name FROM $posts where post_name = 'post name'
If you are using PHPMyAdmin, or MySQL Workbench, you can use:
SELECT * FROM wordpress.wp_posts where post_name = 'post name'
Where post name is replaced with the name of the post you are looking for. When you locate your post/page, note the corresponding ID.
Open the Sitemap plugin and enter the post/page IDs as only numbers (no slashes), separated by commas. Hit Apply, manually rebuild your sitemap, and the posts/pages you entered should be excluded.
Hope this helps!