What does a forum migration look like? Just ask Moz...
We were recently engaged by the SEO services company Moz to re-vamp their Q&A forum. As is typical of many of our client engagements, not only do we do our best to migrate an existing forum to NodeBB, but we try to take any lessons we learn from the project, and apply it to all NodeBBs, going forward. In this case, Moz advised us on some new best-practices for migration work, and did an informal audit on our existing SEO implementations.
Click here to see the full blog post
@volanar NodeBB isn't really like older PHP apps where you extract it to a subfolder — it exists separately from your other web apps, but can be "mounted" on a specific subfolder path.
In the case of Moz, they used CloudFlare to redirect traffic going to that subfolder to the hosted NodeBB instance.
In more traditional setups, you'd use something like nginx to capture requests to that subfolder, and route them to NodeBB. So even if your forum is served on
/forum, you could still install NodeBB wherever you want (e.g.
/var/www/forum). The two (location on-disk and subfolder mounted) need not match.
So knowing that, yes, if you want to host your forum at https://example.org/projects/volanar/secret/forum/beta, you can.
Although it'd be quite a pain to type
Can you maybe share with us mere mortals how many hours/days/weeks and Moz + NodeBB people were available to the project to achieve such an incredible migration result, without revealing the whereabouts of your drone army and personal droids of course!
@pramariena What would you like to know? What they've shared is what's in the blog post, but I am happy to answer questions.
@omega I missed your questions, but it's a quick one. The whole moz project took only a couple months, and most of that was building out their custom theme and some custom functionality. Getting their forum imported into NodeBB was straightforward when using nodebb-plugin-import. We worked with @bentael for that one.
One tricky bit was getting their URL redirections working. Their topic slugs were not easy to parse since they were at the root level (e.g.
/community/q/this-is-the-topic-slug). This meant we had to create a redirect map for every one of their existing topics, and ensure they correctly routed to the new topic ID.