SEO and phpBB

Board administrators typically want their board’s content to rank highly in search engines. It can help attract traffic and new members. That said, for the most part your users determine your board’s content, based on what they post. So it would seem kind of pointless to make your board search engine optimization (SEO) friendly. So is SEO a lost cause and waste of time on phpBB boards?

Not really. But remember that bulletin boards are structurally different than most web content, in that the contents changes frequently as users make posts. And you can’t do much to control what users post.

Moderators can remove offensive or off-topic posts. Moderators can also change topic titles, which might help in a topic’s ranking in a search engine. Most won’t because there are too many topics to deal with, the topic poster may feel offended and there is no guarantee that a moderator’s title topic will be more SEO-friendly than the poster’s topic title.

Also, phpBB does most of the deciding for you. The <title> tag for a page is usually a mash up of the board’s name and the topic name. This is not easily changed as it’s built into phpBB’s templating system.

Most phpBB boards fill niche areas. It’s hard to find a phpBB board that discusses general politics, for example, as it is done in so many other mediums. A board that discusses classic Mickey Mouse cartoons is more likely to be a board because it’s more granular. But because it’s more granular, it’s likely to get fewer views. Consequently, I see many more boards with 10,000 posts than 1,000,000 posts. In a way, this is good. This is where phpBB excels.

If you buy my book I go into a lot more detail on SEO and phpBB, so you might want to buy it. But here are a few points you may find useful:

  • Your board’s title and description are the most important factor you can control to influence search engines. The board’s title appears on almost all pages. So if SEO is important, you might want to work with a SEO expert to find an optimal title for your board. This often involves trying various board title’s over time to see which one has the most impact. You can set the title in the ACP: ACP > General > Board settings. The board title is more important than the board description, which can be left blank if it adds no value.
  • Analyze who is using your site and what they are reading. You can’t measure what you don’t track. So if you are not tracking your board’s traffic, you should, and you should be regularly reviewing the analytics for your board. There is a Google Analytics extension for phpBB that is easily installed. You first need to create a site in Google Analytics. Enter the tracking key on the board settings page after the extension is installed. Other analytics sites will require entering HTML or Javascript code into the overall_header.html and/or overall_footer.html templates for your style. Purge the cache after making these changes for them to take effect.
  • Actively moderate your board. Remove clearly irrelevant or off-topic posts if you have the energy. Search engines are trying to connect searchers with answers to specific questions, so the more concise a topic is in answering a question, the higher the page is likely to rank. Ideally you will empower your moderators to do this for you. Give forum users clear guidance on the forum’s moderation criteria in a sticky post. And make sure users know how to flag off-topic or spam posts for moderator review. The icon is easy to miss on the view topic page.
  • Using the SEO Sitemap extension doesn’t hurt. While it won’t make your board rank higher, it does provide a definitive list of your topics and posts for search engines, hopefully ensuring all your content gets indexed.
  • Encourage relevant pictures. Pictures make a topic and a post more engaging, providing the pictures are relevant. so all things being equal should make the topic rank higher than similar page. Encourage your posters to add a relevant attachment comment to each picture. This markup will be studied by search engines and helps identify the picture.

I also found this article online today that you may find useful.

June 2020 work summary

June was somewhat leisurely. During the downtime I created a new version of my Filter by Country extension, needed because it got its first review by the phpBB extensions review team and of course flunked. It took four days of part-time work to create a new version that addresses their issues and to fix some bugs I found, plus to add a new test mode feature.

I also released a new edition of my book, mostly to fix grammatical errors.

Most of my work was for a particular client I’ve been working with for some months now. They have a heavily modded phpBB 3.0 board that needs to move to phpBB 3.3. For a few months I have been working through styling issues, and did more of that this month, as it got a review by their designer. But the pace of the work was pretty slow. I suspect in July the styling phase will end with the changes I made accepted, and I’ll move onto a new phase of integrating their various custom changes into phpBB 3.3, hopefully using extensions. Ideally, no changes to the base code will be needed.

Otherwise, I did this work for clients in June:

  • Upgraded a board from phpBB 3.2.5 to 3.3.0. Updated we_universal style, my digests extension and the advertisement management extension to latest versions as part of the upgrade. There was an issue with /cache/production permissions reverting to 755. Seems stable for now.
  • Upgraded a board from phpBB 3.2.5 to 3.3.0. PHP changed from 5.6 to 7.3. This temporarily exposed an iconv issue (extension not loaded) which meant I commented out the code in the library. When the module was added, I uncommented the commented out code. I changed the reCaptcha keys to invisible. I reapplied an active topics link to a special place on the navigation bar and reapplied logo. I warned the client that moving to PHP 7 might cause issues with other parts of the website, but they told me to go ahead. Unfortunately, it did cause issues. They had many specially written PHP scripts that used old mysql drivers in the code and performed a lot of workflow logic. They decided to move these scripts to another domain on their hosting where PHP 5.6 was still available. But this had lots of unintended consequences because it was not fully understood the work that would be involved. The databases and scripts had to be moved but wouldn’t work as is. I had to change the database settings, and found a lot of HTML was in the database itself, which required changing the database. The old database became inconsistent with the new database on the new hosting. So I had to analyze and fix those issues too. I think there may be one or two lingering issues, but these issues seem to be mostly behind them.
  • Upgrade and rehosting. Moved a board from a folder in one domain to another domain entirely. I also upgraded the board from phpBB 3.2.3 to 3.3.0. I created an index.html file to do redirect from the old domain. A regular redirect would not work. I disabled the contact form and re-created reCaptcha keys for V2 invisible, as V2 checkbox is not supported on phpBB 3.3. I also had to add the American English language pack and update the Cleantalk extension for these to work on phpBB 3.3. Had an additional issue with the client still getting spam emails through contact page. Enabled Cleantalk to check it but was probably from the old domain, where it was still enabled. Client disabled it there too and the problem went away.
  • Upgraded a board from 3.1.3 to 3.3.0. There was a Plesk PHP issue in that PHP 7.0 was the latest version installed, and I needed at least 7.1.3. Client eventually installed PHP 7.3 so I was able to do the upgrade to phpBB 3.3. It uses the Subway style. Couldn’t get the extension for the Subway style to work but the style came up. In the interim, I made prosilver the default so the board could be usable. During the upgrade, I experienced frequent timeouts, whch meant I had to finish it using SSH and phpBB’s CLI (command line) interface. I disabled the contact form and changed spambot countermeasure to reCaptcha V2 Invisible. I added a patch for private message bug in phpBB 3.3.0. Later, I installed the Milk V2 style and extension. I had to remove the extension for the old style in the database, and disable Javascript to install it, otherwise there was an Ajax error. Later, had to copy ajax.js to the Milk_v2/template folder to resolve a HTTP 500 error. It turned out there were lots of other files needed, so copied all missing templates from the prosilver/template folder and also H2O folder from which it inherited. Basically, the Milk style was not engineered very well.
  • Some years back I helped a client move his static HTML pages into WordPress. A page in WordPress stopped working because PHP 7.2 was now the default PHP required by the web host. The members page returned a 404. Determined the reason for the latter was because page was in draft in WordPress. Published it. Discussed if the maintenance page should be reengineered as it was a custom PHP script that got content from a database table. He agreed to try Tablepress WordPress plugin to show this data so I managed to move the data in the table into a Tablepress table by exporting it to a CSV file and importing that into Tablepress. I changed Tablepress’s styling to fit the content on the page. For a while the table sorting and filtering feature doesn’t work. I discovered there was invalid HTML embedded in the table’s content. Fixing this solved the table’s sorting and filtering issue.
  • Client lost his old board site when his hosting lapsed. He wanted to recover the forum and get back as much content as possible on a new domain from some old backups he had. In this backup, I was able to find a phpBB 2.0.22 database from 2009. Apparently this was better than nothing, so I converted that to phpBB 3.3. To import the data, I had to remove rows from search tables using an editor due to bad data in them. This was no matter since it’s easy to recreate the search index. I provided the phpBB 3.3 files and database extract using Google Drive. He is trying to load them into his local XAMPP instance. Also spent 45 minutes in Zoom discussion about hosting and his various issues. Suggested some hosts to look into including Dreamhost. There is likely to be more work on this in July.