I moved CrazyEngineers to XenForo in 2011, a few months after it launched. I'd followed its developers since their vBulletin days, and when they started something new, I wanted in. XenForo was lightweight, intuitive and had almost every feature I wanted. We ran on it for seven years.
Later, at Gumlet, I ran a developer community on Discourse for about two years, after our first attempt on Circle went nowhere.
So I've lived with both. Here's how they compare today, for someone running a community for a business, not a hobby. Prices and features were checked on November 11, 2026.
One disclosure before we start: I build Jatra, a community platform. I built it because of the problems I hit on these platforms. I'll tell you where each one is genuinely good.
The short version
XenForo is a classic forum you own and run on PHP. It's mature, fast and cheap to license. You need someone who can look after a PHP server and its add-ons, or you pay for XenForo Cloud.
Discourse is a modern discussion platform with Q&A, chat and a big plugin set. It's open source and well documented. Self-hosting it means Docker and a Linux server. Hosted, the business features sit on the $500 plan.
Both put your content in the HTML Google reads. Both work. The question is what they cost you to run.
Price
Swipe sideways to see every column.
| XenForo | Discourse | |
|---|---|---|
| Self-hosted software | $195 one-time licence, then $60 a year for updates and support | Free, open source |
| Paid extras (self-hosted) | Enhanced Search $60, Resource Manager $70, Media Gallery $70; branding removal $350 | Plugins are free; the hosting plan decides which you can use |
| Hosted by the vendor | Cloud: $60, $100 or $250 a month (400k, 1M or 4M page views), Enterprise on request | Free, $100 (Pro) or $500 (Business) a month, all capped at 500k page views; Enterprise on request |
| Branding removal (hosted) | +$30 a month | Not listed as a separate charge |
Sources: XenForo purchase page, Discourse pricing.
On hosting, XenForo gives you more traffic for the money: Cloud Standard covers 1 million page views for $100 a month, and every Cloud plan includes the full suite of add-ons, unlimited staff and daily backups. Discourse Pro is also $100, but caps at 500,000 page views and 5 staff seats.
Self-hosted, XenForo runs on almost any PHP and MySQL host. Discourse needs a Linux server with Docker and root access. I've broken down what that costs in what Discourse really costs.
What Google sees
On November 11, I fetched live threads from the FreeBSD Forums (XenForo) and Discourse's own forum, without JavaScript, the way a basic crawler would.
Both put the full post text in the raw HTML. That's the most important test, and both pass it.
Structured data differs. XenForo outputs JSON-LD for the thread (DiscussionForumPosting, with views, replies and publisher), plus microdata for replies. Discourse uses microdata for regular topics, and JSON-LD only for solved Q&A topics, which it marks up as QAPage with an accepted answer. XenForo's question threads didn't show QAPage markup in our test.
Both mark links in member posts as nofollow ugc, which is what Google asks for. Both build XML sitemaps automatically.
URLs look like this: XenForo uses /threads/thread-title.12345/ and Discourse uses /t/topic-title/12345. Both are fine for search.
Frankly speaking, SEO won't decide this one. Both are solid. If you want the full test across nine platforms, see the best forum software for SEO.
Running it
This is where the real difference is.
XenForo upgrades from the admin panel with one click. The trouble is add-ons. Most communities run a handful of third-party add-ons, and after a major upgrade, some of them break. When XenForo 2.3 came out in July 2024, XenForo's own forum filled with threads from owners whose upgrades failed because of old add-ons. XenForo's docs say it plainly: you may need to contact the add-on authors.
That was my life on XenForo. Even simple features needed developers. The best XenForo developers were always booked by the big forums, and the rest charged specialist rates. I outsourced plugins to top-rated firms on freelancing sites and lost a lot of money and time. What came back often broke: blank pages, errors. Every small fix meant chasing someone who wasn't around.
XenForo itself is stable, but slow to move. Version 2.4 was announced as "coming soon" in September 2024 and still hasn't shipped. Meanwhile 2026 brought three security releases and a notice telling owners to update PHP immediately.
Discourse moves fast. It ships a release every month, plus security patches in between. Plugins are cleaner than XenForo's add-on market, because many official ones now ship inside Discourse itself. But every plugin change means a full rebuild, and big upgrades need care: the move to PostgreSQL 18 in August 2026 needed twice the database size in free disk space, and at least one owner reported their site going down that day.
Either way, someone on your team owns this work.
Features a business cares about
Swipe sideways to see every column.
| XenForo | Discourse | |
|---|---|---|
| Q&A with accepted answers | Yes, native "Question" threads | Yes, Solved (Pro and up) |
| Single sign-on | Social logins only (Google, Microsoft, LinkedIn, GitHub and others); no standard OAuth2/OIDC or SAML in official docs | DiscourseConnect on Pro; OAuth2/OIDC on Business; SAML on Enterprise at extra cost |
| API and webhooks | REST API and webhooks on every plan | Pro and up |
| Chat | Not built in | Built in, every plan |
| Mobile | Installable web app with push | Official iOS and Android app for hosted sites, plus web app |
| Paid memberships | Built in ("user upgrades") | Subscriptions plugin (Pro and up) |
| Backups | Cloud: daily. Self-hosted: your own database dumps | Built-in full backup from the admin panel |
If your community has to sit behind your product's login, look closely at SSO. On XenForo you'll be relying on a third-party add-on. On Discourse you're on Business or Enterprise.
Moving between them
Discourse has an official XenForo importer. It brings over users, categories, threads, posts, reactions, private messages and attachments. In the code we read, it doesn't move passwords, and it only creates redirects for categories, not for each thread. You'd build the thread redirects yourself.
XenForo's official importer lists "Discourse 3.x" as a source. Discourse now uses date-based versions (2026.x), and XenForo doesn't say whether those are covered. Test before you commit.
If you move, keep your URLs, or redirect every one of them. When CrazyEngineers moved from vBulletin to XenForo, the migration itself was super smooth. XenForo's team did all of it. But our URL structure changed, Google had to learn the site again, and traffic dropped about 40% for six to seven months. Since then, I've never changed a URL structure.
My verdict
For a business community, I'd pick neither.
That's not a dig at either product. They're good software. But both make you run a forum: servers, upgrades, add-ons, rebuilds, developers. I spent years doing that, and it's why I built my own platform, first for CrazyEngineers in 2018, and then Jatra.
If you still want to choose between them, here's my honest read.
Pick XenForo if you run a classic topic forum yourself, you're comfortable with PHP hosting or happy on Cloud, and you don't need single sign-on.
Pick Discourse if you have a technical team, your members are developers who want Q&A and chat, and you're fine on $500 a month for SSO and the business plugins, or on self-hosting.
If neither fits, see Discourse vs Jatra and the best XenForo alternatives, or step back to how to choose a community platform. Or book a call and I'll tell you straight whether Jatra fits.
The XenForo vs Discourse question also comes up on our own community: what's the difference between XenForo and Discourse, a thread I started, and which forum software is better.