The canonical link element is really an interesting matter. There are many cases where it could be helpful if not the only solution.
But, as Matt Cutts states it in the video, this is kind of a last resort, when you where not able to first display no duplicates href links in your web pages and then not able to appropriately HTTP 301 redirect the eventual duplicates to the canonical urls. And Search engine will not necessarily always use or take them into account.
Now guess what, we're already making it possible for 100% duplicate free phpBB forum ever since phpBB SEO went online

First, you can use the
no duplicate mod to replace post url to the corresponding topic url (with pagination) on forum index, viewforum and viewtopic pages which are the only pages that bots may see (unless user posted some post urls in messages). phpBB3 does hide them to bots by default, we do not in our
SEO premod not to use too much of pretty much useless cloaking, of course, we deal with the issue in even a better way.
The other part of the counter measure is the
zero duplicate which, in strict mode, actually deal with 100% of possible duplicate in supported pages (index, viewforum, viewtopic, profiles pages, search (for common searches), group pages ...) using HTTP 301 redirection.
The post url case is as well dealt with, and in a way that can still allow forum admin to keep the usage of the post url without running duplicate. Let me explain, post url are the only url that will no matter what link to a given message. For example if a post is moved from a topic to another one, the original topic url won't lead to this message anymore. Few admin noticed that, which means that it's not a really critical matter, but still, with the post redirection option allowing you to HTTP 301 redirect post url to the corresponding topic url (generated live so it gets updated when a post moves making the posted post url to always lead to the right place) for all guests (thus bots) while registered (true) users will use the post url with no redirection (you can as well decide to redirect everybody if you prefer).
So basically, duplicates are just impossible with the zero duplicate, so there is no real need for the canonical link element with our SEO mods since the urls already are canonical

And there is no such trick as upper and lower cases with it, examples :
http://phpbb3.phpbb-seo.net/Demo-En/THE ... um-t3.htmlhttp://phpbb3.phpbb-seo.net/is-this-a/d ... e-t33.htmlhttp://phpbb3.phpbb-seo.net/viewtopic.php?p=43...
Though, since the matter is interesting indeed, it's very possible that we implement this element, it could still help out a bit to tell search engine one more time that our canonical url indeed are canonical
Generally speaking about nofollows, I have to say that I'm not a great fan about them, not that I do not use them at all, but I think that this is something which should be used (or not) not only thinking about the relationship with bots.
Because, first, not all bots will use them, and then, it is not necessarily this good for a website success (which does not only depend on the search engines). I mean in some cases it can help or even be mandatory, but in others, you may end up loosing more that you first expected.
First, I have seen pages with many external links without nofollows ranking very well even in google, simply because sometime, the external links can really be an important part of the content. For example talking about an article describing a service, links to specific part of it, which could be hard to find for someone visiting the service by it's own, can really be useful and thus considered as good and useful content.
Then, Internet and the so far leading principles in search indexing just cannot work without href links. If all href links where to be nofollowed, there would just not be anything to search for in the search engines.
For example, we do not apply nofollows in posted external links on phpBB SEO. We of course moderate the forums, and thus track any kind of abuse, but if a link is relevant to the topic, then it is relevant to us, and IMHO, to the public reading it. It thus deserve the "vote" of a non limited href link. To make it short, no vote, no democracy; only nofollows, no web.
I know this is going a bit far, but there are other reasons where a nofollow could even kill a community based website.
If we take for example the case of a well known community based website, where user would participate a lot to the content. What would happen if user would discover one day that, despite the fact they contribute a lot and even link themselves to this site they like so much, all links to their web site are nofollowed ?
Could in such case looks like cheating to the users, especially if the admin did not clearly stated the rule or implemented it silently at some point.
This of course does not apply to all forums, since some may mostly be visited by people without a website to link to, but I'm just throwing some example to illustrate that the nofollow matter should not only be considered in it's relation to search engines. Hrefs links are a pretty critical part of the Internet and just should not be dealt with without great care and thoughts.
Now, technically talking about nofollows in phpBB href links, I would not add it on the index link, even with the default text in that link. It's pretty much your forum's home page and you do want bot to count all links to this page.
Beside, it's rather easy to change the forum index text, just look in language/yourlang/common.php :
- Code: Select all
'FORUM_INDEX' => 'Forum index',
And change it to what you'd prefer (using utf-8 without BOM).
For profiles links, phpBB3 does deactivate them by default for bots (unfortunately, this is a light but still cloaking again). If you prefer to let bot see these links and add a nofollow tag in all of them at once, just add it in this line in includes/functions_content.php :
- Code: Select all
$tpl = (!$username_colour) ? '<a href="{PROFILE_URL}">{USERNAME}</a>' : '<a href="{PROFILE_URL}" style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</a>';
becomes :
- Code: Select all
$tpl = (!$username_colour) ? '<a href="{PROFILE_URL}" rel="nofollow">{USERNAME}</a>' : '<a href="{PROFILE_URL}" style="color: {USERNAME_COLOUR};" class="username-coloured" rel="nofollow">{USERNAME}</a>';
You can do the same for faq.php and other header links directly in the styles/yourtheme/template/overall_header.html.
For links to GYM sitemaps and rss, there is no easy way to add the tag to only one kind of link, it's easy for all, in gym_sitemaps/includes/gym_rss_functions.php :
- Code: Select all
$gym_link_tpl = '<a href="%1$s" title="%3$s"><img src="' . $board_url . 'gym_sitemaps/images/%2$s" alt="%3$s"/> %3$s</a>';
and in gym_sitemaps/includes/gym_common.php :
- Code: Select all
$gym_link_tpl = '<a href="%1$s" title="%3$s"><img src="' . $board_url . 'gym_sitemaps/images/%2$s" alt="%3$s"/> %4$s</a> ';
But you can still do it if you know a bit about templates, because more than the complete link is actually sent to the templates, kind of links for user profiles in phpBB3.
For example, for sitemaps you have :
- Code: Select all
'GYM_LINKS' => (int) $gym_config['gym_link_main'],
'GYM_LINKS_CAT' => (int) $gym_config['gym_link_cat'],
'GYM_GOOGLE_TITLE' => $user->lang['GOOGLE_SITEMAPINDEX'],
'GYM_GOOGLE_URL' => $sitemap_url,
'GYM_GOOGLE_LINK' => sprintf($gym_link_tpl, $sitemap_url, 'sitemap-icon.gif', $user->lang['GOOGLE_SITEMAPINDEX']),
'GYM_GOOGLE_THRESOLD' => (int) $links['setup']['google']['threshold'],
Only {GYM_GOOGLE_LINK} is used in templates by defaut, but you can create the links you want using {GYM_GOOGLE_URL} and {GYM_GOOGLE_TITLE} for the footer links.
For external links posted in messages, you can additionally install the
Prime link mod.
That's where some thinking is IMHO required, because it can impact your community in several different ways.