This article contains a set of points we should evaluate to properly optimize bbPress for search engines. It does not contain best practices or magic solutions, it tries only to cover every aspect of contents generated by bbPress and offers a series of questions that should be answered by a SEO. I hope to find someone who wants to share his knowledge. The result should be a plugin able to optimize the SEO aspects of bbPress, integrating with generic WordPress SEO plugins which, actually, do not seem to offer a serious support for bbPress.

Note: my English is really basic, send me corrections at


To start, what we call “forum” is actually a set of forums each one dedicated to a specific topic. bbPRess has the special URL /forums  which lists all the forums (and categories and sub-forums). A single forum is identified by the URL /forums/forum/the-forum-slug . Here an example.

A forum acts like a blog home page or category page, with the latest discussions (topics) ordered from by the update time. A topic is updated when it receive a new reply. So a topic started months ago but very active could always be listed in the first forum page.

The list of forum topics is paginated and the number of pages create is proportional to the number of topics started. Is of course an always growing set and always mutating page since, as said, topics are continuously reordered.

The forum pagination is implemented via special URLs: /forums/forum/the-forum-slug/page/page-number . For example /forums/forum/hp-printers/page/6 . The pagination is not make via prex/next links but with a list of direct links to previous or next pages.

In bbPRess the forum can have a description other than a title which could be used (but it’s not shown in the default template). The title and the description are controlled by the forum owner.


  • what should be the canonical URL of every forum page generated by the pagination system?
  • should we noindex some of those generated pages? Why?
  • should we write a compelling forum description using it as a “presentation” of the forum in its first page and index only that page?
  • what should be the meta title of paginated pages?


The forum from which I’ve extracted my experiences is PeriodoFertile’s Forum.

Since bbPress uses a trick to create its pages, SEO plugins get confused and usually force the canonical of forum paginated pages after the first one to be the main forum URL. So the page number 2 (/forums/forum/hp-printers/page/6 ) has the canonical set to /forums/forum/hp-printers . But the two pages contain totally different content (list of topics).

More, since plugins do not detect the bbPress pagination, the title is usually the same of the first page.

I never saw Google sending traffic on forum pages other than the first one. And usually it sends traffic to topics, but they’re a little bit tricky to manage.


A topic is a discussion started by someone. It has a title and a initial content. Note that, this is user generated content, so there is no or little control by the blog owner and it can generate concurrency problems.

In bbPress a topic has its own URL /forums/topic/the-topic-slug . The topic receives answers (replies in bbPress) and they’re paginated. Replies are pure text content that can be indefinitely added to the topic. In this case, the last reply is in the last topic’s page.

So a topic has a set of pages: /forums/topic/the-topic-slug , /forums/topic/the-topic-slug/page/2 , /forums/topic/the-topic-slug/3 , … Every page has different content and the topic starting message is not repeated on pages after the first one.

Since the ordering is by ascending time, pages content is stable over time.


  • what should be the canonical URL of every topic page generated by the pagination system?
  • should we noindex some of those generated pages? Why?
  • what should be the meta title of paginated pages?
  • what should be the meta description of a topic page and the subsequent paginated pages?


The problems are identical to the ones found on forums: SEO plugin do not detect the pagination and “canonicalize” them to the first page. In this case, and it’s clear checking the index status of some bbPress forums, Google seems to ignore the canonical and index the paginated pages separately.

On July 14, 2018, I found out that Google probably decided to not respect that (wrong) canonical and started to consider each page separately adding to the index hundreds of forum pages generated by the topics pagination.


Even if formally a single reply has its own unique URL, bbPress does not exposes it and anyway it is in the form /forums/topic/the-topic-slug/page/[page number]#post-[reply number] . So the link is to the topic page which contains the reply.

Nothing more to say here.

User pages

bbPress genetares a lot of pages for users profiles (started topics, replies, favorites and so on) and they’re not “noindex”, but have not value from a search engine point of view while generating thousands of almost empty page.


  • should all those page set as noindex?

And now?

Now I would like to collect few best practices to implement a plugin to (better) optimize the bbPress SEO aspects… but I’m not a SEO, any help is greatly welcomed.

Similar Posts

Leave a Reply