Archive for April, 2007

Search Engine Friendly URLs for Invision Power Board

Basically non-existent.

Invision’s stance on it is since Google can index their forums without them, why should they bother? But generally Google gives more weight to the page name than the content when ranking so someone using SEF urls will be listed above you. But even more important, if you want to run Google Adsense on your forum, SEF URLs are almost mandatory. Google places a lot of stock in the name of the page when selecting keywords for ads it will display on it. Having a page name of “/forum/index.php?showtopic=1274;st=20″ does nothing to help.

To be fair, there is FURL. The author of the modification has done some nice work with it. But it suffers from problems when the query string doesn’t match exactly what the code is looking for. For example, if the session id is in the query string, FURL will not see it and the link is left at /index.php?ses=xxxxx. And it only works on the first page of a topic (last I checked). After that, it’s back to the /index.php?xxxx

Then there is the recent Community SEO. This might work if you want to spend more money for SEF urls than you spent for the forum software itself. But there is another slight problem with this mod that bothers me more than the hit to the wallet. The URLs it generates look identical to what FURL generates. In other words, it appears that the author of this mod used FURL in his code. This raises copyright issues that I would prefer to stay away from.

So after trying FURL and later removing it and not shelling out the money for Community SEO I decided to write my own mod for Invision Power Board search engine friendly URLs. It will also be GPL’d and given away free. And it’s almost ready for use. Just working out some bugs I’m finding while unit testing it.

What I’ve got so far is: say that you have a forum at /forum/index.php + a forum named “Politics” + a sub-forum named “Republican” + a topic in that forum called “John McCain’s latest snafu” + a member named “Ralph”. The URLs would then be:

Forum index: /forum/forums.html
Politics index: /forum/politics/topics.html
Republican index: /forum/politics/republican/topics.html
Topic: /forum/politics/republican/john_mccains_latest_snafu.html
Member Profile page: /forum/members/ralph

Any extra information in the query string is appended to the URL automatically. So if a session id is present, then the url becomes: /forum/politics/republican/john_mccains_latest_snafu.html?sess=xxxxxx.

The reason I’m dropping the dime on it now is that I could use suggestions for it. What would you like to see in it?