Revamping My Digital Home: Embracing Ghost for Content Control
Written on
The Journey to a Self-Hosted Content Hub
In this edition of This Week In Writing, I delve into my journey of creating a self-hosted content hub using Ghost, and how you can embark on a similar path.
Since acquiring JustinCox.com back in 2005, I've experimented with various iterations of my personal website. From numerous blogging formats to splash pages, and even pointing the domain to Tumblr, my website has always represented my digital identity.
Years ago, I decided to migrate all my content from Medium to my website. This expansive project required significant time and effort. Given the instability of centralized platforms, I aimed to establish a space where I could maintain complete control over my creations.
Recently, I undertook another transition, this time from WordPress to Ghost. This open-source software, supported by a nonprofit, serves as an alternative to WordPress. While it lacks the extensive plugin support of WordPress, Ghost provides built-in membership and newsletter functionalities. What started as a necessary shift from Substack has evolved into an engaging yet challenging endeavor.
Regardless of platform changes, my website remains the central hub for all my written works. This ensures that my content remains intact even if a platform becomes obsolete. Ironically, Ghost effectively shields my work from the fate of many platforms.
Now that my site is fully operational, I’m ready to address some of the many inquiries I’ve received throughout this journey. Prepare yourself, as this will be one of the longest newsletters I've sent out in quite some time!
Why Choose Ghost Over WordPress?
With WordPress’s recent launch of a paid membership and newsletter feature, it might seem like a viable choice. While similar functionalities can be integrated into self-hosted WordPress installations through various (often paid) plugins, I opted for Ghost due to its seamless integration of memberships and newsletters. Ghost can fully substitute for platforms like Patreon and Substack while also hosting my blog and contact forms.
Furthermore, the Ghost interface is impressively sleek, which I’ll elaborate on shortly.
Is Ghost Cost-Effective?
Ghost(Pro) functions similarly to WordPress.com and charges based on subscriber count. If I were to transfer the 18,000 subscribers of This Week In Writing, the cost would be around $150 monthly. This is slightly less than the expense of using ConvertKit or MailChimp for the same audience.
Ghost also offers a free self-install option. I utilize an Opalstack server costing $150 annually, which has ample RAM for smooth Ghost operation. However, using Mailgun for newsletters incurs a fee of approximately $1 per 1,000 emails sent.
Although self-hosting Ghost and employing Mailgun is pricier than Substack, it remains comparatively affordable among email marketing platforms. Plus, the advantage of having my entire website integrated is significant.
A major perk of Ghost, whether self-hosted or on Pro, is the absence of platform fees. Substack takes a 10% cut from every subscription, even when moving subscriptions off the platform. Ghost takes nothing, with the only fees incurred going to Stripe for credit card processing.
To celebrate my full transition to Ghost, I'm offering a Subscribe Without Substack 10% discount! Sign up by the end of July to take advantage of this offer. Existing Substack subscribers can reach out for help transitioning their subscriptions with a personalized discount.
Is Ghost User-Friendly?
Once you have Ghost set up, it’s generally user-friendly. I find the backend interface to be modern, fast, and enjoyable to navigate. Ghost's editor resembles Medium, making it intuitive and straightforward.
However, updates are more complicated. Unlike WordPress, Ghost doesn’t allow for easy admin updates; instead, all updates require SSH command line access. To streamline this process, I created a Siri Shortcut for one-click updates. While I'm comfortable with this, some might prefer the simplicity of Ghost(Pro) to avoid SSH updates altogether.
Installing Ghost can be daunting, requiring substantial web server knowledge, coding skills, and configuration file modifications. Thankfully, Opalstack offers a comprehensive guide, but installation can be challenging for novices.
Setting up Mailgun can also be tricky, but once it's operational, it operates seamlessly in the background. I had a learning curve while figuring out the necessary API codes in the Ghost configuration file, which delayed my progress for two weeks.
What’s Lacking in Ghost?
Ghost has its shortcomings. Notably, it lacks an email share button, which seems essential for any email newsletter. While I can create mailto links, there's no straightforward way to add this feature to each post.
Moreover, Ghost does not provide email workflows or automation sequences. For instance, there’s no built-in option to automatically send a welcome email to new subscribers. While I can work around this using Zapier, having it natively integrated would be beneficial.
Ghost doesn’t display email bounce reports either. I must check Mailgun for these statistics. Allegedly, Mailgun will purge subscriptions after several undeliverable attempts, but having a method to quickly filter out bounced addresses in Ghost's admin would be preferable.
Interestingly, Ghost does not include a method for creating contact forms. Given its integrated email service, this seems like a missed opportunity. I've resorted to using HTML and JavaScript to build a contact form.
Utilizing Ghost as a Content Hub
My website now serves as the central repository for all my published work. I adhere to the POSE method: publish once and syndicate everywhere. This means my site is the primary location for all content. If I ever decide to fully transition away from Substack, Medium, or Patreon (especially the latter), my website is ready to support that decision.
I draft my content in iA Writer and export it to Ghost, where I enhance it with images and finalize the publication schedule. With the assistance of Zapier and APIs, my draft appears instantly in Medium, ready for scheduling. Zapier manages canonical links and drafts for The Writing Cooperative as well, which is incredibly helpful!
Conversely, Substack lacks an API, which forces me to copy and paste articles manually into their editor. This method is still much quicker than my previous process of creating drafts across multiple platforms before using Ghost.
I undertake this effort to maintain ownership of my content on my self-hosted Ghost platform while leveraging the audience engagement features of Medium and Substack. This strategy allows me to enjoy the best of both worlds. To future-proof my content and enhance SEO for my website, I always link back to the version hosted on my site. If any platform fails, my content will remain safe.
I’m also shifting my focus to make my website the main destination for subscriptions. This not only eliminates the 10% fee but also fosters a direct connection with my audience. That said, I’m not abandoning Substack; I still appreciate its audience-building capabilities while using my site as the primary hub.
Addressing the 10% Substack Fee, it’s important to note that they continue to take this percentage even if you migrate subscriptions off their platform, which raises some ethical concerns. Don’t forget to check out the Substack Fee Free Promo!
Was the Transition Worth It?
I won't sugarcoat it—setting up Ghost was a considerable undertaking. The export from WordPress to Ghost was relatively smooth, except for the images. Ultimately, I had to manually correct each image file in every post, which was tedious. Much of this was due to my misconfiguration during installation, causing the content folder to be deleted after each update. Lesson learned!
Despite the challenges, transitioning to Ghost has been worthwhile. Ghost forms the essential framework for my writing hub, which is crucial for my creative endeavors.
Future Plans for the Hub
I’m considering moving Writing Cooperative contributor requests to my site from Flodesk. This will require additional configuration and possibly automated workflows, which currently do not exist in Ghost. If successful, I could cancel my Flodesk subscription and save $208 annually.
Am I Leaving Medium and Substack?
I have no plans to abandon Medium. I cherish the platform and will continue to cross-post and support it as long as it remains operational (unless it’s acquired by someone with unsavory motives, in which case, I’m out).
Substack is also here to stay for now. I enjoy the communication and engagement tools it provides and look forward to interacting with readers each week. However, I’m actively encouraging my supporters to subscribe via my website instead of Substack (don’t forget the discount!). This shift is part of my broader goal to reclaim my website as the central hub for all my writing.
Should You Consider Setting Up a Ghost Site?
This is a complex question. Due to the technical challenges involved, self-hosting Ghost may not be suitable for everyone. The alternative option, Ghost(Pro), offers a more straightforward setup. I only tested it briefly, but it appeared stable and user-friendly. If you choose Ghost(Pro), they will assist you in migrating your content from Substack, WordPress, or other platforms.
Regardless of your decision, I believe it's crucial for every creator to have a reliable backup of their content. Given the recent issues with platforms like Twitter and Reddit, it's vital that your work resides in a space that you fully control.
The future of the internet leans towards decentralization, and I wholeheartedly support this trend. I miss the days of personalized websites and niche communities. By taking these steps, I'm working to return my website to its roots.
Bring on RSS feeds, blogrolls, and gifs! As platforms falter, let’s focus on amplifying our work rather than relying solely on these systems.