Ghost and SEO: Everything You Need to Know
Ghost is one of the main technologies that we recommend to small publishers. It has a great balance of being free and easy to use, yet having lots of modern technology that creates a great reading experience for your users. At the same time, it offers out-of-the-box capabilities for monetization and reader revenue.
One thing that Ghost does particularly well by default, is SEO, or Search Engine Optimization. For those not familiar, SEO is all about ranking on search engines like Google and improving your SERP, or Search Engine Ranking Position.
SEO is a complex art and science of its own that depends a lot on the content that you are producing. But apart from your content, there are technical considerations that you need to make sure your website is configured for in order to optimize your SEO.
Ghost does many of these things automatically for you, but others take some setting up. We'll take you through all of it step by step.
Here’s everything you need to know about SEO and Ghost.
SEO That Just Works in Ghost
Let’s start with the easiest things: SEO that Ghost does for you out of the box and just work on your website automatically.
XML Sitemaps
One of the most basic things you should do for your website to get it to rank in search engines, is have a file that tells search engines what pages are on your site and at what URL they can be found.
Ghost automatically generates this sitemap for you - so there’s nothing else you need to do. Here’s what one of their automatically generated sitemaps looks like:
Structured Data for Rich Text Results
Maybe you’ve noticed in Google how search results are no longer just a listing of websites, but often have questions and answers or carousels of posts with images?
These are called Rich Text Results and are made possible by something called Structured Data. Essentially, this means is that in order to be a Featured Result on a search engine, you need to provide the essential data of your post in a way that the search engine understands.
What this means practically, is that your post needs to have some code added to it in a format called JSON-LD, which looks like this:
Ghost adds all of this code to your blog posts automatically, so there’s nothing additional you need to do.
Google AMP
Pages that are optimized for Google AMP serve streamlined content at very fast speeds even for mobile devices without a strong connection. Not only does it often provide a better experience for mobile users, it is also a prerequisite for showing up in some Google featured search results.
Ghost by default, supports Google AMP pages and generates them as part of their default themes. If you are not using a default Ghost theme, you should make sure that your theme provider supports Google AMP.
If you are building or modifying your theme on your own, you can make changes to Ghost’s default AMP template by modifying the amp.hbs
file in the root of your theme directory.
URL Optimization
Finally, Ghost automatically generates URL’s for you based on the title of your post. So if the title of your post is “My Post”, the URL slug that Ghost generates for you will be “my-post”.
This conforms to some of the top recommendations on URL optimization from SEO powerhouse Moz such as: URLs easily readable by humans, separate words using hyphens, and use all lower case letters.
One thing to note is that Moz recommends using short URL’s to get the maximum impact from keywords that you include in your URL’s. By default, Ghost sticks to this and will generate a two word slug.
So, for example this title:
Is given this URL by default:
Keep this in mind if you have long post titles in Ghost - you may want to keep the automatically shortened version or you may want to add a bit more context. (depending on how general or detailed of keywords you want to target)
Ghost SEO Features You Should be Setting
The next category is SEO features that you should be taking advantage of in Ghost but the platform won’t do for you automatically. So you need to make sure you are setting all of these yourself.
Meta Tags
First, let’s start with Meta tags. You can find the option to edit these under each blog post or page that you publish under “Meta data”.
If you don’t do anything, Ghost by default will use your post’s title and excerpt as the Meta Title and Description specifically. But you should give these meta tags some extra thought, because in the words of Google they give users a “quick insight into the content of a result and why it's relevant to their query.”
In other words, this is your best chance to convince someone who finds your content through Google search to click on your result. Ahref’s has a great guide to how to create the perfect title tag that gives you some good ideas of the extra thought you might want to put in here.
You should monitor how your blog posts show up in Google’s search results regularly. Often, Google will choose to show automatically generated Titles or Descriptions if Google doesn’t feel that yours was relevant enough to the keywords that were searched.
For your most important keywords, you should make sure that your Title and Description are showing up correctly - since the automatically generated ones are not very user friendly and will hurt your click-through rate.
To maximize your SEO efforts, consider implementing an effective SEO content creation strategy that can help you craft compelling meta tags, optimize your content for search engines, and ensure your posts rank higher in search results.
Canonical URLs
Next, let’s look at Canonical URLs. Canonical URL’s essentially tell Google which page to index in the event that it finds duplicates or similar content. This comes up if you are syndicating or cross-posting your content.
By default, Ghost will set the Canonical URL of a post to that post’s URL. However, if you are re-posting content that has already been published somewhere else - say you did a guest post on a different site but want to re-post the content on your site - then you need to set the Canonical URL to the URL where it was originally published.
This will prevent Google from penalizing your site for duplicate rankings.
Social Media Cards
Customizing cards for Social Media is the next thing we should think about. Now Ghost does a lot of the legwork for us here - Ghost automatically generates the card that will show up when we share one of our blog posts on Facebook or Twitter.
If you don’t make any changes here, Ghost will automatically take your Title and Excerpt, but this is something you should spend some time optimizing. Shorter is better here, as you will want to catch someone’s attention as they are scrolling through their Facebook or Twitter feed.
Image Alt Tags
Finally, all of your images should have an Alt tag added to them - not only since it is a best practice for accessibility, but because it is also a good chance to get in a few more keywords.
You can set this by going to an image in Ghost and clicking on the Alt button in the bottom right.
How to Disable Your RSS Feeds
The next topic is a bit controversial but we’re going to go there anyway. And that’s RSS feeds. Some people stand by them as a commitment to the way the web should work - allowing people to subscribe to their next blog posts via an XML data feed.
While there are others out there who claim that RSS feeds are obsolete and are only used by spammers who want to rip off your content. And of course when spammers take your content and repost it, you get penalized by Google for duplicate content.
We won’t wade too deep into the tradeoffs and who may be right here, instead what’s important to know is that Ghost generates RSS feeds by default for all of your blog posts.
If you prefer to disable your RSS feeds, however, Ghost gives you that option.
You can do that in your routes.yaml file by adding the field ‘rss: false’ to all of your collections.
For example:
collections:
/posts/:
permalink: /posts/{slug}/
rss: false
Then if you try to access the RSS feed at mysite.com/posts/rss/ you will see that there’s nothing there.
Speed and Performance
Increasingly, speed is becoming an important part of SEO as Google recently made Page Speed a part of its ranking algorithm.
Ghost is definitely head and shoulders above Wordpress when it comes to speed since it is built on newer technology. (up to 19 times faster in fact, Ghost claims) But you should still take a few additional steps to get the best speed possible out of Ghost.
The first thing to think about is your hosting. Best not to cut corners here, as you will want to choose a service that provides a CDN or content delivery network.
A content delivery network essentially is a service that creates caches of your content in local servers around the world that is then served to your readers depending on where they are located. (Ghost’s own GhostPro service is a good option here)
Next, you will want to think about your theme. All themes require some amount of assets to function - think fonts, graphics, icons etc. If these are not properly managed they can create bloat that slows you down. Take some time to evaluate the speed of a theme before you go ahead and purchase or install it.
You can use Google’s Page Speed Insights to do this: for example, our free Newsliner theme scores a 98 / 100.
Finally, and perhaps the most important consideration for keeping the performance of your Ghost site running at top speed, is to optimize your images. Be sure to compress images using a tool like TinyPNG before uploading them to Ghost. This will ensure that you are saving as much space as possible and therefore getting the fastest load times on your blog posts.
Paywall Considerations
Lastly, let’s talk about paywalls and what they mean for SEO. Ghost takes a pretty simple and clearcut approach when it comes to paywalls. They have a hard paywall system that prevents anyone without access from reading content - including search engines.
This means that anything you post behind a members paywall in Ghost will be invisible to Google and other search engines, and therefore worthless for SEO purposes.
Ghost recommends to write a mix of free and premium content, so you can get the SEO benefits from your free content in order to drive traffic to your site and get people to buy subscriptions to access your premium content.
This is a sound content strategy, but it does feel like a bit of a shame to get no SEO value whatsoever from content that you took the time and effort to produce. Ghost does have a public preview feature that enables part of a premium article to be accessed by non-members and therefore search engines, so this is one feature you can take advantage of to get SEO benefits from at least part of your premium content.
Conclusion
Ghost is a powerful, free publishing platform that gives your website a lot of great SEO features right out of the box.
With the right configuration you can be sure that your Ghost blog posts will be nabbing top Google rankings and driving plenty of organic search traffic back to your website.