Hidden forum posts not advertising their correct status

Description

I noticed my Hidden forum posts where showing up in my sitemap (generated with the 'Google Sitemap' plugin). Although visiting the actual posts is protected by returning a 404 error, the slug names expose confidential information in the sitemap and they should not be included. Google may also not like sitemaps which point to 404s.

I had filed a bug report with the Google Sitemap plugin, but they claim it is a bbPress bug, so I wanted to file it here, specifically they say:

"The sitemap is updated when the post is updated. In this case the bbPress post type does not reflect the status of the post (for example, if it is Private or Hidden) in standard hooks, that is initially the forum is registered as Public when bbPress is created, also if you update it, the standard status in the standard hooks is not changed. For this reason the sitemap cannot determine the status of the bbPress forum correctly and includes the link to the sitemap."

Change History (1)

This isn't exactly a bug, but it's not an easy fix either. Their response also isn't entirely accurate, but I'm not going to ping-pong you back and forth between us.

Topics and replies do have their own post_status settings, and bbPress does its best to prevent them from appearing to users that have no business visiting them. Unfortunately this is a bit of a WordPress problem with the posts table, having "status" also mean "visibility" or "scope."

I have a hunch someone will need to write a helper plugin to piggy back bbPress's query rules to play nicely with what the Google Sitemap plugin expects to see (or not see, in this case.)

Until there are enhancements to WordPress core and post visibility, bbPress is already pushing the limits of what's possible, and there's not much we can do on our end, either.

Moving this ticket to Future Release, so we can refer any improvements to it.