The Ghost Blog: Complete Guide

A large collection of articles about how and where to launch a Ghost blog, how to set it up and customize it. Connecting Google Search, AdSense, and Analytics.

The Ghost Blog: Complete Guide
Photo by Andras Vas on Unsplash

Introduction

Hello everyone. In this article, I am gathering all posts related to the deployment, installation, configuration, and customization of your personal blog on the Ghost platform. All articles are written and reviewed by me and are a logical continuation of each other. Of course, I don’t delve into some details, assuming that when you decide to do something similar, you are already somewhat prepared mentally and technically for the challenges.

Among all the topics I cover, you are unlikely to find anything super unique or something that hasn’t been on the internet before. Nevertheless, I still find new aspects and try to add to it. Indeed, I see some things a bit differently, and I try to add more details or photos for better understanding. However, most articles will still require further independent study.

Here are some of the technologies that will be involved in my material:

  • Virtualization and Containers / Proxmox VE / Docker / Portainer
  • Linux Ubuntu / Command Line
  • Networking / Domains / Firewall
  • Cloudflare Tunnels
  • Programming in Javascript and CSS
  • Google Services (Analytics / Search / AdSense)

Hosting, Installation, and Blog Configuration

The first publication in this series addresses hosting but also explains the choice and compares Ghost with WordPress. It serves as a light introduction to what will come later.

Where to host a personal blog - Ghost?
Hello. Since I became interested in the homelab topic, I’ve had a desire to create my own website and host it myself. However, the deeper I delved into the information terrain, the more I discovered interesting services that I could self-host, including blogs. Therefore, to save time, I decided not

Foundation

The next two articles aim to provide a step-by-step guide on how to set up a blog at home. These are very technical instructions that will also refer to other posts by me and beyond. These two articles can be considered the foundation of this entire collection.

Self-Hosting Your Blog: Hardware and Containers (Part 1) - Ghost
Introduction This article provides a step-by-step guide on how to launch a Ghost blog at home using a Proxmox VE server installed on a mini server. In the first part, we will look at the hardware and the preparation of the container. In the second part, we will go through
Self-Hosting Your Blog: Installation and Setup (Part 2) - Ghost
Introduction Hello. In the previous part, we worked on the foundation for our blog, specifically: * Chose the hardware * Installed Proxmox VE * Prepared an LXC container with Linux Ubuntu 23.10 All of this is detailed here: Self-Hosting Your Blog: Hardware and Containers (Part 1) - GhostIntroduction This article provides a

Supplementary

These publications are used during the blog installation process. While they are not directly related to the Ghost blog, they are essential for getting it up and running. So, if you are interested in the topic of blog hosting in any way, these articles can help you with some issues. I especially recommend reading about Cloudflare tunnels.

How to buy your own domain?
Introduction Sooner or later, every IT professional faces the question of hosting their service in the public space. This is only possible by acquiring a domain name and linking it to a server. In this short article, I will guide you step-by-step through the process of purchasing a domain name
The fastest installation of Docker and Portainer on Proxmox VE
Introduction Hello. Let’s call this the foundation of foundations, because I see that I will refer to this guide more than once. Virtualization and containerization go hand in hand in #homelabbing. I constantly see how these things closely intersect in practical tasks. For ease of understanding, I’ll draw you a
How to use Cloudflare Zero Trust Tunnels to expose private self-hosted services to the internet
Introduction Before we begin, it would be helpful to explain in simple terms what we are going to do. Imagine you have a home server and have launched your website or blog on it. It’s only accessible within your local network, but you want to share it with friends or

Initial Setup

Every public site needs to be promoted in search engines, and to monitor its performance, analytics should be collected. The first thing I did, and recommend you do as well, is to integrate Google services.

SEO and more - first steps - Ghost
Intro The steps described below apply to practically every public website. And the sooner it’s done, the better. As soon as your website, or in this case, my blog running on the Ghost platform, is launched and available on the internet, you need to make it visible in search engines,

And a bit more detail on how to enable Google AdSense advertising

How to launch AdSense advertising?
Using my own experience, I’ll explain how to successfully set up and launch advertising on the pages of your blog. Connection Of course, it all starts with setting up your AdSense account and connecting it to your website. The next step may be working with the Ads.txt file if
Setting Up AdSense Auto Ads: A Step-by-Step Guide
Explore the delicate balance of website advertising with our comprehensive guide on Google AdSense. Discover effective settings, strategies to enhance user experience, and tips for maximizing revenue without compromising content quality

Customization

Below, I describe what I have already done on my blog. All these articles are about improving either the appearance or functionality of the blog. You may not need everything, but I strongly recommend adding a Table of Contents component and implementing code syntax highlighting if you plan to publish technical posts.

Tags

As someone who values structured data, I have slightly improved the appearance of tags to my taste. I wanted to make the entire list visible, not just the first one, as I use them myself.

How to show post tags - Ghost
Starting work on my own blog, I noticed that my theme’s source on the publication page displays only the first tag, not all the ones I selected when writing. And from the very first post, the idea came to mind to eventually retrieve all the tags and display them. That’s
Styling of tags - Ghost
Hello. Last time we edited the theme files of our blog to display all tags of a publication instead of just one, as it was before. How to show post tags - GhostStarting work on my own blog, I noticed that my theme’s source on the publication page displays

Code Snippets

Here, I will explain how to integrate Prism so that code snippets look nice. No one likes a bunch of gray, unreadable code.

Code Snippets Style - Ghost
Introduction Hello. There have been pieces of code in several of my posts that appear quite dull against the background of other content, and unattractive compared to any other site where there is at least some code highlighting. Today we will fix that. The Ghost blog supports code, but I

Table of Contents or TOC

Two articles about how I wrote a component that automatically builds the Table of Contents for your posts. You can see its functionality in almost every one of my publications.

In the first part, we will explore the problem in more detail, examine alternative solutions, and develop our own component based on the idea. I will also explain how to use it.

Automatic Table of Contents (TOC) for your blog - Ghost
🤟The table of contents of this publication was automatically generated using the solution described below Introduction As I added more and more posts to my blog, I began to realize just how much I was missing something as simple as a table of contents. The Ghost blogging platform doesn’t have

In the second part, we will significantly improve it and simplify its use. The second version of the component builds a multi-level Table of Contents.

Table of Contents (TOC) v2 for your blog - Ghost
❗UPD 05/25/2024: The gist was updated an now it fully supports multi-level h2...h6 tags❗UPD 08/15/2024: Fixed the issue which you may saw in the browser console: TypeError: Cannot read properties of null (reading ‘appendChild’) at TOC.onLoad Introduction Hello. Using the previous version, I

By the way, the second version can be adapted not only for Ghost.

The Writer’s Arsenal

How to Optimize Images
Discover how to significantly reduce image file sizes for your blog or website without sacrificing quality. This guide covers essential steps, from converting to WebP to resizing and compressing images, turning a 7.1 MB file into just 95 KB, enhancing your site’s performance effortlessly.
Page Speed Optimization - PageSpeed Insights
In this article, I share my experience optimizing my Ghost blog’s performance using PageSpeed Insights. Discover practical tips on image optimization to enhance loading speeds and improve SEO, ultimately boosting user experience and search rankings.

Integrations

All official integrations can be found here.

Ghost integrations – official apps, plugins & tools
Ghost plugins, tools & apps to integrate with your Ghost site for automation, analytics, marketing, support and much more! 👉

Conclusion

This collection was written alongside the development of my own (this very) blog. Each step and improvement was made by me, sometimes several times. While using the blog and continuing to write articles, I paid attention to how convenient it was for me, the overall appearance, and the user experience. My personal understanding informs the solutions, technology choices, and their necessity.

I want everyone who wishes to create to have the ability to easily, affordably, and securely run their own blog. That’s why I’m sharing my experience, organized into a series of posts. I dream of providing a tool that will launch a blog with one click for free, but for now, I have only this path, which I am walking together with you.

I hope you found a lot of interesting and useful information here. Based on the stage you’re at, I’ve grouped all the articles into logical sections.

😎
If you have successfully launched your own blog, please share it with me on any social media platform so I can celebrate your success as well. You can find my contact information here: https://lavr.site/about-me/

I wish everyone a peaceful sky!

Read more