
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.
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:
than tweets, Facebook posts, or LinkedIn posts.
How to choose your blog topic.
How to create a "successful" blog.
To attract an audience, a blog should:
If there are many other blogs on your topic, find your niche.
Is Ghost right for you?
Ghost Pro's
Ghost runs on "Sustainable Open Source Development"
Ghost minuses
Since making the previous lesson, "Is Ghost Right For You?", the Ghost team has added several features. This lesson brings the course up to date and provides further information to help guide your decision about whether Ghost is the best platform for you.
Audience Feedback
Member Growth Sources
Update Links in Email Newsletters
Newsletter Click Analytics
Free Trials of Premium Content
Native Search
Membership Tiers
Integrated Membership Sign-up
Upgraded Editor
Audience Feedback
Readers who choose to sign up for membership can now leave comments on your blog posts! This is a big deal. This was a pain to implement before as it required integration with a third party application. Now, you can enable it with a mouse click!
Member Growth Sources
Using new, built-in analytics, you can see which of your articles most engage your readers so you can focus your blog, making it more useful to your content consumers.
Update Links in Email Newsletters
Have you ever sent out a broken link in a newsletter or promotional email? If you haven't yet, you probably will at some point. Ghost lets you update links, even in emails that have been already sent!
Newsletter Click Analytics
When you send out newsletters, Ghost lets you see what happened with your content. See what percentage of your readers clicked on your links.
Free Trials of Premium Content
You can set up paid and premium content and provide free trials for a length of time you determine. Let your readers see what they'll get if they go for your premium tier.
Native Search
Your readers can now search your blog using Ghost's integrated search functionality.
Membership Tiers
Let your readers choose from tiers of membership with different pricing and benefits, like Bronze, Silver, and Gold levels.
Integrated Membership Sign-up
Start building your email contact list by enabling integrated membership sign-up. One click and you're accepting new members.
Upgraded Editor
Although you can continue using Markdown Language if you prefer, the Ghost editor no longer requires it. The upgraded editor is sleek but powerful, more akin to a modern word processor than the old markdown interface was.
Ghost continues to add features that make it easy for you to quickly publish content and monetize your site.
Learn how to create a free 14 day trial on ghost.io.
Introducing the Ghost User Interface
Ghost is a Content Management System or CMS designed with writers in mind. Its focus is writing. You interact with Ghost through the Ghost User Interface or Ghost UI.
If you’ve just created your free trial account and logged into it, you’ll see Ghost’s setup page. It’s super easy to get started. You can click on “Write your first post”, “Customize your site”, “Import members”, or “Explore Ghost admin” to get started.
Since we’re here to write, click on “Write your first post”. We’ll go over the other available options in upcoming lessons.
If you’ve navigated away from the initial setup page and would like to get back, you can just append /ghost/#/setup/done to the URL in your browser when you’re on your site:
https://theos-udemy-course.ghost.io/ghost/#/setup/done
You can see how clean the user interface is. There’s a place for a title, you can add a feature image, and a place to write.
It looks almost too clean. How do you see any of the tools that help you make your posts more interesting?
If you highlight some text, there’s a tool menu that pops up over the highlighted text.
There are tools for Bold, Italic, Large Heading, Second Level Heading, Quote, Link, and Snip.
Just highlight the text you’re working on and click on the tool you’d like to use.
Make the text bold, or italic. Create a top or second level heading from your selected text. Make it a quote (grabs whole sentence). Create a link by choosing link, pasting in the URL, and hitting Enter.
When you’re done, you can click Preview. If the preview that comes up looks good to you, click Publish. You can schedule the publishing of the article, or leave “Right now” selected and click Continue, final review. Click on “Publish post right now” and it will be up! Your new post is visible to the world.
That’s how easy it is to write using Ghost, and a key reason why Ghost is a great platform for writers.
In upcoming lessons, we’ll cover other elements of the Ghost platform and the Ghost Admin interface.
Good job!
Ghost Blog - Learning Ghost - Customize Your Site
Now that you understand how easy it is to publish a new post or article, let’s look at customizing your site. Give it a look that fits you and the topic of your blog!
If you’re no longer on the setup page, you can get back by appending /ghost/#/setup/done to your web site URL.
Click on “Customize your site.”
Click on Design.
Click on Brand.
Here you can change the site description. Just type your new description in the text box if you want to change it.
You can also choose your accent color, which is the primary color used in your publication theme, you publication icon which should be 60x60 pixels, your publication logo which should be 600x72 pixels, and your publication cover which is a large background image for your site.
Click on Brand again to collapse that menu.
Now click on site-wide to see your site-wide options.
Here you can set your cover logo location, selecting on cover, in the middle, or stacked.
You can choose the title font. I much prefer sans-serif which is default.
You can choose the body font which is elegant serif by default.
And you can change your color scheme. I didn’t see much difference between the options, but our site is pretty empty at this point.
Click on site-wide to collapse that menu then click on Homepage.
Here you can choose to show the publication cover. I find the site much more attractive with this selected.
Choose your header style and feed layout.
Collapse Homepage then click on Post.
Here, I liked the defaults of Wide and kept the email sign up text at the default of “Sign up for more like this.” I also left “Show recent posts footer” selected.
All the customization available here is nothing compared to how you can manage your look by changing themes. We’ll cover that next.
Ghost Blog - Learning Ghost - Changing Themes
The settings reviewed in the last lesson are important for the branding of your site. You can choose a color scheme and site logo’s. After that the most noticeable change comes from choosing from among the many free and paid themes available for your new Ghost blog.
Changing themes is covered in this lesson.
To change your theme, from your dashboard page, click the Gear icon at the bottom left of your Admin Interface to open the settings page.
If you’re wondering how to get to your dashboard, navigate to your site name /ghost.
For me, that is https://theos-udemy-course.ghost.io/ghost.
This should bring you to your dashboard page after you log in.
Now, click on the Gear to open settings.
Click on Design in the WEBSITE section.
In the lower left, click on the circular arrows next to “Change theme.”
A theme called Casper is the default and it has ACTIVE in green to the lower right of the theme in the available themes screen.
Other free options you can activate with a mouse click are:
Headline for news sites
Edition for newsletters
Solo for blogs
Dope for an online magazine
Wave for podcasts
Edge for photography
Ease for documentation
There are others for most types. We’re just highlighting the main types available here.
There’s also the Ghost Marketplace if you click the link in the lower right.
You can see there are many types available at prices ranging from free to over $100.
The only type that wasn’t covered by the free Ghost supported themes that’s available here is the Portfolio.
Going back to the themes built into Ghost, let’s see what our site will look like with a different theme. Click on Headline then in the upper right, click on “Use Headline”.
In the “Install theme” window that opens, click on Install.
This will install and activate the theme.
Don’t worry, if you don’t like it, it’s just as easy to revert back to Casper or to choose a different theme.
That’s how quick and easy it is to change your theme!
My suggestion is to choose a style that fits the purpose of your site and one that gets a feel you like across.
Ghost Blog - Learning Ghost - Importing Members
Continuing on with the suggested Setup tasks, we’ll look at importing members.
Remember, to get back to the setup screen, just append /#/setup/done to your site name.
I don’t have any members to import, but we’ll have a quick look at the process in case you have any.
Click on “Import members.”
In the Import members window that pops up, click on “download a sample CSV file.”
A CSV file is a Comma Separated Value file which can be used kind of like a spread sheet, and can be opened in spreadsheet programs like Microsoft Excel or Apple Numbers.
The file we download will tell us what fields Ghost looks for to populate your user list.
Click on “Learn more” to bring up the help page for importing.
You could import from platforms like Mailchimp, Substack, or Pareon.
According to the help page, the only required field is the email address. I suspect your emails will look better if you also have at least a name though.
Opening the downloaded file, we can see that Ghost accommodates the following fields:
email - Member’s email address
name - Member’s name
note - I suspect this can be blank
subscribed_to_emails - TRUE if the member opted in to receiving emails
stripe_customer_id - The member’s stripe ID if a paying customer who uses stripe
complilmentary_plan - TRUE for users who don’t have to pay a membership fee. FALSE if they pay.
created_at - date and time member was created
If you open and populate this, you’ll want to be sure you save it back as a .csv file type before you upload it to Ghost.
I’m opening this in Apple Numbers, but it should be a similar process regardless of what spreadsheet software you use.
We’ll add an email address.
We populated email, name, subscribed_to_emails (TRUE), and complimentary_plan_FALSE and left note, labels, and created_at empty.
Save the file. In Numbers, I had to select Export to save as a .csv file.
Locate the file wherever you saved it and drag and drip it into the “Select or drip a CSV file” window.
In the window that comes up, click on import members. Your new members are now added!
That’s it for adding members!
Ghost Blog - Learning Ghost - Ghost Admin Overview
The last thing we’ll have a look at in this introductory section is the Ghost Administrative interface.
From the Ghost Setup page click on Explore Ghost admin.
This will take you to your Dashboard, which isn’t very exciting right now. I have the two members I imported in the last lesson, and not much else to look at.
The dashboard has a membership graph, a Top sources section, Engagement, Recent posts and Member activity, and some Ghost Resources.
The membership graph is self explanatory and shows you how you’re progressing in getting sign-ups.
Top sources will show you how members found your site. Being referred by Google Search is one example.
Engagement will show you trends in how much your readers are interacting with your site.
Recent posts will show you some statistics on how many members open links to your posts in email announcements or promotions.
Member activity will tell you what membership happenings have gone on.
These things taken together will help you determine what topics generate the most interest, and can guide you in what future posts your readers may find useful.
Other things we can do in the Admin panel are View site, Explore, manage Posts, add Pages, refine tags, and manage Members.
View site lets you check out how the site will look in a web browser.
Explore takes you out to high traffic blogs that may be of interest.
Posts lets you create Drafts, then Schedule or Publish them.
Pages lets you create or modify any web pages you may want on your blog. “An About this site” page is created for you by Ghost. Others you may want are pages about the author(s), and a comment policy page.
Tags lets you manage tags which can be used to classify or categorize related topics on your blog.
Members of course lets you mange your subscribers.
We’ll go into greater detail on all you can do with the Admin interface in upcoming lessons.
For now, that’s it for your initial overview of Ghost Blog.
See you in the next section.
Good job!
Ghost Blog - Creating Posts - Section Overview
In this section, you’ll learn the tools available to you for creating posts.
Creating posts is arguably the most important thing you'll want to do with your Ghost blog! The content of your blog is the commodity you're using to help your readers.
We had a very quick look at creating a new post in the previous section, but there are many more tools available for us to explore.
Here's what we'll cover:
Contextual Toolbar
Bold
Italic
Top Level Headings
Second Level Headings
Quotes
Links
Snippets
Dynamic Cards
Images
Markdown
Gallery Cards
Dividers
Bookmarks
Email content
Email Call to Action
Public preview
Buttons
Callouts
Gifs
Toggle for collapsible content
Videos
Audio clips
Files
Product recommendations
Headers
YouTube videos
Tweets
Add Code
Adding Inline Code
Adding Code Blocks
Add Color Highlighting to Code Blocks
There's a lot to cover, so let's dive in!
Ghost Blog - Creating Posts - Contextual Toolbar
One of the easiest tools you can use to create great looking blog posts is the contextual tool bar or menu that comes up when you highlight text in a post.
Using that tool, you can do all the most popular things you'd want to do while writing with minimal effort.
Highlight some text and you can make it:
Bold
Italic
A Top Level Heading
A Second Level Heading
A Quote
A Link
A Snippet you can use over and over
Making a font bold will make it darker than the surrounding text, adding emphasis. Just highlight the text you want to emphasize and click on Bold in the text selection menu. Bold provides stronger and more visible emphasis for some fonts and backgrounds than italics, covered next.
Italicizing a font can also make it stand out, but it's more subtle than bold is. Personally, I prefer italics for things like calling something out I found from another reference where I don't necessarily want to provide a full quote.
Top Level Headings should be used sparingly and should indicate the main section or topic of your post.
Second Level Headings are sub-topics you're exploring within your post.
Both are interpreted by search engines and should not be used randomly. If they're used in ways that don't make sense to a search engine, it could hurt your ranking. Use bold and italics for emphasis, not headings.
A quote will make a whole sentence into a quote. It will have a bar next to it and become italicized. Quoting lets you tell others you found information somewhere else and helps you avoid plagiarism and lets you give credit where it's due.
Links are an important element of blogs as they let you send your reader to sites you've referred to or places where they can get more information on a given topic.
Snippets let you quickly paste some stored text into your posts. An example may be the catch phrase for your site. For one of my sites, Linux Literacy, my phrase is "The place to learn Linux." That may be something I'd have as a snippet if it were on Ghost.
That's it for the tools made available to you instantly just by highlighting some text in your posts.
In upcoming lessons, we'll be covering things you'll want to do using what Ghost calls "interactive cards."
Good job!
Ghost Blog - Creating Posts - Dynamic Cards
Great work creating a post using the highlight menu!
What if you want to do something that's not available in the menu that comes up when you highlight some text in a post? Ghost uses a concept they call "dynamic cards" to let you easily add many different types of content and media to your posts. You can use cards to add:
Images
Markdown
HTML
Galleries
Dividers
Bookmarks
Email content
Public preview
Buttons
Callouts
Gifs
Toggle for collapsible content
Videos
Audio clips
Files
Product recommendations
Headers
YouTube videos
Tweets
There are more, but these cover those you're most likely to use.
The dynamic cards built into Ghost are changing all the time, so if you'd like to do something you don't yet see as a card, check back frequently after upgrades.
You'll have a lesson on each!
Ghost Blog - Creating Posts - Adding Images
In this lesson, we’ll cover how to add images, and what images you should add to your posts.
Adding an image couldn’t be easier. You can upload an image using the Image Card provided by Ghost.
To upload an image, have an image ready on your computer or capture one with your capture software of choice.
On my iMac, I hit Command, Shift, F4 to engage the built in screen capture software.
On Windows, you can start the Snipping Tool by going to Start and entering snipping tool, then selecting Snipping Tool from the results.
Of course, screen captures aren’t the only things you can add to your posts. You could select any kind of picture you like.
Once you have your file, in your blog post, click the + sign or type a forward slash “/“ in the text box to bring up the Dynamic Cards menu.
Click on Image.
In the file browser window that opens, browse to the file you want to add to your blog.
Click in the space directly below the image to add a caption.
Captions should provide a meaningful description of the image and can help with Search Engine Optimization (SEO), so my suggestion is to use them.
Click on the Alt button to the right to fill in the Alternate text. This is text that will display if the image doesn’t show up, and can help for people who use accessibility software or settings.
The Alt text is also used in SEO so I encourage you to fill that in too.
Your image should support your article somehow. It’s nice if it graphically or visually shows your readers something you’re describing with the text in your post. It can also be used to provide a setting, motif, or mood for your article.
In film, background images would be called “B-roll”. It breaks up otherwise lengthy scenes and sets the tone for the scene.
I encourage you to think of images similarly for your posts. Try not to just have long blocks of text without the visual break provided by images or some of the other dynamic cards we’ll be covering in the rest of this section.
That’s it for adding images using Dynamic Cards.
Good job!
Ghost Blog - Creating Posts - Working with Images
Once you've added an image, if you select it, you'll notice a menu above the selected image.
You can easily select from Regular, Wide, or Full for your image width, add a link to your image, change out your image, or make it a snip you can paste into your content over and over.
I typically use Regular width for my blog posts, but your choice will depend on the style of your blog, your style, and what you feel gets the message across best to your readers.
Adding a link can be great as it can direct readers to the place where you obtained your image or to a site where they can get deeper information about whatever is in the image.
You can swap out your image by clicking Replace Image and choosing the new one. Your description and alt text stay the same, so be sure to modify those if your image is completely different from the old one.
And, just like with text, you can select your image, then click Create Snippet to let you use the image quickly in any post on your blog.
That's it for working with images from inside your posts.
Good job!
Ghost Blog - Adding Markdown with a Dynamic Card
In this lesson, we'll discuss adding a section styled with markdown language to your blog post.
Markdown used to be the default way of adding information to your blog post.
Although I like it, it takes some getting used to, and I must admit, I like the modern editor much better.
Still, there will likely be times when you'd like to add something to your blog that just isn't easily accomplished without markdown.
In those cases, you can add a markdown section using a markdown card.
We'll cover one use of markdown that you'll hopefully find useful at some point in your blog writing.
We'll make a simple markdown table in a blog post.
To start, use a pipe symbol "|" to the left of the first word in your first column. The pipe symbol is above the back slash symbol "\" which is above the [Enter] key on a North American keyboard.
Then type the heading for the first column. Type another pipe symbol, then the heading for the second column. Continue until you have all your headings.
Under that row, type a pipe symbol and at least three dashes "-", then another pipe symbol. Continue this until the number of columns matches the number of headings.
On the next line, type pipe, word, pipe, word, until you have that row completed.
Continue until you're done.
You can manage alignment within the table by adding a colon in the line with the dashes indicating where you want the text aligned.
For left alignment, which is the default, put a colon to the left of the dashes. For center alignment, put a colon to each side of the dashes. For right alignment, only on the right.
| Criteria | Apples | Oranges |
|---|:---:|:---:|
| Classification | Fruit | Fruit |
| Color | Red | Orange |
| Taste | Sweet | Tangy |
| Benefit | Vitamin C | Vitamin C |
Note that the spacing doesn't have to be pretty. Ghost will line everything up for you.
For a quick table directly in your blog, this works pretty well and is easy to create and maintain.
The last or trailing pipe symbol at the end of each line is optional, but I usually include it as it makes it look nice to me in markdown.
You'll see a menu on the bottom of the markdown card allowing you to do many of the standard things you can do with the text selection menu, plus a few others, such as adding bulleted and numbered lists.
Some other things you may eventually want to with markdown do are:
Strike through ~~word~~
The tilde is usually above the back tick to the upper left of a North American keyboard which is below the [Escape] key.
Superscript ^word^
The carat “^” is usually above the number six on a North American keyboard. So you hit [Shift] 6 to type it.
Subscript ~word~
Highlight ==word==
Adding code snippets will be covered separately, but to do so, you just type three back ticks "`" followed by the programming language in a text block in your editor.
```bash
For example if you’re using the BASH scripting language..
The back tick key is usually below the [Escape] key on a North American keyboard.
That's a down and dirty introduction to markdown language and how to add a markdown section with a dynamic card.
Good job!
Ghost Blog - Creating Posts - Formatting with HTML
In this lesson, we'll look at formatting a post with HTML.
HTML stands for Hypertext Markup Language, and it is the formatting language behind web pages.
Formatting with HTML, along with some other languages like Cascading Style Sheets (CSS), and node.js, is typically handled for you by Ghost. You type what you want, and Ghost makes it look great.
There may be times, however, where you want to format a post or part of a post yourself using HTML directly.
You can do this by adding an HTML dynamic card.
To do so, just click on the + sign in a post where you want to use the HTML.
Inside the dynamic card, enter your HTML.
I have a quick example of some basic HTML in this post.
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
<a href="https://www.w3schools.com">This is a link to an HTML tutorial on w3schools.</a>
</body>
</html>
When you finish and click out of the card, your HTML formatted text appears in your post!
That's how easy it is to add your own HTML formatting to a post.
If you're a developer, and you're trying to show readers actual HTML code, you'll want to use code snippets instead of this feature.
To do so, type three back ticks "```" followed by the language which is HTML.
```html
This will let your readers see the code you're trying to display, not format the text using HTML.
W3Schools has great, free tutorials on HTML if you want to learn more.
https://www.w3schools.com/html/html_basic.asp
That's it for this lesson.
Good job!
Ghost Blog - Creating Posts - Adding a Gallery
In this lesson we’ll cover adding a gallery to a blog post.
A Gallery is a nicely presented series or set of images.
A gallery that is added using the dynamic card can hold up to nine images. You can, of course, extend this by adding another gallery above or below this one.
To add a gallery, go to the place in your blog post where you want to showcase your images and click on the + sign. From the Dynamic Cards menu, select Gallery.
Click inside the new Gallery card.
In the window that opens, select up to nine images.
Ghost will upload them and do its best to format them in a way that makes sense.
If you don’t want an image in your gallery, hover over it with your mouse, then click on the trash can icon to delete it.
You can add a caption for your gallery by clicking beneath the photo’s and entering the description.
Publish your post, then have a look.
Your gallery is up!
It would be nice if there were a way to add a caption to each image if desired, or to click on an image in the gallery and have a large version of the image appear, but that functionality isn’t built in yet.
It may be at some point.
It is also a good idea to optimize your images for sharing on the Internet.
Please indicate if you would find a section about this useful in the Student Q&A for the course.
In the mean-time, here’s a link to a tutorial on it.
https://zyro.com/blog/how-to-optimize-images-for-the-web/
For now, this is a quick way to build a kind of montage of images into a post.
Good job!
Ghost Blog - Creating Posts - Adding a Divider
In this lesson, we’ll cover adding dividers.
A divider is a line across a page between two sections. In HTML this would be called a Horizontal Rule. Like back in the stone age when you had to hold a thing called a ruler up to a page and drag a pencil along it to create a line across the page.
In blogs, dividers can be useful to show how two things, while related, are separate.
In this example, we’ll see how to use a rule to separate different galleries that show different portions of a vacation.
First, we have “Hanging with friends in Luxembourg” with a nine photo gallery.
Next, we have “Top of the world in the Swiss Alps” also with nine photo’s.
If I want to add a visual separation between the two, one way is to ad a divider.
To add one, scroll down in your post to a free area and click on the + sign.
Select “Divider.”
Hover your mouse pointer over the divider making it turn green. You may have to move your pointer around a bit to find the spot.
Once it’s green, left click on it and drag it until the are where you want it turns green.
Let go of the mouse, and you’re done!
Publish and have a look at your work. It's subtle, but makes a difference when used right.
You’ve added a divider.
Good job!
In this lesson, we’ll discuss adding a bookmark to your post.
A bookmark is a kind of snippet of a site you want to tell your readers about or direct them to for useful information.
It has the heading and some initial text from the site as well as an image, and it acts as a link to the article.
Clicking on the bookmark within the post will take your reader to the site you’ve bookmarked for them.
It’s more of a showcase for a site than a typical link provides.
Let's say we're writing an article about creating a table of contents and why it's important, but we want to keep it more high level. We can direct our readers to an article with more depth using a bookmark as shown.
To add a bookmark, in your post, click on the + sign.
Scroll down to bookmark, and click on it.
In the text box that opens, paste in the site you want to bookmark for your readers.
Publish changes and have a look.
You created a bookmark!
One goal of your site is to provide information that will keep them on and navigating within your site. I suggest using bookmarks sparingly, but they can be useful sometimes.
Good job!
Ghost Blog - Creating Posts - Creating Email Content
In this lesson, you'll learn how to create content that will be visible to your readers in emails regarding your posts using a Create Email Content Dynamic Card.
When you create a post, part of the publishing process involves sending an email to members letting them know you've created a new post.
If you add an Email Content Dynamic Card, you'll send out content in your post that will be visible in the email but not in the blog post when viewed in a browser.
To add an email content card, in your post, click on the + sign then select the Email Content dynamic card.
Enter a message you want to relay in your email, likely something about the post.
We'll leave Hey {first_name, "there"} and add to the message.
Hey {first_name, "there"}, here's a new post on how to add a Gallery!
When you publish and send your post to your subscribers, the message to them will appear in the email they receive, but won't be visible to readers who visit your blog directly through a browser.
In the email the reader received, your blurb will be visible in the email, but won't be there when they visit the site.
So, the email says "Hey Ted, here's a new post on how to add a Gallery!" If there's no name associated with the member, it would start "Hey there, ..."
This can be handy for you to add something for your readers to see when they receive the posts via email.
That's it for creating email content.
Good job!
Ghost Blog - Creating Posts - Email Call to Action
In this lesson you'll learn how to create email calls to action.
Calls to action encourage recipients to do something upon receiving the email. Typically, it's to subscribe, become a paid premium subscriber, or to purchase a product or service you're promoting.
Conceptually, this is very similar to creating email content covered in the previous lesson. There are a few important differences though.
Email calls to action allow you to:
Add a button or link such as "Subscribe Now".
Add Dividers
Choose center or left alignment for text
Format text
Several differences that make sending a call to action a breeze for you.
As with any other card, to add a Call to Action, open your blog post and click on the + sign, then select "Email call to action."
Select whether you want to send to Free or Paid members using the drop down at the top of the menu. We'll keep it at Free Members, especially since we don't have any paid members yet.
You can select Left or Center alignment. We'll keep left.
We'll leave Separators selected.
Type your text, and if you want a button, like "Subscribe!" in your call to action, tap on that to toggle it "on".
You can put in any URL you want, but your home page and subscribe page should be available to you by default.
We'll select our subscribe page so the reader will be taken straight to the Sign Up banner on our site.
When you publish your post, your free members will receive your call to action, which is signing up for membership to your blog.
I know, it's kind of redundant. They're already members!
This would typically be used to get paid memberships or to direct your readers to a product or service you're promoting or selling.
That's it for creating a call to action.
Good job!
Mini Exercise 1 - Test Your Skills
Estimated time to complete - 10 to 20 minutes.
What you'll need - Access to your Ghost Blog's Administrative Interface
Your Task:
This lesson is mini assignment to let you put together what you've learned and to let you see, even with what you've learned so far, you can make an outstanding blog post.
Pick a topic of interest. It doesn't have to have anything to do with the intended focus of your blog. It's just practice.
If you can't think of anything, you can write about how to make a functional, nice looking blog post.
Incorporate at least three of the following:
Images
Markdown
HTML
Galleries
Dividers
Bookmarks
Your focus for this mini assignment should be on thinking of a topic you want to get across to someone and how you can best use the tools available to help make the post useful and clear.
That's a skill you'll refine over time. This is just the very beginning!
Ghost Blog - Creating Posts - Public Previews
In this lesson, you'll learn how to create a free preview of a post.
If a goal of your blog is having a lot of subscribers, or even better, paid premium subscribers, public previews can help you build your subscriber base.
As with any other dynamic card, in your post, click on the + sign and select Public Preview from the menu to add one.
A line appears in your post showing that the free public preview is above the line and content only visible to members is below the line.
I encourage you to try creating articles that are complete and useful. My experience as a frequent reader of blog posts is, I appreciate the effort and sincerity and am much more likely to sign up for a blog post that provided what I was looking for than to sign up or pay to see the answer.
I feel a bit resentful when I know from my search result a post is likely to have what I’m after, but I have to subscribe or pay to see the answer, and I’ll continue my search elsewhere.
You’re certainly free to experiment and find what works best for you and your audience, and helps you met your goals.
Some arguably successful sites seem to get a lot of subscribers by having the answers hidden behind a subscription or “pay wall.”
My preference is to attract a lot of viewers with free and useful content.
I may in the future offer premium subscriptions once I have enough great content and have a rhythm to my post releases.
To release your public preview, just have a lot of content above the line added and publish your post.
Bear in mind, since we haven’t set up members only or paid premium content, all posts are public.
We’ll cover having member content in a future lesson.
That’s it for creating public previews.
Good job!
Ghost Blog - Creating Posts - Adding a Button
In this lesson, you'll add a button to a post.
A button is an image your readers can click that will take them somewhere. You'll usually want to take your reader to a place where she can purchase a service or product you've created or are promoting.
In your post, click on + and scroll down to Button.
Center aligned looks good, so we'll keep that selected.
Add text to be displayed in your button.
In this example, I'm directing the reader to my awesome Ubuntu Linux course on Udemy. :-)
Enter the URL for the site you want your reader to go to.
I'm adding a link to the course on Udemy.
Publish your post, and your post is visible and the button is active for your readers!
Buttons can be a great way to make it easy for your readers to purchase a product or service.
Another good use for a button, is a membership sign-up button in your public previews, letting readers quickly become subscribers.
That's it for adding a button.
Good job!
Ghost Blog - Creating Posts - Adding a Callout
In this lesson, you'll learn how to add callouts to your posts.
A callout is a text box usually with a graphic image or emoji containing text that calls attention to an idea or concept in your blog post.
To add a callout, click on the +, scroll down, and select Callout from the menu.
I think it looks good with the light bulb emoji, so we'll leave that toggled on.
Add the text you'd like to emphasize to your readers.
Select a background color that's not obnoxious but makes your idea stand out. Oh, OK, be obnoxious if you want. :-)
Publish and view!
That's it for adding a callout to your post.
Good job!
Ghost Blog - Creating Posts - Adding Gif's
In this lesson, you'll learn how to insert a Gif.
A Gif is a small, typically short media clip that looks like video when viewed.
Gif's are quite popular in Social Media, and now, you can quickly add them to your posts.
You can choose from thousands of free Gifs right in your post to add some emphasis or humor.
A lame attempt at humor follows.
“...then he said said Ghost isn't the best Blogging platform!”
Queue cute GIF of a dog asking “Seriously?”
I hope the pup gif made it at least a little funny?
To add a gif to your post, click on the +, scroll down, and select Gif.
Search for a gif that fits what you want to get across.
Click on the Gif and it will be added.
Just publish to see your post with the Gif.
That's all there is to it! The Ghost team has made it super easy to browse for and add Gif's to your posts.
Good job!
Ghost Blog - Creating Posts - Adding Toggles
In this lesson, you'll learn how to add a toggle to your post.
In some posts, you may want to have lists of questions or topics with more detailed explanations available to the reader when wanted. Toggles can help!
A toggle can collapse your content in section of an article or expand it as selected by your reader.
Adding Toggles
To add a toggle, click on +, scroll down, and select Toggle from the menu.
We'll use toggles to explain what toggles are, what they're used for, and how to use them!
Frequently Asked Questions
What are toggles for?
Toggles let your readers collapse or expand content as is convenient for them.
When might I use toggles?
You could use toggles for a Frequently Asked Questions section like this one, as but one example.
What's a Frequently Asked Questions section?
A Frequently Asked Questions section or FAQ is an area where commonly asked questions are assembled for your readers so they may see if a question they may already have is covered.
When else might I use a toggle?
You could use a toggle for any content you want covered by headings your readers can easily skim to look for a topic of interest.
How do toggles work?
Your reader clicks the downward triangle in the upper right to expand and see the full content.
Click he upward triangle to collapse a toggle.
That’s it for adding toggles and an example for you!
Good job!
Ghost Blog - Creating Posts - Adding Video
In this lesson, you'll learn how to add video content to your blog posts.
Click on +, scroll down to Video, and click on it.
You’ll have to have the video you want to share available.
In the file browser that opens, navigate to your saved file, click on it, then click Open.
The file will upload.
Add a caption once it’s up.
Publish, and your post with a video clip will be up!
There’s a 5 megabyte limit to video file uploads for the lowest price Ghost hosted blog plan.
It’s best to keep your videos pretty small, so this should be OK.
If you want to have larger videos available, it’s good to consider linking out to a service that specializes in storing and permitting access to video.
Two examples you’ll probably be familiar with are YouTube, and Vimeo.
Here’s a TechRadar article on the best video hosting websites of 2022:
https://www.techradar.com/best/video-hosting
If you’re looking for free or paid stock video footage for your posts or videos, you can check out https://pexels.com, or https://pixabay.com.
That’s it for adding video to your blogs.
Good job!
Ghost Blog - Creating Posts - Adding Audio Clips
You definitely have the hang of this by now, but to add an Audio Clip to a post, just click on the +, scroll down, and select Audio.
As with any other Dynamic Card, to add an Audio card, click on +, scroll down to Audio, and click on it.
Browse to the file you want, click on Audio, then click Open.
The audio clip in the post describes how to add an audio clip to a post.
As with adding video clips, it's good to keep it short and related to your post.
As with adding video clips, it's good to keep it short and related to your post.
For longer audio clips, you may want to try a dedicated audio hosting service. The type of service will depend on the purpose of your audio.
For spoken, podcast style audio, there's Apple Podcast, RSS, or PodServe.fm.
For music, there's SoundCloud, Apple iTunes, and Tidal.
To create great audio, consider an external microphone (one not built into your phone or computer), and free or paid audio capture software like Audacity.
That's it for adding audio to your posts!
Ghost Blog - Creating Posts - Adding Files
In this lesson you’ll learn how to add files to your posts.
Click on +, scroll down, and select file.
Browse to the file you want to add on your system.
Click on it, and click Open.
You'll want your file to be related to your blog post and you'll want it to be content that is quite static, so you don't have to remember to update it often.
As an example, a code snippet that is part of a tutorial that isn't likely to change unless the lesson changes, may be a good thing to add.
A bash file that's part of a GitHub project like my open source script to apply some fundamental security protection for generic Red Hat and Ubuntu builds would not be a good choice, because that content can be updated, meaning the uploaded file would be out of date until I remember to update it.
All good, if you have one or two blog posts and files. A nightmare if you have 10's or 100's of posts.
That's it for adding Files!
Ghost Blog - Creating Posts - Adding a Header
In this lesson you’ll learn how to add headers to your posts.
Click on +, scroll down, and select Headere.
Enter a title and description for your header.
I’m not sure what Ghost was going for here. Perhaps a kind of banner for a product promotion?
In any case, I’d use headers sparingly as I’m not sure how they’re interpreted in Search Engine Optimization or SEO.
Having one in an article is likely fine, but having many could confuse a search engine or result in lowered SEO scores, making your article less likely to be found by readers.
That's it for adding Headers!
Ghost Blog - Creating Posts - Adding a Product Recommendation
In this lesson, you’ll learn how to add a product recommendation.
You can add an image, which I recommend, even if it's just a screen capture of your product, a product title, and a description.
You can also click on the toggles to add a rating and a button.
If you want to add a rating, click the rating toggle to add rating, then select the number of starts you want your product to have, five being the most.
For the button, add button text and a URL that your readers will be taken to so they may purchase or sign up, or whatever you'd like them to do regarding your recommended product or service.
As you create posts and build a subscriber list, your readers will come to trust you and a percentage of them will take your recommendations to heart and buy the product or service you're recommending.
I suggest only recommending products or services you've used or created and ones you can stand by proudly.
If you disappoint your readers by recommending a shoddy service or product, you may lose them completely and subscribers are one of your most valuable resources.
That's it for adding product recommendations.
Ghost Blog - Creating Posts - Embedding YouTube Videos
In this lesson, you'll learn how to embed YouTube videos.
Click on +, scroll down, and click on YouTube.
Past the URL of the video you want to embed into the text box and hit [Enter].
Add a caption for your video.
That’s all it takes to embed a YouTube video into your post!
Your reader will be able to choose to either watch the video from inside the post, or click Watch on YouTube and be take to the video on YouTube, leaving your site.
As with any other content, the video should likely be relatively short and related to the content in the post you’ve written.
That’s it for embedding YouTube videos.
Good job!
Ghost Blog - Creating Posts - Embedding Tweets
In this lesson, you'll learn how to embed Twitter Tweets in your posts.
Click on +, scroll down and click on Twitter.
Paste the URL of the tweet and hit [Enter].
Type a description for the tweet and ALT text.
Probably the easiest way to obtain the URL to a tweet is to open Twitter on your computer, find the tweet you want to embed, and click on the Share icon.
Then click on Copy link to Tweet.
This will copy a link to the Tweet to your computer's clipboard, so you can click inside the URL box, then hit Ctrl+V to paste the content or right click inside the text box, and select Paste from the menu.
That's it for embedding Tweets in your posts!
Ghost Blog - Creating Posts - Adding Inline Code
In this lesson, you’ll learn how to add inline code to your blog posts.
Adding code inline makes the code stand out from the rest of the text, makes it obvious you’re adding code, and makes it easy for readers to copy the code, saving them from additional typing or typographical errors in transcription.
If your blog discusses computing or computer languages like Java, JavaScript, Hyper-text Markup Language (HTML), Markdown Language, or scripting languages like Perl or the Bourne Again Shell (BASH), you'll want to be able to add code to your posts. There are many, many more computer languages. This was just a few examples.
You can add code inline, which means within a sentence by using the back tick before and after the code.
The back tick is found below the tilde '~' on North American keyboards in the upper left, and it looks like a single quote, but slants to the left. It looks like this ` .
So, if you want to have the word "code" in a sentence, but you want it to be obvious that it's code and can be copied, you'll surround the word code in back ticks as follows:
`code`
It will look like this in a sentence:
Adding `code` to your blog posts inline is simple.
That's all there is to adding inline code to your posts!
If you want to have multiple lines in a code snippet, you'll want to add it as a block, which you'll learn next.
To reiterate, adding code inline will make the text stand out, make it obvious you're describing code, and make the text in the code snippet easy to copy.
Ghost Blog - Creating Posts - Adding Code Blocks
In this lesson, you'll learn how to add code blocks to your blog posts.
At times, you'll have longer snippets of code, or partial or complete programs or scripts, that don't fit in a sentence and may take several lines.
These are good cases for adding a code block.
A code block is a multi-line section of code.
To create one, start a new text area in your post, type three back ticks together, then the language your code block will use. "```bash" for a BASH code block, as an example.
Click on + then type ```bash and hit [Enter]. (I pasted in a BASH script I just wrote as an example code block for this lesson that would teach readers about the Linux ls command using BASH.
#!/bin/bash
# This is a BASH code block.
# Comment lines start with a hash mark "#"
# Quick BASH script to demonstrate code blocks with an ls tutorial.
# The ls command lists the contents of the present working directory by
# default.
The script is attached for you to download if you wish. You can rename it from ls-tutorial.txt to ls-tutorial.sh and run it on any modern Linux system for a quick tutorial on the ls command!
Many programming languages are supported in your code blocks. To use something other than bash, type ```<your language>.
For example, ```html to add a new html based code block.
Or, ```python for a python code block.
That's all there is to adding a code block to your Ghost blog posts!
Many modern Linux systems have color in their text editors by default to help developers see what's going on in the code they're writing.
It looks much more interesting with color, and you'll learn how to add color to your code blocks in the next lesson.
Ghost Blog - Creating Posts - Moving Items Within Posts
In this lesson, you'll learn how to reposition items within your Ghost posts.
Sometimes, as you're creating your posts, it may become apparent that the post would flow better if some items were rearranged.
Thankfully, this is easy to do in your blog posts!
For items within Dynamic Cards, and code blocks, you can hover over the item you'd like to move in your editor. A green frame will appear around it.
Click on the item and drag it up or down as desired.
A green line will appear where the item will land if you release the mouse.
If you want to shift straight text around, just highlight it and hit Ctrl-x (Cmd-x on a MAC) to cut the text, move the cursor to the new location and hit Ctrl-v (Cmd-v on a MAC) to paste to the new spot.
Ghost Help Center
In this lesson, you'll learn about the Ghost Help Center.
Probably your first stop when seeking help will be the Ghost Help Center web site. You can get there either by browsing to https://ghost.org/help, or by clicking on your user ID in the lower left of the Admin panel and selecting Help Center from the menu that comes up.
Even before you need help, you may want to peruse the Ghost Help Center to see if there's anything there that may help you produce and maintain your site, or grow your audience.
The main sections are:
Getting Started
Using Ghost
Memberships and Subscriptions
Ghost(Pro)
FAQ (Frequently Asked Questions)
Getting Started covers topics that help you set up and start using your Ghost Blog. Topics include:
General settings
Updating the design settings
Updating navigation
Installing a theme
Using the editor
Post settings
Publishing and scheduling content
Organizing content in Ghost
Imports and exports
Managing your team in Ghost
Adding a custom domain
Using Ghost provides guides and suggestions that help you utilize Ghost effectively. Topics are:
Using Ghost(Pro) with a subdirectory
Setting a publication language
Settin up website analytics
Connecting social accounts
Changing a staff user’s profile picture
Editing posts displayed per page
Using Markdown
Robots.txt file configuration
Adding links to images
How to add search in Ghost
Adding comments to your site
History Log
Memberships and Subscriptions provides information helpful in managing your memberships and subscriptions to your blog. Topics are:
Setting up memberships & subscriptions
How to create protected content
How to use public previews
How to send emails to your audience
Managing members in the Ghost dashboard
How to import your existing audience into Ghost
Using welcome pages for member onboarding
Creating Membership Tiers
Customizing the Portal
Creating discount and trial offers
Email Newsletter Design
Understanding the dashboard
Multiple Newsletters
Understanding post analytics
Supporting your members
Ghost(Pro) provides Ghost(Pro) related knowledge and tutorials:
Managing your Ghost(Pro) subscription
Managing Staff User Profiles
Change ghost.io subdomain
Transfer site ownership to another user
Forgot site name
CloudFront Subdirectory Setup
Apache Subdirectory setup
Nginx Subdirectory Setup
Too many login attempts
Creating multiple Ghost(Pro) sites
Cloudflare Subdirectory Setup
Netlify Subdirectory Setup
Free trials in Ghost
FAQ answers questions Ghost sees frequently. This changes more frequently, so I encourage you to just have a look and see what’s there that may be helpful to you.
If you have something specific you're looking for, you can type it in the search box.
Getting Started and Using Ghost will have some items of interest, and as you try to grow your member base, Memberships and Subscriptions will come in handy.
Ghost Blog - Getting Help - Ghost Resources
If you’re looking for help, Resources and Guides or Ghost Resources may provide what you need.
You can get there by clicking on your profile link in the lower left of the Admin interface and clicking on Resources & Guides, or by clicking on Resources in the Ghost Help Center.
The Resources & Guides link from your profile on the Admin page actually takes you to Start here which is only one of the links available in the Resources dropdown provided in the Ghost Help Center. In other words, you have more options available when you use the Resources dropdown in the Ghost Help Center.
High level topics from the Resources section are:
Marketplace
Start Here
Themes
Help Center
Integrations
Product Updates
Experts
About Us
Marketplace has free and paid themes, integrations, and an experts sections.
Start Here has tutorials organized into building, publishing, growth, and business sections. I strongly suggest having a look at this section to see if there are tutorials that may round out your Ghost knowledge.
Themes were touched on in Marketplace and in a previous lesson, but provides links to free and paid Ghost themes to customize your site's appearance.
Help Center links back to the help center covered in a previous lesson.
Integrations are conceptually similar to plug-ins in WordPress. You can integrate applications and functionality you may want into your Ghost blog.
Product Updates takes you to the Ghost Changelog which will be covered in an upcoming lesson.
Experts are people and organizations who provide paid Ghost blog support should you need or want this. They can help you transition to Ghost from another CMS, design or modify themes for you, and help you with branding your site, for but three examples.
About Us tells you a bit more about Ghost and the paid, core Ghost team. I really like the sustainable open source model used by the Ghost team to create and maintain Ghost. They seem to be doing things right, with rapid development, and addition of features really useful to the Ghost community.
That's a quick overview of Ghost Resources. Next, you'll check out the Ghost Forum.
Ghost Blog - Getting Help - Ghost Forum
In this lesson, you'll learn about the Ghost Forum.
Another source of help for Ghost is the Ghost Forum at https://forum.ghost.org/
As with the Ghost Help Center, I encourage you to familiarize yourself with the Ghost Forum before you actually need it. You may also want to create a login. It can be intimidating learning your way around a new forum. What area of the forum should a particular question go in for example? It's tough to know if you haven't already had a look around the site.
In the Ghost Forum, the current areas are:
News
Using Ghost
Marketing & Promotion
Memberships & Subscriptions
Share & Showcase
Bugs
Ideas
Off-topic
Developer Help
Themes
Integrations & API
Contributing to Ghost
I don't find Ghost to be very buggy. It works really well. However, if you find something not working as you think it should, you would report a bug in that forum area. Be sure to describe the issue you're experiencing in as much detail as you can, and include the ghost version you're on. Fill out the bug report template as completely as you can. An example of the template with an I reported is below::
Issue Summary
Search is either very slow or not working on Ghost Help Center
I should be able to type in a search, hit Enter, and have possible matches, if there are any, come up. I get a never ending spinner. I’ve tried Firefox and Safari and used terms I know should produce results like “member.”
Steps to Reproduce
Go to Ghost Help Center
Click in the search box at the top of the page
Type in a search term and hit Enter or just let it look for matches
Observe that it says “No matches found” and the spinner just keeps going
Setup information
Ghost Version
N/A I assume the latest since this is on Ghost’s main site.
Node.js Version
N/A I assume the latest since this is on Ghost’s main site.
How did you install Ghost?
N/A This is Ghost’s main site maintained by Ghost.org.
Provide details of your host & operating system
N/A This is Ghost’s main site maintained by Ghost.org.
Database type
N/A This is Ghost’s main site maintained by Ghost.org.
Browser & OS version
Firefox 108.0.2 (640-bit)
Safari 16.2 (18614.3.7.1.5)
iMac running Ventura 13.1
Relevant log / error output
None - I’ll upload an image of the failed search but I haven’t tried to debug.
Screenshot 2023-01-07 at 9.54.41 PM
Screenshot 2023-01-07 at 9.54.41 PM1142×590 88.2 KB
I apologize if this is the wrong location for this report. Please direct me to the right area if it is not the right place.
Thanks!
Ted
For hosted Ghost, it's updated weekly, so you're probably always on the latest version.
For a ghost server you're running, log in using Secure Shell (SSH), navigate to the Ghost directory, typically /var/www/ghost/, and type ghost --version. This option is only viable if you’ve created and are maintaining your own Ghost server.
Drop in to the Forum, create an account, and say "hi". Look around and get a feel for the place. Maybe, you can even answer someone else's question since you're becoming a Ghost Pro!
If you have things you'd like to see added to Ghost, submit your thoughts in Ideas.
We'll cover Requesting Features in a future lesson.
Ghost Blog - Getting Help - Ghost Command Line Interface
In this lesson, you’ll learn the help feature of the Ghost Command Line Interface (CLI).
If you run your own Ghost server, you can run Ghost commands at the command line using the Ghost CLI.
You can see the Ghost cli commands by typing ghost help.
The output scrolls off the screen so we can’t see everything. We’ll pipe the output to the less command.
ghost help | less
You don’t really have to worry about this at all if you don’t run your own Ghost server.
If you’d like to run your own Ghost server but aren’t yet comfortable at the command line, please check out my Ubuntu Linux Fundamentals course on Udemy.
Ubuntu Linux is the server I use for my Ghost server implementations.
If you have your own server, these Ghost CLI commands can come in handy for managing your Ghost server.
Most operations are carried out by the ghost-mgr user, so we’ll change to that user.
sudo -i -u ghost-mgr
We’ll change directory to our Ghost directory which is usually /var/www/ghost.
cd /var/www/ghost
To update the server, type ghost update.
I did see the warning that my ghost-cli was out of date and I updated that with npm install -g ghost-cli@latest after the update ran, but this should have been checked before running the ghost update.
ghost update is a command you would use very often.
The update ran successfully.
ghost doctor will check Ghost to make sure everything looks OK.
ghost version or ghost —version you’ve already seen.
Now you know some commands you can use if you run your own Ghost server.
Keeping Up on the Latest Dynamic Cards and Changes
In this lesson, you'll learn how to stay abreast of the latest dynamic cards and changes to Ghost Blog.
Ghost is actively maintained with rapid releases often containing new features sometimes including new dynamic cards.
You can catch up on the latest changes by visiting the Change Log at Ghost.org:
https://ghost.org/changelog/
Scroll down from the top to see what's new.
Looking at the current change log on 28 December 2022, you can see the following changes in recent releases:
New themes, Taste and Episode.
Audience Feedback
Member Growth Sources
Update Links in Email Newsletters
Newsletter Click Analytics
History Logs
We have to scroll down and click on "Load More" several times to get to some Dynamic Card additions, but they're in the change log.
The Ghost team is super responsive to adding big features that benefit most users of the platform and you'll see new capabilities, like the ability to let readers leave comments, added in a way that involves minimal effort by blog creators.
Check the change log often to see what's new!
If you’d like to be updated via email when new features come out, consider subscribing.
Ghost Blog - Getting Help - Requesting Features
In this lesson, you'll learn how to request feature additions to Ghost.
Ghost is an awesome, full featured platform, and it has had many features and much functionality added since I started using it several years ago.
That said, you'll always come across things you want to do that aren't there yet. Not show stoppers, but things that would make your life or that of your readers easier.
You can request that features be added to Ghost.
To request a feature, create a login in Ghost Forum at https://forum.ghost.org, and add your request to the Ideas area.
I'll give you an example of a feature I requested.
I was reading the Ghost blog post about adding color to code snippets and I noticed a helpful "copy" button next to the snippet code name in the snippet.
When copying code that is wider than the typical web screen or has multiple lines, a "copy" button can make it quick and easy to ensure you've gotten all the intended code.
Let's say you're one character off, when you start copying the code. Once you scroll across, you can't really go back to check. Same with end characters. Once you copy, you won't necessarily know something's amiss until you try to use your code.
For that reason, I find "copy" buttons really useful in code snippets.
First, since this was on a Ghost blog post, I wanted to make sure I wasn't simply missing the feature somehow, so I opened a general question.
The Ghost team and other Ghost bloggers were very helpful, but it wasn't something that's built-in at present.
I opened a feature request but it was closed.
Bear in mind, the Ghost team is relatively small, with a relatively huge number of requests, use cases, or user stories to manage. They'll focus on the features that will bring the greatest benefit to the greatest number of Ghost users.
I'm not necessarily done yet though.
Anyone can contribute to Ghost. I can download the relevant code from GitHub, add the functionality I desire, and request that Ghost integrate it into a future release.
I could either do it myself, or hire someone to do it.
I'm seriously considering putting the question out there in the marketplace.
It would take me hours to learn Ghost's file hierarchy and learn enough of the languages used in Ghost to do this well.
Meanwhile, I could be producing or updating courses!
We'll see.
It's good to know you have options with Ghost that simply don't exist with proprietary systems or code bases managed differently.
That's it for requesting a feature addition to Ghost.
Good job!
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?
###pinternetlivestats.com.
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.
Let’s have a look at Ghost SEO scores vs. WordPress out of the box.
There’s a site called SEOSiteCheckup.com 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 WordPress.com.
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 WordPress.com, 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.
blog.erratasec.com 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.
|
Site |
CMS |
Score |
Passing Checks |
|
Ghost |
79 |
41 |
|
|
WordPress |
64 |
33 |
|
|
Blogger |
67 |
35 |
|
|
WordPress |
89 |
42 |
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:
If you choose a hosted site, you will:
The table illustrates the four options we’ll explore. Three are hosted and one is self-hosted.
|
Ghost Hosting Options |
||||
|
Provider |
Web Site |
Monthly |
Annual |
Total Annually |
|
Ghost Pro |
https://ghost.io |
$29 |
$19/mo. |
$348 if paid monthly $228 if paid annually |
|
run kite |
$5 |
$5/mo |
$60 |
|
|
Ghosted |
$5 |
$50/year |
$60 if paid monthly $50 if paid annually |
|
|
Digital Ocean self-hosted (you maintain server) |
$10 |
$120/year |
$120 |
|
|
IWantMyName.com (DNS Name) |
~$14.90 |
~$14.90 |
~$14.90 |
Ghost Pro is hosted by ghost.io, 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.
Ghost Hosting- DigitalOcean
Let’s learn how to create a Ghost server we can use on DigitalOcean.
If you have some experience administering Linux servers, this can be a fun, cost effective option.
To start, got to DigitalOcean.com and click Sign Up to create your account.
You’ll be sent a Confirmation email to the address you provided at sign-up.
Go to your email and click on the link provided to confirm your account.
You’ll be taken to a billing info screen so you can enter a payment method.
Your account will be charged $5 which will be credited to your DigitalOcean account.
The Ghost server we’re going to build costs $10 a month, but you’re only charged for the time it’s running.
After entering your billing, click on Droplets and select Create Droplet.
In the Create Droplets browser window, click One click apps.
Click on the latest Ghost image available at the time you do this.
Scroll down to Choose a size and select the $10/month option. $5/month is not recommended as it may not be powerful enough for your needs.
I recommend adding your SSH keys at the time you’re creating the VM. The steps for doing so are outlined in the supplemental document for this lesson:
MAC OSX and Linux Guide:
https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets
Windows Guide:
The guides also provide valuable information on how to securely manage your server.
Choose a descriptive name for your server under Choose a hostname, and click Create.
DigitalOcean will create your new server.
Click next to the IP Address , then select copy to copy it to your clipboard.
Open your terminal emulation program, iTerm for MAC in my case, and type ssh root@<ip address> then hit Enter.
If you run Windows, you can use PuTTY to do this. It’s a free download.
When you connect, you’ll be prompted for the password you put on your SSH key.
Remember, even if you didn’t create your SSH key as the root user, you’ll have to log in as root initially to set up your server and to add another user.
You’ll see a link provided in the text displayed at logon. Copy this link and paste it into a browser’s url bar.
You’ll be taken to the Create your account screen for your blog.
Enter the email address you want to use to manage your Ghost server, your name, and a secure password, along with a title for your Blog.
Click on Last Step, Invite Your Team.
In the next screen, add the email addresses of some people you want to help you manage your Blog, or click on I’ll do this later.
Remember, these are not people you want to tell about your blog, but people you want to give permission to to log into the administrative interface to help you manage it.
If it’s just you, you’ll probably skip this for now.
Now, in a browser window, paste just the IP address of your server, and you’ll be taken to your main Blog page!
Remember, you’re only charged for the time you have the Ubuntu image on your account on DigitalOcean.
If you’re just testing or playing, Destroy the image to stop accruing costs.
Here, I click on Destroy, then Confirm.
DO NOT DESTROY YOUR ACTUAL Ghost BLOG SERVER!
Maintain backups of your blog and your server if you plan to do this for production purposes, meaning if you want this to be your live server people will visit.
There are also some initial steps you’ll want to go through to set up your server, once it’s up, available in the supplemental document for this lesson:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04
Naming your blog is important.
You've purchased your very own domain. Now you'll learn how to add it to your Ghost blog.
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:
A Google search for ghost google analytics should bring up the Ghost help page I’m using as a guide for these lessons.
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:
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 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.
In this lesson, we’ll cover creating an account on google.com, 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 google.com, 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 www.google.com/analytics 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://. huzzah.theos-test.com 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.
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. huzzah.theos-test.com/ghost 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.
Ghost is an open source, easy to learn alternative to WordPress for creating blogs.
This course has been completely updated based on rapid changes and improvements in Ghost since its earlier release!
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