[{"data":1,"prerenderedAt":159},["ShallowReactive",2],{"seo-verification":3,"blog-ghost-vs-wordpress-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":28,"sections":29,"ctaTitle":111,"ctaBody":112,"ctaButton":113,"ctaUrl":114,"relatedPosts":115},96,"ghost-vs-wordpress","Ghost vs WordPress: which self-hosted blog platform?","Ghost or WordPress for your self-hosted blog on a VPS? Comparison of performance, SEO, Docker prerequisites and complete deployment guide.",8,752,false,"2026-03-16T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},5,"Comparison","comparatif","bg-info\u002F10 text-info",[21],{"id":16,"name":17,"slug":18,"color":19,"icon":18},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fghost-vs-wordpress-poster.svg",{"categorySlug":26,"appSlug":27},"self-hosting","ghost","Ghost and WordPress dominate the self-hosted blog, but meet two distinct needs. WordPress is the universal, infinitely extensible CMS; Ghost is a modern platform tailored for publishing, newsletters and paid subscription. Here's how to choose and deploy your editorial platform on a VPS.",[30,34,44,83,86,108],{"type":31,"title":32,"body":33},"h2","Why self-host your blog platform","Publishing on a closed platform deprives you of control over your audience, your data and your SEO. By self-hosting Ghost or WordPress on a VPS, you own your content, your URLs, your audience data and your subscriber list. WordPress, written in PHP, offers an ecosystem of tens of thousands of themes and plugins: it's the Swiss army knife that becomes e-commerce, portfolio or showcase site. Ghost, written in Node.js, is focused: a streamlined editor, native performance, built-in membership and newsletters without a plugin, and a fast front-end by design. If you're building a feature-rich site, WordPress is the obvious choice; if you want to publish fast and monetize through subscription, Ghost shines.",{"type":35,"title":36,"items":37},"ul","The benefits of self-hosting",[38,39,40,41,42,43],"Full ownership of the content, URLs and audience data, with no dependence on a platform.","No per-subscriber fee or commission on revenue (unlike hosted offerings).","Freedom of themes, plugins (WordPress) or customization of the Handlebars theme (Ghost).","Control of technical SEO: URLs, sitemaps, metadata and loading performance.","Newsletters and membership built in (Ghost) or via extensions (WordPress), with no intermediary.","Backups and migrations under your control, with no proprietary lock-in.",{"type":45,"headers":46,"rows":50},"comparison",[47,48,49],"Criterion","Ghost","WordPress",[51,55,59,63,67,71,75,79],[52,53,54],"Technology","Node.js","PHP",[56,57,58],"Database","MySQL 8","MySQL \u002F MariaDB",[60,61,62],"Ecosystem","Handlebars themes, API integrations","Tens of thousands of plugins and themes",[64,65,66],"Newsletters \u002F membership","Native, no plugin","Via third-party extensions",[68,69,70],"Default performance","Very fast (lightweight front-end)","Variable, depends on plugins\u002Fcache",[72,73,74],"Versatility","Focused on publishing and subscription","Universal (blog, e-commerce, showcase)",[76,77,78],"Recommended RAM","1 to 2 GB","1 to 2 GB (more depending on plugins)",[80,81,82],"Target profile","Creators and monetized media","Any extensible web project",{"type":31,"title":84,"body":85},"Prerequisites for each platform","Ghost strictly requires MySQL 8 (not MariaDB in production) and Node.js, provided in its official Docker image. A VPS of 1 vCPU and 2 GB of RAM handles a comfortable blog. WordPress runs on 1 vCPU and 1 GB for a light site, but climbs quickly with plugins and an object cache: plan for 2 GB and Redis as soon as traffic rises. In both cases, an NVMe disk significantly speeds up rendering. You need Docker Compose v2, a dedicated domain (`blog.mydomain.com`), an HTTPS reverse proxy, and for WordPress attention to `upload_max_filesize` if you publish a lot of media.",{"type":87,"title":88,"steps":89},"steps","Deploy Ghost (or WordPress) on a VPS",[90,93,96,99,102,105],{"title":91,"body":92},"Declare the database","For Ghost, a `mysql:8` service with a persistent volume and dedicated credentials. For WordPress, `mariadb:11` or `mysql:8` works. Isolate them on an internal Docker network, not publicly exposed.",{"title":94,"body":95},"Configure the application container","For Ghost, the `ghost:5-alpine` image with `url=https:\u002F\u002Fblog.mydomain.com`, `database__client=mysql` and the connection parameters. For WordPress, the `wordpress:php8.3-apache` image with `WORDPRESS_DB_HOST` and the credentials.",{"title":97,"body":98},"Mount the content volumes","Mount `\u002Fvar\u002Flib\u002Fghost\u002Fcontent` (Ghost) or `\u002Fvar\u002Fwww\u002Fhtml\u002Fwp-content` (WordPress) on a dedicated volume, to preserve themes, images and uploads during image updates.",{"title":100,"body":101},"Launch and initialize","Run `docker compose up -d`. Ghost listens on `2368`, WordPress on `80`. Go to `\u002Fghost` to create the Ghost admin account, or follow the WordPress installation wizard.",{"title":103,"body":104},"Reverse proxy and HTTPS","Route `blog.mydomain.com` via Caddy\u002FTraefik with an automatic Let's Encrypt certificate. Check that the configured URL is indeed in `https` on the application side, otherwise the resources and redirects will be in the clear.",{"title":106,"body":107},"Configure email sending and caching","Connect an SMTP service (transactional) for Ghost newsletters or WordPress emails. Enable an HTTP cache on the proxy side and, for WordPress, a Redis object cache to absorb the traffic.",{"type":109,"body":110},"tip","With Ghost, be sure to configure transactional `mail` from installation: without a functional SMTP, the sending of newsletters and members' magic-link login emails fails silently, and you only discover it on the first send. Also serve images via a long cache on the reverse proxy side since the Ghost front-end is already static. For WordPress, install only maintained plugins and enable a page cache (FastCGI\u002FVarnish) upstream: that's what makes the difference between a fast blog and a site that crawls under load.","Publish on your own platform","Deploy Ghost or WordPress on a ServOrbit Cloud VPS with Docker, a ready database and NVMe SSD for a fast front-end. The preconfigured template gets you online without friction.","Launch my blog on a VPS","\u002Fvps-cloud",[116,130,144],{"id":117,"slug":118,"title":119,"excerpt":120,"readTime":11,"views":121,"isPinned":13,"publishedAt":122,"category":123,"categories":124,"featuredImage":22,"bgImage":23,"posterImage":126,"relatedSolution":127},4,"coolify-vs-dokploy","Coolify vs Dokploy: which tool should you choose to deploy on your VPS?","A complete Coolify vs Dokploy comparison: features, simplicity, use cases. Which tool should you choose to host and deploy your applications on a VPS?",2600,"2026-06-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[125],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fcoolify-vs-dokploy-poster.svg",{"categorySlug":128,"appSlug":129},"deploiement","coolify",{"id":131,"slug":132,"title":133,"excerpt":134,"readTime":11,"views":135,"isPinned":13,"publishedAt":136,"category":137,"categories":138,"featuredImage":22,"bgImage":23,"posterImage":140,"relatedSolution":141},93,"n8n-vs-node-red","n8n vs Node-RED: which self-hosted automation tool to choose?","n8n or Node-RED to automate your workflows on a VPS? Technical comparison, Docker prerequisites and self-hosted deployment guide.",641,"2026-03-19T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[139],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fn8n-vs-node-red-poster.svg",{"categorySlug":142,"appSlug":143},"automatisation","n8n",{"id":145,"slug":146,"title":147,"excerpt":148,"readTime":149,"views":150,"isPinned":13,"publishedAt":151,"category":152,"categories":153,"featuredImage":22,"bgImage":23,"posterImage":155,"relatedSolution":156},94,"supabase-vs-appwrite","Supabase vs Appwrite: which self-hosted backend for your VPS?","Supabase or Appwrite self-hosted on a VPS? Backend comparison (auth, DB, storage), Docker prerequisites and complete deployment guide.",9,678,"2026-03-18T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[154],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fsupabase-vs-appwrite-poster.svg",{"categorySlug":157,"appSlug":158},"bases-de-donnees","supabase",1785628432937]