Making WordPress.org

#4027 closed defect (fixed)

Support posts which have been closed to replies, and have no replies, should be noindex'd

Reported by: jonoaldersonwp Owned by: dd32
Milestone: Priority: lowest
Component: Support Forums Keywords: seo


Posts like https://wordpress.org/support/topic/alt-field-of-the-avatar-image-is-empty/, where there are no responses, and where the thread has been closed, should output a meta robots tag with a value of noindex, follow.

Change History (12)

#1 @Otto42
22 months ago

Why should they be noindexed?

#2 @jonoaldersonwp
22 months ago

They're low quality pages, and, they provide a poor user experience for people who land on them.

#3 @dd32
22 months ago

  • Owner set to dd32
  • Resolution set to fixed
  • Status changed from new to closed

In 8044:

Support Forums: Tweak the robots tag to noindex,follow for old (>1 year) topics, and add it to closed topics (>6 months) without replies.

Fixes #4025, #4027.

This ticket was mentioned in Slack in #meta by elrae. View the logs.

21 months ago

#5 @joostdevalk
21 months ago

  • Keywords seo added
  • Resolution fixed deleted
  • Status changed from closed to reopened

The logic here was apparently implemented slightly wrong, good catch by @elrae:


the logic implemented is posted more than 1 year ago _or_ closed and no replies
basically line 46 needs to be:

( (time() - get_post_time( 'U', true, $post ) > YEAR_IN_SECONDS) && ! bbp_get_topic_reply_count( $post->ID, true ) ) 

#6 follow-up: @coffee2code
21 months ago

@joostdevalk: I'm not sure I agree with the assessment that the requests from #4025 and #4027 were implemented slightly wrong. They were implemented as requested.

#4025 essentially wanted a change for older topics, which were at the time getting a noindex, nofollow, to instead get a noindex, follow. Line 46 is what targets these older topics (more than a year since last activity).
( time() - get_post_time( 'U', true, $post ) > YEAR_IN_SECONDS )

#4027 (this ticket) requested that noindex, follow be added to any closed topic with no replies. That is the purpose for line 49:
( bbp_is_topic_closed( $post->ID ) && ! bbp_get_topic_reply_count( $post->ID, true ) )

Making the proposed change to line 46 would only have the effect of ALL older topics with replies no longer getting any <meta name="robots"> tag at all. The proposed revised line 46 is largely moot since all topics older than 6 months (or perhaps it's 6 months since last activity; regardless...) are auto-closed anyways.

I believe we still want all older topics (for some arbitrary time ago; currently 1 year, though I could see this being changed to longer ago) to be noindexed. And if it's a closed thread with no replies, we want the noindexing to happen sooner (currently 6 months). All of which is the current behavior.

Could you provide more explanation of why you want the behavior to change from what was original requested and currently implemented?

Last edited 21 months ago by coffee2code (previous) (diff)

#7 @netweb
21 months ago

cc @elrae ☝️

#8 @elrae
21 months ago

I will defer to @jonoaldersonwp as it was his original request and can help clarify further. It seems as though #4025 was not intended to add noindex old topics, it was to simply change the existing noindex to also include "follow", allowing search engines to follow internal links. #4027 subsequently requested old topics get nofollow removed if they had >= 1 reply on them.

#9 @coffee2code
21 months ago

Rather than delve into previous intent and (mis)understanding, we should just get an overview of how the behavior should be going forward. Here is how is how noindex,follow is currently applied:

  • Topics that are closed without replies. (Note that any topics with no activity within the last 6 months get auto-closed.)
  • Topics that haven't had any activity within the last year (all of which have undoubtedly been auto-closed). This is regardless of whether the topic has replies or not.

I don't think there's much debate about the first item.

The second item is to prevent surfacing topics from say 13 years ago that likely have debatable merit nowadays.

So what about the current behavior is undesirable and why?

#10 in reply to: ↑ 6 @SergeyBiryukov
21 months ago

Replying to coffee2code:

#4025 essentially wanted a change for older topics, which were at the time getting a noindex, nofollow, to instead get a noindex, follow. Line 46 is what targets these older topics (more than a year since last activity).
( time() - get_post_time( 'U', true, $post ) > YEAR_IN_SECONDS )

Right, topics older than a year already had the noindex tag, regardless of replies. It was implemented at some point when the forums were still on bbPress 1.x, and then ported to bbPress 2.x in [3667].

[8044] did not affect that logic here, only changed nofollow to follow.

Is there any benefit in removing noindex for topics older than a year that have replies?

#11 @joostdevalk
21 months ago

Been thinking about this. Lengthening the wait period gives us more pages in Google's index and thus potentially more chance to rank. At the same time we don't want to make it indefinite, as old content will no longer be useful. So, weighing all that, I'd like to propose adding a noindex 3 years after a topic's last activity, if the topic has replies. Topics without replies can still be noindex immediately.

#12 @SergeyBiryukov
21 months ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In 8184:

Support Forums: Lengthen the wait period before adding noindex tag for old topics from 1 to 3 years.

Props joostdevalk.
Fixes #4027.

Note: See TracTickets for help on using tickets.