[ABD] phpBB Search Engine Optimization

A place for MOD Authors to post and receive feedback on MODs still in development. No MODs within this forum should be used within a live environment! No new topics are allowed in this forum.
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

IMPORTANT: MOD Development Forum rules

On February 1, 2009 this forum will be set to read only as part of retiring of phpBB2.
craven de kere
Registered User
Posts: 30
Joined: Sun Jul 13, 2003 7:13 am
Contact:

[ABD] phpBB Search Engine Optimization

Post by craven de kere »

INTRO

I get so many questions about phpBB search engine optimization that I am finally writing up the definitive mod for this. There are several solutions out there and webmasters are confused about what works and what doesn't. Some mods work with older versions of phpBB but do not work on 2.0.6.

This mod will be an extensive one, and it does work. The best way to illustrate this is through SERPS (Search Engine Results Pages).

At the time of this posting www.able2know.com has over 72,000 pages indexed in Google. This is the result of our extensive SEO (Search Engine Optimization) and the following code will enable you to benefit from all that we have learned.

Version 1.0.0 of the Able2Know Search Engine Optimization MOD contains roughly 10% of the search engine optimization work that Able2Know features. The rest will be added after it is perfected and documented so this mod will change many times in the future. Suggestions for this MOD are welcome.

This MOD is not a typical one. It does not add bells and whistles to your forum. In fact, it removes some! This is a MOD for serious search engine optimization but because it removes as well as adds pay close attention to the following explanation about what this code will do.

GOALS

Due to the session IDs most forums are not spidered by search engines very well. Sometimes not at all. The primary goal of this MOD is to make the phpBB URLs spider friendly. Not just to Google but to ALL spiders.

Making the URL's search engine friendly is not all that is needed. Google has recently penalized phpBB pages. viewforum.php and viewtopic.php now have a much lower page rank than they had earlier so keyword frequency and pagerank drain are important to consider. This modification will greatly improve both of these things.

Directing search engines to the right pages is also important. The topic pages are what you ultimately want to have indexed. Other words, links and images are actually diluting this. This MOD will help focus search engines on the right pages and text.

Able2Know Search Engine Optimization 1.0.0

Read the following explanations for what this code will do. If you wish to skip a step you may. Ask for help if you get stuck, just remember not to post a link or Able2Know moderators will be all over you like hairs on a gorilla.

1) Remove the "View Latest Post" icon and link on index.php (Craven de Kere)

This is a page rank drain issue. The link is restored but the image is removed because it makes the page too "busy" and because the images are not as attractive as the text link we will subsequently create using the last post date.

2) Make the date of the last post link to the last post like the icon did on index.php (Craven de Kere)



3) Unlink the username of the last post on index.php (Craven de Kere)As explained above the latest post link is now accessed from thelatestt post date. There are a few reasons for this. First of all a text link is almost always better than an image link. Secondly the text link will change (as the dates change). This makes the link more attractive to search engines but most importantly it provides a slight chance at more keyword traffic by branding the link with a date and time as a keyword.

For example, if a post on 9/11 was indexed that day mightgth have a slightly better chance of being found under long search engine queries that contain that date. It's a minimal improvement but ties into making the page less busy and small improvements add up when SEO is concerned.

You can see an example of this on the index page.

This is purely for page rank drain and to direct the search engine spiders to the content. Pages with too many links are penalized by some search engialgorithmsyms. The links to the profiles are also not the focus of the site. Most users are not searching the internet for information in your users' profiles. So this helps direct the search engines to the content on the topics instead of the many other links search engines could follow.

You can see an example of this on the index page.

4) Remove listing of moderators on index.php (AbelaJohnB)

This is a MOD by John Abela. It removes the listing of moderators on the index page. This helps make the page less "busy" and also helps direct the spiders toward the content and not the profiles. It reduces the index page's queries by 2, so it also helps improve forum speed a bit.

You can see an example of this on the index page.

5) Remove session IDs for all search engine spiders (Darlantan?)

This is a crucial part of this mod. It is based on code that was posted by a user named Darlantan but it is unclear who wrote the original snippet.

This code removsessionion IDs for all guests. This means ALL spiders can spider your forum without session IDs in the URLs.

NOTE: This means you can't enable guest posting to your forums. It won't hamper guests in any way other than disallowing them to post. phpBB recently improved security with their session IDs so this code strikes a perfect balance between session ID integrity and search engine spidering.


6) Unlink the username of the last post on viewforum.php (Craven de Kere)

This is purely for page rank drain and to direct the search engine spiders to the content. Pages with too many links are penalized by some search engialgorithmsyms. The links to the profiles are also not the focus of the site. Most users are not searching the internet for information in your users' profiles. So this helps direct the search engines to the content on the topics instead of the many other links search engines could follow.

You can see an example of this on the forum pages.


7) Remove the "View Latest Post" icon and link on viewforum.php (Craven de Kere)

This is a page rank drain issue. The link is restored but the image is removed because it makes the page too "busy" and because the images are not as attractive as the text link we will subsequently create using the last post date.

8) Make the date of the last post link to the last post like the icon did on viewforum.php (Craven de Kere)

As explained above the latest post link is now accessed from thelatestt post date. There are a few reasons for this. First of all a text link is almost always better than an image link. Secondly the text link will change (as the dates change). This makes the link more attractive to search engines but most importantly it provides a slight chance at more keyword traffic by branding the link with a date and time as a keyword.

For example, if a post on 9/11 was indexed that day it might have a slightly better chance of being found under long search engine queries that contain that date. It's a minimal improvement but ties into making the page less busy and small improvements add up when SEO is concerned.

You can see an example of this on the forum pages.

9) Unlink the author username on viewforum.php (Craven de Kere)

This is purely for page rank drain and to direct the search engine spiders to the content. Pages with too many links are penalized by some search enginalgorithmsms. The links to the profiles are also not the focus of the site. Most users are not searching the internet for information in your users' profiles. So this helps direct the search engines to the content on the topics instead of the many other links search engines could follow.

You can see an example of this on the forum pages.

10) Remove signatures for guest views (Craven de Kere)

This modification removes repetitive text from the topic pages. As signatures are text that is not usually relevant to the topic they distract search engines dilutelute the key words. This makes the signatuinvisibleible for guests so that search engines (and guests!) focus on the content of the topic. it also helps if you allow users to put links in their signatures as you will not lose any page rank through these links anymore.

11) Remove avatars for guest views (Craven de Kere)

For a busy board this will greatly reduce bandwidth use. What it does is make avatars visible only if logged in. Search engines prefer small pages so this helps them focus on the topic content as well.

12) Remove personal info (Profile, IM, PM, AIM, etc) for guest views (darbyrob)

This removes all the personal info icons if the user is not logged in. This way the links and images do not distract search engines.

13) Unlink the username of the last post on search.php (Craven de Kere)

This is purely for page rank drain and to direct the search engine spiders to the content. Pages with too many links are penalized by some search enginalgorithmsms. The links to the profiles are also not the focus of the site. Most users are not searching the internet for information in your users' profiles. So this helps direct the search engines to the content on the topics instead of the many other links search engines could follow.

14) Remove the "View Latest Post" icon and link on search.php (Craven de Kere)

This is a page rank drain issue. The link is restored but the image is removed because it makes the page too "busy" and because the images are not as attractive as the text link we will subsequently create using the last post date.

15) Make the date of the last post link to the last post like the icon did on search.php (Craven de Kere)

As explained above the latest post link is now accessed from thelatestt post date. There are a few reasons for this. First of all a text link is almost always better than an image link. Secondly the text link will change (as the dates change). This makes the link more attractive to search engines but most importantly it provides a slight chance at more keyword traffic by branding the link with a date and time as a keyword.

16) Unlink the author username on search.php (Craven de Kere)

This is purely for page rank drain and to direct the search engine spiders to the content. Pages with too many links are penalized by some search enginealgorithmss. The links to the profiles are also not the focus of the site. Most users are not searching the internet for information in your users' profiles. So this helps direct the search engines to the content on the topics instead of the many other links search engines could follow.

17) Link the user post count to a search of the user's posts (Craven de Kere)

The user search page is a good way to capture more search engine traffic. This provides a link for the spiders.

18) Make Auth list on viewtopic.php invisible to search engines (Craven de Kere)

The "You can post new topics" etc text is removes as it's usually confusing to guests anyway and it's repetitive and diluting text. This makes it only visible if logged in.

19) Make the previous and next topic links invisible to search engines (Craven de Kere)

This is an important change. The previous topic and next topic links are horrible for search engines as they change depending on what topic has last been posted to. In short, if a search engine indexes one of the links it will later be a link that goes to different content (as the next topic may change depending on what's posted). This modification makes the previous/next links visible only of logged in.


20) Removes the site name from page titles, improving keyword weight (Craven de Kere)

This is by far the most important keyword modification. The page title is the most important real estate for search engine optimization. This reduces the dilution by removing the site name from the title and the topics will now have pages with more relevant titles (at the cost of some site branding).
Last edited by craven de kere on Sun Nov 16, 2003 6:11 pm, edited 1 time in total.
craven de kere
Registered User
Posts: 30
Joined: Sun Jul 13, 2003 7:13 am
Contact:

Post by craven de kere »

Last edited by craven de kere on Fri Feb 13, 2004 5:57 am, edited 3 times in total.
craven de kere
Registered User
Posts: 30
Joined: Sun Jul 13, 2003 7:13 am
Contact:

Post by craven de kere »

FUTURE ADDITIONS

1) Complete elimination of offsite page rank drain.
2) More keyword work
3) Creative use of 404 traffic
4) CMS pages
5) Meta tags
6) Language overhaul
7) All topics page
8) More work on keyword dilution
Last edited by craven de kere on Sun Nov 16, 2003 6:11 pm, edited 1 time in total.
craven de kere
Registered User
Posts: 30
Joined: Sun Jul 13, 2003 7:13 am
Contact:

Post by craven de kere »

Space reserved for FAQ and other development issues.
craven de kere
Registered User
Posts: 30
Joined: Sun Jul 13, 2003 7:13 am
Contact:

Post by craven de kere »

Several corrections and additions were made to this code. Please use teh updated version.
FX
Registered User
Posts: 254
Joined: Thu Aug 01, 2002 9:29 pm
Location: France
Contact:

Post by FX »

Any news for the news version and feature addition ?
User avatar
drathbun
Former Team Member
Posts: 12204
Joined: Thu Jun 06, 2002 3:51 pm
Location: TOPICS_TABLE
Contact:

Post by drathbun »

This is fascinating stuff. I found your description of the changes and why they are important very useful, thanks. I'll be making my own changes, rather than following your mod instructions, but the information you posted was more valuable (to me) than the actual code.

Good stuff, thanks. 8)
I blog about phpBB: phpBBDoctor blog
Still using phpbb2? So am I! Click below for details
Image
Darlantan
Registered User
Posts: 369
Joined: Wed Mar 13, 2002 1:37 pm

Re: [BETA]phpBB Search Engine Optimization

Post by Darlantan »

Very nice optimizations. Very interesting. Never crossed my mind that all the little links and images here and there would affect page-rank. But now it makes perfect sense :)
craven de kere wrote: 5) Remove session IDs for all search engine spiders (Darlantan?)

This is a crucial part of this mod. It is based on code that was posted by a user named Darlantan but it is unclear who wrote the original snippet.

This code removsessionion IDs for all guests. This means ALL spiders can spider your forum without session IDs in the URLs.

NOTE: This means you can't enable guest posting to your forums. It won't hamper guests in any way other than disallowing them to post. phpBB recently improved security with their session IDs so this code strikes a perfect balance between session ID integrity and search engine spidering.

Yes, I posted and wrote that code "snippet". If you can call a couple lines a snippet :) Should note that guests with cookies enabled can still post.
craven de kere
Registered User
Posts: 30
Joined: Sun Jul 13, 2003 7:13 am
Contact:

Post by craven de kere »

FX, there have indeed been quite a few additions. The updated files can be found here.

Darlantan,

Thanks for confirming that is your code. It's one of the most important parts of the mod.
FX
Registered User
Posts: 254
Joined: Thu Aug 01, 2002 9:29 pm
Location: France
Contact:

Post by FX »

Ok i Will retry this mod. Send me an pm if i don't send messae to confirm the code
nukestud
Registered User
Posts: 7
Joined: Mon Oct 13, 2003 5:38 am

Post by nukestud »

One Word! LEGEND!!! Well done with these mods!

I have everything working perfectly accept for forums/search.php?search_author=username comes up a 404 page!

Any ideas??

Thanks again for posting these great mods!
nukestud
Registered User
Posts: 7
Joined: Mon Oct 13, 2003 5:38 am

Post by nukestud »

OK! Got it figured out. Cause I have the board embeded in phpnuke and running GTnextGen Google Tap My code for viewtopic_body.tpl was a little different. For anyone else that may have a problem and has a similar setup, I did this to sort it in viewtopic_body.tpl

Code: Select all

<a href="search.php?search_author={postrow.POSTER_NAME}" class="postdetails">{postrow.POSTER_POSTS}</a>
REPLACE WITH:

Code: Select all

<a href="fsearch-author-{postrow.POSTER_NAME}.html" class="postdetails">{postrow.POSTER_POSTS}</a>
Cheers
User avatar
drathbun
Former Team Member
Posts: 12204
Joined: Thu Jun 06, 2002 3:51 pm
Location: TOPICS_TABLE
Contact:

Post by drathbun »

Anyone have any idea if there is truth to the rumor that Google is just ignoring viewtopic.php and viewforum.php pages?

I've implemented the changes suggested here. My goal was to be able to search on google and find links pointing to specific topics on my forum. So far that hasn't happened (don't worry, I'm going to give it at least 3 months before I get too worried). But I've noticed that I don't see many phpBB forums showing up at all.

I see topics (threads, whatever the respective term is) from other forum systems, just not a lot (any) of viewtopic.php links.
I blog about phpBB: phpBBDoctor blog
Still using phpbb2? So am I! Click below for details
Image
User avatar
stevemagruder
Registered User
Posts: 210
Joined: Wed Jul 02, 2003 2:05 pm
Location: Louisville, KY
Contact:

Post by stevemagruder »

Enter "pathetic NI4D" as a Google search entry. The first two responses are a viewtopic.php and viewforum.php from my board.

I've also made a lot of these searchabilty changes. But I think what's being left out are a few obvious ones. I added the following meta tag generation to my forum code a long while ago:

Code: Select all

<meta name="robots" content="index,follow">
<meta name="googlebot" content="index,follow">
<meta name="revisit-after" content="1 days">
Steve Magruder - WebCommons :: Media
Administrator for the Louisville History & Issues discussion board
nukestud
Registered User
Posts: 7
Joined: Mon Oct 13, 2003 5:38 am

Post by nukestud »

stevemagruder wrote: Enter "pathetic NI4D" as a Google search entry. The first two responses are a viewtopic.php and viewforum.php from my board.

I've also made a lot of these searchabilty changes. But I think what's being left out are a few obvious ones. I added the following meta tag generation to my forum code a long while ago:

Code: Select all

<meta name="robots" content="index,follow">
<meta name="googlebot" content="index,follow">
<meta name="revisit-after" content="1 days">


Where did you put that code Steve?

Cheers
Locked

Return to “[2.0.x] MODs in Development”