vBSEO, vBBlog and vBulletin 3.x to Xenforo

I have given up on vBulletin (Read why here) and have just converted my MBA Forum from vBulletin to Xenforo. Though the move was a breeze I think I should share the steps here once again for others who may want to plan their move from vBulletin to Xenforo.

I am not a fan of using too many plugins but still I was using

  1. vBSEO
  2. vBBlog the official vBulletin 3.x blog

So let me share my experiences of moving both to Xenforo and how I managed to get them moved into Xenforo.

vBSEO Urls for forums and threads

As I tested Xenforo I was sure that I couldn’t have the same forum urls as vBSEO (for my forums and sub forums at least) because vBulletin does not have any requirements for category based urls but Xenforo needs one. So all your forum urls will have /forums in the url and all your threads urls will have /threads in the url. Though the string ‘/forums’ and ‘/threads’ is customizable using an add-on, it is something that you remove completely.

So my old forum url

http://www.mbaguys.net/project-reports/

will become

http://www.mbaguys.net/forums/project-reports/

And as my urls are not based on forum ids, the redirection rule has to be manually for each url. So in htaccess I added following couple of lines for each category, forum and sub forum.

Redirect 301 /project-reports http://www.mbaguys.net/forums/project-reports/
RewriteRule ^project-reports/index([0-9]+).html /forums/project-reports/page-$1 [L,R=301]

The paged navigation in my case had index.html format and if you have different format, you have to change that accordingly as well.

For threads I was using /t<threadid> kind of url and so the redirection for this can be handled using the vBulletin redirection plugin for Xenforo as well as xfseo htaccess rules for vBSEO. For your vBSEO urls you can get the htaccess rules from Geekpoint and then adding the redirection add-on to Xenforo.

The Plan for vBBlog …

Once I was certain that my urls will be properly redirected, I was comfortable moving to Xenforo but then I had vBulletin blog as well and as vBulletin blog did not had right spam prevention options, I just turned posting permissions off in blogs because it was just not possible to deal with spam on vBBlog but then I had some really good archive of blogs which attracted good traffic and I did not want to loose them.

Posts like Why MBA After Engineering had urls like this

http://www.mbaguys.net/blogs/sidgoyal/why-mba-after-engineering-graduation-182/

So my plan to move out of vBulletin made me to also use Xenforo’s resource manager, I can revive the blogs into articles and allow users contribution once again. So my plan was to get dead vBBlog into Xenforo Resource Manager. Things did not go as I planned.

I saw that resource manager is not something that you can use for almost everything like articles or blogs because xenforo has url structure that needs to have a base part in the urls. For resource manager it is /resources I did not like that because I prefer calling it either articles or blogs. On top of that I need articles to form the major part of the home page and not a link from home page. With Resource manager did not thing happen automatically.

Above things can be taken care of with Xenporta add-on but then I could not import my blogs into Xenforo Resource manager as there was no import script for it. So I opted to get refund for my resource manager and the refund process hardly took few minutes.

Now once the Resource manager as an option was dawn and dusted I had to opt for alternative plans for vBBlog.

The Plan B and C for vBBlog

Plan B was to upgrade my vB3 to vB4 and then use vB4 Importer Plugin for Xenforo. After doing the research I found that vB4 can be imported into Xenforo completely including blogs but they are imported those content as threads only. So Instead of converting my vB3.x to vB4 I thought of converting my existing blog posts and comments into threads and posts because I was not sure if vB4 Importer plugin did import things into Xenforo Resource Manager or not because I could not find any documentation that said so.

So what I did was convert those vBBlog posts and comments into vBulletin threads and posts in a specific forum (called Articles as of now) and then opt for thread prefix for those articles and have them inside the Xenforo forum itself.

As I only had 200+ blog posts I did not create anything fancy for redirection and used a manual redirection. So I wrote a mini script that converts blog posts and comments into threads and replies into vBulletin with forum ID 38 which was (and still is) my forum for articles.

<?php 
require_once('./global.php');

$blogs = $db->query_read_slave("SELECT blogid FROM " . TABLE_PREFIX . "blog WHERE state =  'visible'");

while ($blog = $db->fetch_array($blogs))
{
    if($blog['blogid']==0) continue;
    $sql = "INSERT INTO " . TABLE_PREFIX . "thread (title, forumid, postusername,postuserid,dateline,views) SELECT title, 38, username, userid,dateline,views from ".TABLE_PREFIX."blog where blogid=$blog[blogid]";
    $db->query_write($sql);
    $insertedthreadid = $db->insert_id();

    $sql = "INSERT INTO " . TABLE_PREFIX . "post (threadid,username, userid, title,dateline, pagetext,ipaddress) select $insertedthreadid, username,userid,title,dateline,pagetext,ipaddress from ".TABLE_PREFIX."blog_text where blogid=$blog[blogid]";
    $insertedpostid = $db->query_write($sql);

    echo "$blog[blogid],$insertedthreadid\n<br />";
}

All the threads and posts remain invisible to public in vBulletin as I wanted it that way but you can make them visible as well if you want. The output of blog id to thread id as comma-separated value helped me for manual redirection.

Remember the above method will not work if you have hundreds of blog posts and so you may have to create a log table of old and new content ID and then go for redirection.

So the vBBlog posts in vBulletin are moved to threads in vBulletin

http://www.mbaguys.net/t5409

and then merged into Xenforo forums and final destination url becomes

http://www.mbaguys.net/threads/why-mba-after-engineering-or-graduation.5409/

Final Thoughts

I hope this article helps plan your move from vBulletin to Xenforo even if you are using vBSEO / vBBlog. If you have any queries or questions you can always ask them in comments below and I will be more than happy to help. If you want me to get your vBulletin forum moved to Xenforo, I am available here at Elance.

Sign up for Free Course on How to be an Online Entrepreneur?

Don't wanna sign up but prefer posts delivered to your Inbox?

Not planning to subscribe through Email. Check out the RSS Feed.

Comments

  1. says

    Hi Shabbir,

    We recently migrated from vBulletin 3.8 + vBSEO to XenForo. Thanks for your tips in this article.

    Our forum URLs were not based on forum IDs either, so I guess we will need to use your Redirect/Rewrite rules.

    We are still trying to figure out how to redirect member profiles (not based on IDs either) and the RSS links. Any advice in this regard?

    Thank you!

    • says

      Glad to see that my script helped you. For members if you don’t have ID’s in url then you have to write a script to fetch the userid from usernames and then do the redirect to Xenforo member profile urls. There is no other way out and if you want me to be doing this, I can definitely help you on this Jaime.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>