Complete Beginners Guide To Creating A Ghost Powered Blog
4.7 (11 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,121 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Complete Beginners Guide To Creating A Ghost Powered Blog to your Wishlist.

Add to Wishlist

Complete Beginners Guide To Creating A Ghost Powered Blog

Learn how to create your own blog using Ghost, an an open source WordPress alternative. You can be blogging in no time!
4.7 (11 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,121 students enrolled
Created by Ted LeRoy
Last updated 9/2017
Current price: $12 Original price: $105 Discount: 89% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • 5 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • What a blog is.
  • Choosing a blog topic.
  • Whether Ghost is right for your needs.
  • How Ghost is different from alternatives.
  • How to create a free introductory account.
  • How to start your own blog using the Ghost platform.
  • How to create a new blog post in Ghost.
  • How to format text in Ghost.
  • How to add links to relevant resources in Ghost.
  • How to add graphics to your blogs.
  • Themes - Overview
  • Themes - Changing Your Theme
  • Ghost SE0
  • Ghost vs. WordPress for SEO
  • How to obtain a domain name for your blog.
  • How to assign your domain name to your Ghost blog.
  • Google Analytics - Overview
  • Google Analytics - Useful Features
  • Google Analytics - Creating an Account
  • Google Analytics - Adding Google Tracking Code to Your Blog
  • Disqus Comments - Creating an Account
  • Disqus Comments - Embed Code
  • Disqus Comments - Uploading Folder
  • Disqus Comments - Moderating Comments
View Curriculum
  • Basic computer skills (use of keyboard & mouse).
  • The desire to write about something you're knowledgable about or have a passion for.

Ghost is an open source, easy to learn alternative to WordPress for creating blogs. 

If you're a writer looking for a way to express yourself, Ghost is for you. You'll be able to focus on your writing, not on learning how to use a complex Content Management System (CMS) like WordPress.

You should take this course if you want to create a blog, but you are intimidated by WordPress or heavier Content Management Systems.

At the end of this course, you will be able to take advantage of Ghost's features to produce a great looking, high quality blog, and posts to your blog.

Topics covered include:

  • What a blog is
  • Choosing a topic
  • When Ghost is the right blogging tool for you
  • When you may want to use a tool other than Ghost
  • Creating a free Introductory account at Ghost
  • Introduction to the Ghost User Interface (UI)
  • Getting started with Ghost
  • What Themes are
  • Where to get free or paid themes
  • Ghost Search Engine Optimization (SEO)
  • Ghost vs. WordPress for SEO
  • How to change the look and feel of your blog by changing Themes
  • Using Markdown for formatting
  • Adding content
  • Adding links
  • Adding images
  • Using Imgbb for images
  • Why you should purchase your own Domain Name
  • How to add your Domain Name to your Ghost blog
  • Google Analytics - What they are
  • Google Analytics - Creating an account
  • Google Analytics - Adding to your blog
  • Disqus Comments - Creating an account
  • Disqus Comments - Embed the Code
  • Disqus Comments - Upload the Folder

Who is the target audience?
  • You have knowledge you want to share through a blog.
  • You want a clean, simple interface for blogging.
  • You want an alternative to WordPress.
  • You want to focus on writing.
  • You have a passion, hobby, or information to share.
  • This course may NOT be for you if you're an experienced blogger on another platform you like.
  • This course may NOT be for you if you want to learn a more feature rich Content Management System.
  • This course may NOT be for you if you wan to learn how to make your blog very popular.
Compare to Other Blogging Courses
Curriculum For This Course
25 Lectures
4 Lectures 09:51

Course Introduction.

Ghost is a Content Management System or CMS designed specifically for writers who want to create blogs.

The ideal student wants to create a blog, but does not want to have to learn a cumbersome interface like WordPress.

Ted LeRoy is your instructor. He has over 18 years of IT experience and a Master's in IT from the Rochester Institute of Technology.

Like you, he wanted to create a blog, but did not want to have to spend a lot of time learning the interface.

A quick Google search for WordPress alternatives led him to Ghost.

You will learn Ghost through short, 1 to 5 minute video lessons that walk you through each concept.

Preview 02:28

Learn what a blog is.

A blog is a form of sharing on Social Media

Many forms of social media lump your writing in with that of many others making it hard to find.

Blogs can be a way to stand out from the herd.

Blogs can be:

  • More searchable
  • More detailed
  • Longer

than tweets, Facebook posts, or LinkedIn posts.

What is a Blog?

How to choose your blog topic.

  • Something you are passionate about
  • Something you can write about often

How to create a "successful" blog.

To attract an audience, a blog should:

  • Help readers solve a problem
  • Relieve some of their fears
  • Teach something new
  • Help reach a goal
  • Entertain

If there are many other blogs on your topic, find your niche.

Choosing a Blog Topic

Is Ghost right for you?

Ghost Pro's

  • Open source - Code is published for anyone to review
  • Made for writers
  • node.js based - much faster than php based sites
  • Optimized for Search Engines and Social Media sharing
  • Clean user interface
  • Real time previewing
  • Formatted using Markdown Language
  • Quick and easy to learn
  • Full time, paid developer team
  • You can see what's being worked on and what is planned for future releases
  • You can provide feedback and submit feature requests

Ghost runs on "Sustainable Open Source Development"

  • Crowd funding let Ghost hire full time developers
  • They write great software that attracts people who want to publish online
  • Many of them use the Ghost(Pro) platform which generates more revenue
  • Revenue maintains existing staff and allows for growth as needed

Ghost minuses

  • It doesn't have a lot of extra features found in some platforms
  • It isn't very good at things not directly connected with blogging

Preview 02:39

A quick review of what was covered in the Introduction lessons.

What You Learned in the Introduction
3 questions
Learning Ghost
4 Lectures 14:42

Learn how to create a free 14 day trial on

  • Browse to
  • Fill in web form (email address, name, password or passphrase)
  • Click on link in confirmation email
  • Log in to and name your blog
  • Start blogging!
Creating a Free Introductory Account

Introducing the heart of your blog, the Ghost User Interface or UI. 

  • Adding a new blog post
  • Creating a heading
  • Adding content
  • Using the preview pane to see how your post will look
  • Publishing your post
Preview 01:24

Learn to format your blog posts using Markdown.

  • Headings
  • Bulleted lists
  • Numbered lists
  • Links
  • Images
Preview 04:39

Adding images and where to store them.

In order to display an image, it should be stored on the Internet, with a link that makes it accessible.

We'll walk through creating an account on

Then learn how to upload an image to, get a link to it, then to add the link to your blog.

Adding Images

Practice your Markdown so you'll e able to use it smoothly when needed.

Markdown Practice
6 questions
Changing Your Theme
2 Lectures 06:55

Ghost Blog - Themes Overview

One thing you’ll probably want to do early on is personalize your blogs look with a Theme that fits your blog’s subject matter.

Ghost has many free and paid themes available in their marketplace. A link is provided in the additional resources for this lesson.

The Ghost Marketplace has Free and Paid themes available.

They’re both mixed together on the All Link.

You can see that, even on the All Link, some free courses are displayed if you scroll down a little.

Under Free, you can see there are many, many very professional looking Themes available.

Try to find a few you think will fit your blog subject. It’s easy to change your mind and try another if you want.

My blog is about Information Security, so I want something kind of dark and dangerous looking.

Some that catch my eye as we scroll through, slowly are, Ghost Dark, Shade, Cozy Youth, and Coder.

I’m presently using The Shell theme by Dmitry Lebedev, and will likely stick with that or something similar.

Please have a look through all of them and pick the one that suits you best. Remember, though, you can always change it if you decide to. This is just an exercise so you know what’s available to you.

In the next lesson, we’ll have a look at how dramatically changing Themes can change your blog

Themes - Changing The Look Of Your Blog

Ghost Blog - Themes - Installing A Different One

Now that you’ve found a theme you like, or maybe a few, it’s time to learn how to change Themes.

Once you’ve found one you like in the marketplace, click on it.

You’ll be taken to a GitHub repository, unless you’re getting a paid Theme. If you’re getting a paid theme, you’ll have to pay first.

At the GitHub home page for the theme, click on Clone or Download on the right.

Choose Download Zip form the pop-up.

Log into the admin interface for your blog.

Under Settings, click on General and scroll down to Themes.

Click on Upload a Theme then click in the Upload A Theme window and browse to the zipped file you downloaded above.

You should see a message that says “Upload Successful” and asking if you want to activate it now.

Click on Activate Now, then browse to your blog to see the difference the new theme makes.

If you don’t like what you see, or it’s just not the right fit for your blog, click on Activate for another theme or the default Casper Theme, delete the one you don’t want, and try with a different one.

As I change themes, notice how the entire personality of the blog changes, just from using a different theme.

The words are the same, but the feeling the blog projects can be entirely different.

That’s it! I hope you find the perfect Theme for your blog.

Themes - Changing Your Theme
Ghost Search Engine Optimization (SEO)
2 Lectures 06:04

Ghost Blog Search Engine Optimization Overview

What is Search Engine Optimization or SEO?

Let’s take a small step back and think about what Search Engines are and what they do. 

They try to search, categorize, and provide results for all of the content of the Internet! They have to categorize what’s out there and make it readily searchable in plain language searches.

Just how many web sites are out there to be scanned or “crawled” by Google and its competitors? 

Search Engine Optimization makes it easier, and arguably even possible for search engines to attempt to return relevant results to searchers.

Search Engines provide some guidance about what they look for when crawling a site.

We all try to provide what they are looking for so we’ll rank high and people will see our blog.

We’d love to make it to the first page of search results.

Ghost gives you a big boost in this process.

Many SEO features are built in and work automatically for you including:

Built-in XML sitemaps - They help Google and other search engines easily interpret your website structure while they crawl it.

Google AMP - Accelerated Mobile Pages - Pages optimized for mobile search. (These can be disabled if you desire in version 1.0)

Canonical tags - These tell search engines that a particular URL is the master copy of a page.

Optimised URL’s - URL’s contain plain language key words directly relating to the article. 

Microformats - Labels created for common elements of your content.

Facebook Open Graph tags - Tells Facebook what images, text, and more to use when sharing your page.

Support for Twitter cards - Allows attachment of rich photos, videos, and media experiences to tweets.

Clean semantic markup - Markup is done in a clean, sensible way that “makes sense” to search engines.

Mobile friendly - Displays well on mobile devices like phones and tablets.

Speed - Ghost uses json which loads much more quickly than WordPress which uses php.

All these factors contribute greatly to how your blog will be ranked by search engines.

In the next lesson, you’ll see how a default Ghost blog stacks up against a default WordPress blog.

Ghost SEO - Overview

Let’s have a look at Ghost SEO scores vs. WordPress out of the box. 

There’s a site called where you can see how your site performs against many SEO criteria.

We’ll have a look at how my default Ghost blog compares to a newly created default WordPress blog hosted on

My default Ghost site scored 83 out of 100 overall on the day of this screen capture. It is a default Ghost 0.11.10 installation running on my own Linux server.

I created a simple WordPress test blog on, and it scored 66 out of 100.

That’s a pretty dramatic difference, considering both are just default installations with no manual optimization or plugins added to either site.

SEOSiteCheckup let me run a comparison of my Ghost blog against several blogs on similar topics. Two are WordPress and one is a Blogger site.

KrebsOnSecurity runs on Wordpress. It scored 64 out of 100 with 33 checks passing. is the Blogger site and it scored 67 out of 100 and had 35 passing checks.

SecurityWeekly is the other Wordpress site. It scored 89 out of 100, with 42 passing checks, but I believe it is has had quite a bit of SEO work done to achieve that score.

My site, the only Ghost site had a score of 79 with 41 passing checks. It dropped slightly from my previous run for some reason.

The bottom line is, if you want a blog that’s ready to roll right from the start for Search Engine Optimization, Ghost is for you.




Passing Checks













Ghost SEO - Ghost vs. WordPress Comparison
Pricing and Hosting Options
1 Lecture 05:23

Ghost Hosting Options

You’re ready to dive in to creating your blog with Ghost, or already have. Now, it’s good to know your options for having your site hosted so the world can find it more permanently?

There are two fundamental ways you can keep your blog out there. 

Self-hosted, meaning you download the Ghost web application for free, but you are responsible for configuring a server to host it on, for installing Ghost, and for making it work properly.

This isn’t too difficult, provided you have some Linux Server administration experience.

The other option is a Hosted site, where you purchase resources on a provider that has a server running Ghost where you can add your blog.

If you self-host, you will:

  • Have full flexibility over your web site, server, and of course your blog.
  • Have to pay a provider to let you use a server or virtual server on their infrastructure.
  • Have to know how to install and maintain your sever.
  • Be responsible for patching, updating, and upgrading the server itself and Ghost.

If you choose a hosted site, you will:

  • Have access only through the web interface for administration.
  • Not have to worry about patching or upgrading, but about whether your provider is.
  • Not have to worry about setting up and maintaining the underlying server.
  • Be able to focus strictly on writing and managing your blog.

The table illustrates the four options we’ll explore. Three are hosted and one is self-hosted.

Ghost Hosting Options


Web Site



Total Annually

Ghost Pro



$348 if paid monthly

$228 if paid annually

run kite







$60 if paid monthly

$50 if paid annually

Digital Ocean 

self-hosted (you maintain server)



$120 (DNS Name)




Ghost Pro is hosted by, the team that created and maintains Ghost. 

It’s a bit pricier than the other options, but the extra money, above what is needed to maintain the infrastructure for hosting, goes back into Ghost’s sustainable open source development model.

Think of it as giving a $24 donation per month if you go with monthly or $14 donation per month if you choose an annual subscription.

I like Ghost and want to support John O’Nolan and his team, but that could be a little steep for most people. 

If I didn’t use self-hosting, because I like to maintain my System Administration skills, that is likely the option I would choose.

run kite is another hosted provider that is much more reasonably priced. It has a simple, flat fee of $5 per month. There is no discount for going with an annual payment plan, but $5 is pretty good.

Ghosted is also a hosted provider with services offered at $5 a month or $50 a year if paid annually.

Ghosted seemed a bit wonky to me and I wasn’t able to create a free test account there regardless of what browser I used.

The last option we’ll explore here is Digital Ocean. 

You could use a virtual machine hosted anywhere, but I like Digital Ocean because the interface and pricing are straight forward, and they have a One-click App for creating a Ghost server.

At the time I’m writing this, the version of Ghost installed on a one-click app is 0.11.11 (the latest pre version 1.0 release right now). 

I’m checking into how I can create and upload a version 1.0 based Ghost One-click App for the community to use.

If you want to use one of the hosted Ghost sites, you just create your account on the respective site.

I recommend a free-trial where available, so you can see how you like the options you’re interested in trying before you commit to paying.

If you like it, and sign up for paid service, you’ll later want to follow the DNS related lessons, What’s in a Name? and Adding Your Domain Name to Your Ghost Blog, to get your Domain Name applied to your Hosted account.

The steps for adding your domain name to your blog are similar for a DigitalOcean hosted blog.

The set-up steps, however, are quite different, so we’ll be covering installation of a DigitalOcean Ghost server in the next lesson.

Preview 05:23
Personalizing With Your Own Domain Name
2 Lectures 09:39

Naming your blog is important.

  • Why purchase a name for your account?
    • hosted sites are many.
    • They're harder to remember.
    • They don't help you with branding your blog.
  • What is DNS?
    • DNS stands for Domain Name System
    • It lets people use people friendly domain names like
    • It lets computers use IP Addresses.
    • It tells computers the IP Addresses for Domains.
  • Registering a domain on
    • Go to
    • Search for the domain name you want.
    • If it's available, create an account.
    • If it's not available, pick one of the suggestions or try a new name and search again.
    • Pay for your domain ($14.90 for the domain I purchased).
    • Click on the verification link in the email you provided.
    • Make sure you can manage your site.
What's in a Name?

You've purchased your very own domain. Now you'll learn how to add it to your Ghost blog.

  • What is a domain name?
  • Root domain vs. subdomain.
  • Assigning a subdomain to your blog.
    • Adding the reference to ghost in
    • Letting know it will receive traffic to your domain.
  • Testing that everything works.
Adding Your Domain Name to Your Blog
Google Analytics
4 Lectures 10:48

In this lesson, we’re going to talk about Google Analytics.

Google Analytics lets you see valuable information regarding how users get to your blog, and what they do when they’re on your site.

This lets you know what works, and what doesn’t on your blog.

As we’ll see, it’s worth the effort to add analytics so you can tune your content to provide what your readers are really interested in.

Adding Google Analytics will be covered in four parts:

  • Useful Features of Google Analytics
  • Adding an Account on Google.
  • Setting your blog up as Analytics Property.
  • Adding the Tracking Code to your blog.

A Google search for ghost google analytics should bring up the Ghost help page I’m using as a guide for these lessons.

Google Analytics - Overview

Let’s have a deeper look at what Google Analytics can do for us.

Although Google Analytics has paid services, everything we look at in this lesson is free.

The Home page of your Google Analytics account has a dashboard with the following sections by default:

  • A 7 Day Overview Graph
  • How you acquire users (Direct, Organic Search, Referral, or Other).
  • How your active users are trending over time, 
  • How well you retain users.
  • When your users visit (times of day and days of week), 
  • where they are geographically, 
  • top devices they use to connect.
  • And what pages your users visit.

You can get more detail on each of the areas Google Analytics collects data on using the menu on the left.

You can see the following Report headings:

  • Real-time
  • Audience
  • Acquisition
  • Behavior
  • and Conversions

Real-time reporting shows what people are doing if connected when you are looking at this page.

You can see I had one user connected to my blog from Canada. Guess who that was? Me!

Next is Audience. You can see statistics surrounding that languages are spoken by your visitors, what Country and City they are connecting from, what browser and operating system they are using, and whether they’re using a mobile device.

Under Acquisition, we can see what percentage of our traffic is from Directly typing our address into a browser, what comes from Organic Search, such as your blog appearing in a search engine query, and what comes through Referrals or links to your blog by other parties.

Behavior shows what users do when they’re on your blog site. Do they come in through the top level page or root and click through links, or make their way via a popular blog post coming up on a search engine? Then, do they navigate to other pages? How long do they stay? What pages do they spend the most time on?

There’s also a useful flow diagram available here. It shows what users from which geographic regions follow a particular path navigating your site, for example.

Next is Conversions. I don’t do much with this because the goal with my blog isn’t around making money. If yours is, you can find many tools here to let you know what users are doing surrounding purchases.

This is just a super high level view of some of the useful information available. An entire course could easily be made surrounding Google Analytics. All that I’ve shown here is available to you for free!

This is why I encourage you to add Google Analytics to your Blog. 

Google Analytics - Deeper Look

In this lesson, we’ll cover creating an account on, and adding Google Analytics to that account.

If you already have a Google account, you can skip to adding Analytics to your account. 

If you don’t have one yet, do the following.

Browse to, and click Sign In in the upper right.

In the Sign in screen, click More options.

From the More Options pop-up menu, select Create Account.

Fill in your First and Last Name, username, (I chose to use an external email address for mine), password, password confirmation, Birthday, Gender, Mobile phone, and location, then click Next Step in the lower right.

Check out as much detail of the Privacy and Terms as you’re comfortable with, then click I Agree if you agree and continue.

You’ll be prompted to verify your account using a link delivered to the email address you provided.

Open your email, find the one from Google titled Google Email Verification, and click on the activation link to verify your email address.

In the Welcome screen, click Continue.

Go to the address bar and type and hit Enter.

In the upper right of the Google Analytics Solutions Screen, click Sign In.

Choose Analytics from the top of the pop-up menu.

Click Sign up on the right of the Accounts screen.

Create an Account Name under Setting up your account.

Enter the Website name. It’s easiest if that matches the name displayed when someone browses to your blog’s main page.

In the Website URL dialogue box, enter the name of your blog site, without the http:// or https://. for this example. 

Search through the Industry Categories and select the one that fits your blog the best.

I chose Online Communities.

Choose your Country and Time Zone.

Unless you have a reason to un-check anything, leave the boxes checked under data sharing options.

Click Get Tracking ID.

Look through the Google Analytics Terms of Service Agreement and click I Accept to continue.

You’ll be using the code under Website tracking in the next lesson.

Google Analytics - Creating An Account

Now that we’ve created a Google Analytics account and added our site, it’s time to get the Tracking Code and add it to our blog.

Log into your Google Analytics account and click on Admin in the lower left.

Under Property, click on .js Tracking Info

Select Tracking Code in the menu.

Scroll down to Website tracking, and highlight all of the code between the script tags.

Right click the selected code and choose copy from the menu.

Back to our Ghost blog.

Browse to the admin page of your blog. here.

From the menu on the left, click on Code Injection.

The Code Injection configuration lets us inject code into the header or footer of each of our web pages right from the admin console.

In Blog Header, paste the code you copied from Google Analytics.

Click Save in the upper right.

Browse to one of your blog pages to generate some traffic.

According to Google Analytics, the real time functions should work immediately, but it is my experience that it can take some time.

I recommend waiting, then checking the next day (after about 24 hours) to see if it’s working unless you’re in a big hurry.

After 24 hours, you can see that I had two hits from the day before under Audience, Overview.

So what did we just do?

When we created our Google Analytics account and added our Ghost site, Google generated a unique ID for us to use.

The code between the script tags collects the data for Google as the users browse our blog.

The unique ID lets Google store the information with our account.

That’s it for Google Analytics. Enjoy checking out all the information Google collects for you.

Preview 02:33
Disqus Comments
6 Lectures 21:17

When you see a blog post that stirs thoughts or an opinion, you probably want to interact with the person posting. You usually do that, in a blog, via comments.

Ghost does not provide this functionality natively, but you can add them through a third party called Disqus. 

There are other options, but this one is well documented by Ghost and supported by Disqus, so we’ll use it.

Some reasons to add comment capability are:

  • Enables your readers to tell you what they think of your posts, for better or worse.
  • You can reply to their comments, clarifying your thoughts.
  • Google will rank your blog more highly if it sees interaction with your readers and frequent changes to your posts (Search Engine Optimization).
  • It increases the credibility of your blog. People can see what your readers or peers think of your posts.

Bear in mind, if your blog becomes popular, you will be spending some time moderating comments once you add them to your blog.

To add Disqus comments, go to and create a login.

Under Create a new site, select a category. I chose Tech.

Click Customize URL.

In the Website Name field, enter the web site url.

Leave the short name field.

Click on Create Site.

Select a plan that suits your needs. I strongly recommend one of the free options. Either Basic, or Non-Commercial.

I chose Non-Commercial.

Click on Ghost in the next screen to see the setup instructions for Ghost.

Click on Copy Universal Embed Code, highlight all of the embed code and copy it to your clip board.

In the next lesson, we’ll see how to edit the post.hbs file, adding the embed code to it.

Disqus Comments - Create an account.

In the last lesson, we set up a Disqus account and learned how to obtain the code needed to add comments to our blog.

Now, we have to add the code to the post.hbs file.

A few words on the post.hbs file.

.hbs is the extension for handlebars files. Handlebars.js is the language used to create templates for Ghost. 

The post.hbs file controls the look of posts in your blog.

Adding the Disqus comment code to that file will result in comments being displayed for each post.

According to Ghost’s help page on adding Disqus comments to our Ghost blog, we’re supposed to find the post.hbs file in a particular directory:


What? How can we do that? We don’t have access to the server to be able to edit the file.

We can do this on our hosted blog by downloading the theme to our computer, making a copy of the file, editing it, then uploading it back to our blog.

Go to the management interface for your blog.

Click on General on the left, and scroll down to Themes on the right.

Where you see your current theme, called Casper, click Download.

A copy of the folder should appear in your Downloads folder.

I recommend you copy that entire folder called Casper, and all of its contents to another location, like your Documents folder, so you can work on the file, but have a clean copy in your Downloads folder to return to if you need an unedited copy of the file.

To edit the post.hbs file, you’ll want to use a text editor. You can use any, but I recommend downloading a free editor designed for programming. Here are some options:

















You could try TextPad, Notepad++, or Atom if you’re running Windows.

You could use Vim or Atom for Linux, or

You could use jEdit, Vim or Atom for MAC.

While you can use any editor, such as notepad for Windows, I recommend against using word processing software like Microsoft Word for this, as it could use a different scheme for encoding things like hard returns, which could cause issues when you save your changes.

I’ll be using Atom for MAC.

Browse to your copy of the Casper theme downloaded earlier.

Right click and select “Open With” then the editor of your choice.

Alternatively, you could open your editor, browse to the file, then double-click to edit it.

With post.hbs open in your editor, scroll down to just above the close article tag. That’s </article>.

With the cursor above the close article tag, paste the Universal Embed Code from the Disqus configuration page.

Now, we’ll add the Recommended Configuration Variables from the Ghost help page.

Browse to the Ghost help file for adding Disqus to your blog (a link is provided in the downloadable resources for this lesson).

Highlight the Recommended Configuration Variables and copy them to your clipboard.

Back in your text editor, find the comments that say Recommended Configuration Variables and highlight the existing variables.

Paste the correct values over the old.

Uncomment the configuration variables by deleting the slash asterisk before and asterisk slash after.

Finally, save your file.

In the next lesson, we’ll cover zipping your modified theme and uploading your edited file to the server.

Disqus Comments - Embed code.

In the last lesson, you learned how to make the necessary edits to the post.hbs file. Now, you’ll see how to upload the modified file to your Ghost blog.

In your file manager of choice, browse to the folder containing the modified post.hbs file.

Right click on the file and select compress or zip, depending on your operating system.

I recommend renaming the .zip file, Casper in this case, to something more meaningful, like Casper-w-Disqus.

You will not be able to overwrite the default Casper theme, if that’s what you’re using, so you’ll have to select a different name to upload the file.

In a web browser, go to the admin interface for your blog. Click on General, and scroll down to Themes.

Click on Upload A Theme.

Drag your .zip file or browse to it and select it for upload.

You will be prompted to make the new theme active. Click on Activate Now to activate the new theme.

Click on Save in the upper right.

That’s it!

In the next lesson, you’ll learn how to make sure comments are installed and working correctly and troubleshoot any issues you may have.

Disqus Comments - Upload Folder

Disqus Comments - Testing and Troubleshooting

Now that you’ve added the code to the post.hbs file and uploaded it to the Ghost server, it’s time to make sure everything’s working.

Let's start with the basics. 

Let’s make sure comments show up on your posts and are working properly.

1. Can You See The Comments Section?

In a web browser, bring up your blog as a reader will see it (not the Admin interface).

Click on the link to one of your posts.

Scroll down to the bottom and make sure the comments section is present.

If it is, open another post and make sure it is also present there.

If not, try checking the following.

In the Admin interface, go to General, scroll down to Themes, and make sure your modified theme is there and is Active. Click on Save in the upper right to make sure your changes are saved.

Refresh your post to see if comments now show up.

If not, click on Download for the active, modified profile (this way you’ll be sure the one active on the server is the one you’re working with).

Open the post.hbs file you downloaded in your text editor and make sure all of your code is between the </footer> and </article> tags. (You may be able to insert the code into other sections, but I know this location works.

Review the lesson titled Disqus Comments - Create an account. That is presently Lesson 15, but the number order may change as the course evolves.

Following the lesson, make sure your settings in the account setup for Disqus are correct, and re-download the Universal Embed Code if you found any errors.

Follow the steps in the previous Disqus related lessons to insert the code again and try re-uploading, then activating.

If this doesn’t work, please post a comment in the course, and I’ll help as soon as I can, or contact Ghost support.

2. Test Functionality

Go to one of your posts as a user, and enter a comment. Make sure you’re allowed to do so (once you register) and make sure it appears as it should under the post.

Browse to another post and make sure your comment only showed up in the post in which you entered it, not in all posts.

If it shows up in all posts, there is likely a problem with your Recommended Configuration Variables.

They should look exactly like this:

var disqus_config = function () { = '{‌{url absolute="true"}}'; = '{‌{comment_id}}';


You can get the latest Recommended Configuration Variables from the link provided in the additional resources for this lesson.

Make sure the Recommended Configuration Variables are uncommented (remove the /* and */ that surrounded the Recommended Configuration Variables.

If you’re using a free custom theme, try switching to Casper, and putting all of your code into the right location there. If that works, the problem lies with your custom theme and you’ll have to work with its creator to identify and fix the issue.

I did use the custom, free theme called “The Shell” and I had to remove some legacy code to get it working.

Hopefully, you’re up and running with Disqus. If not, please post a question in the course or reach out to the Ghost support team.

Next lesson is moderating Disqus comments.

Disqus Comments - Testing and Troubleshooting

Disqus Comments - Adding a Comment Policy

Let’s create a Comments Policy your readers can follow to know what’s allowed in comments on your blog.

In order to have your readers comply with your comment policy, you have to have one.

The policy will set the tone of what is and isn’t allowed on your site. Abusers cannot claim they didn’t know your policy.

Don’t worry, it’s not hard and will only take a few minutes.

There are many ways you could go about this, but I found this the simplest for me.

I created a static post on my blog called Comment Policy, and put my policy there. You can do the same. 

We’ll then place the link to the policy in the Disqus Admin interface to make Disqus aware of our policy.

Let’s get started.

Go to the admin interface for your blog. (<yourblogname>/ghost).

Log in.

Create a post with your comment policy.

My policy and some links to Disqus’ recommendations are in the additional resources for this lesson if you need any ideas for creating your policy.

Once the policy is created, make it a Static Page by clicking on the Gear icon in the upper right, scrolling down, and checking the box next to “Static Page”.

Open your static policy page in a browser, highlight the URL, and copy it to your clipboard.

Browse to your Disqus Admin page.

Click on General and scroll down to the Comment Policy section.

Enter the URL to your comment policy copied earlier.

Enter a high level description of your policy.

Click on Save.

As always, test to make sure it’s working.

Go back to your blog, scroll to the comments, and make sure the new comments policy section is visible.

Make sure the link to your policy works as well.

That’s it!

Disqus Comments - Create a Policy

Adding Discus Comments - Moderating Comments

An important part of adding comments to your blog, is moderating them.

Once your site gets popular, you’ll have to protect your readers and your site from:

  • Spammers
  • Flamers
  • Trolls
  • and unruly behaviour (people using foul language or violating your policy).

Spammers, like those using email spam, want to attract your readers to their site, sell their stuff, or sell someone else’s stuff as an affiliate. 

Spammers detract from your readers experience and make your readers angry or drive them elsewhere.

Flamers want to argue about a topic. Trolls want to argue about anything and don’t really care about the topic. Both are unwelcome and must be stopped.

Abuse could include use of foul language, or personal attacks, both of which harm your readers experience.

Sharing opinions, however, should be allowed. Not everyone will agree with your posts or with the comments made by other readers. This doesn’t mean the commenter is wrong or that open conversation should be squashed.

As site owner and moderator, you make the call. When dealing with someone who simply disagrees with you, it is probably best to hear them out and let your readers weigh in. You may be convinced that another point of view has merit.

Let’s check out how spam might look in the Disqus moderator interface.

I make a simulated spam message on my web page. One key indicator of spam is a link in the message.

Go to the Disqus Admin console.

Click on Moderate Comments.

Check under the spam tab, as there may be comments already tagged as spam.

Ours wasn’t there, so click on All.

My fake spam message was flagged as having a link in it.

Select the offending post, and click on spam.

Click OK.

Back on our site, notice that the spam post has not been removed. 

We only flagged it as spam to help Disqus tune its algorithm.

Now, we can delete the post in the admin interface. 

Back on our blog post, we see the comment has been removed.

One step I recommend that can help protect your readers from spam is to require approval for comments containing links.

That means, if someone tries to post a comment containing a link, it will not show up until it is approved by a moderator.

To do this, click on Community. Scroll down to Links in Comments. Check the box saying Comments containing links must be approved before they are published.

I also check the box next to Flagged Comments saying to Email moderators when a post has been flagged.

Scroll to the bottom and click on Save.

These changes mean you’ll want to check your Disqus Admin console daily, if possible, to ensure valid posts with links are flowing, and spam is deleted.

Give your readers the best experience possible.

Disqus Comments - Moderating
About the Instructor
Ted LeRoy
4.7 Average rating
11 Reviews
1,121 Students
1 Course
Enterprise Security Architect and Instructor

Ted LeRoy is an Enterprise Security Architect, providing a variety of information and physical security guidance to his business.

He has 18 years in Information Technology and experience in Windows and Linux administration, web server and email administration, and network administration with Cisco and Juniper devices.

He is an experienced IT and Security professional with a broad range of skills. A favorite part of IT and Security work for him is relating complex topics in a way that is instructive, helpful, and appropriate for the audience he is addressing.

Ted is an open source advocate where open source provides an appropriate solution for a given need.

He completed a Master of Science Degree in Information Technology from the Rochester Institute of Technology.

Information Technology certifications include Microsoft Certified Systems Engineer (MCSE), Certified Information Systems Security Professional (CISSP), and Certified Information Security Manager (CISM).