I often get asked by bloggers about SEO. Everyone wants to get their blog posts ranked in Google’s search results, to help them earn a bigger audience. And since SEO is considered a ‘dark art’, full of uncertainty and moving at a fast pace, many bloggers are unsure of what to do to.
The thing is, in most cases SEO is not something bloggers should worry too much about. In fact, when it comes to SEO a blogger only needs to answer three questions:
- Can Google crawl my blog?
- Does Google understand what I’m writing?
- Does Google trust me?
When you can answer these three questions in the affirmative, you are ‘SEO-ready’. It won’t guarantee your content will rank highly in search results, but it gives you a good starting point.
So let’s look at each of these three questions in a bit more detail, and use this Beacon blog as the real-life case study. I’ll go through a few checks and tests you can do yourself to see if your blog is SEO-friendly, and will show how the Beacon blog performs.
1. Can Google crawl my blog?
Search engines can’t rank what they can’t see. So the first step is to make sure Google can actually crawl your content and that it crawls the right content.
First we look at your website’s robots.txt file. This is a file that sits in the root of your website and is intended to provide rules for search engine crawlers – robots – about what they can and can’t crawl.
When a blog or website is being developed, many web developers use the robots.txt file to make sure search engines won’t crawl the development site. Then, when the site goes live, they remove the blocking rules from robots.txt to allow search engines to see the website.
Sometimes they forget to remove those blocking rules, which is why we always want to check the site’s robots.txt file.
This is the Beacon blog’s robots.txt file: http://blog.beacon.by/robots.txt
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
As a typical robots.txt file for a WordPress-based blog, there’s nothing here that stands out as unusual. There are no rules preventing Google from crawling the site’s regular content.
The only rules in the file pertain to the site’s back-end administration section, where of course we don’t want search engines to look. We don’t want our login-protected admin pages showing up in Google’s search results, do we?
Unfortunately, by having these /wp-admin/ blocking rules in our robots.txt file, we commit an error which is not SEO related but has to do with your site’s security: you’re basically broadcasting where your site’s back-end login area is. Your site’s robots.txt file can be seen by anybody, including hackers who often use automated systems to scrape robots.txt files on a massive scale and harvest your website’s login folders from them, so they can then use brute force attacks to try and hack in to your website’s back-end.
So while most WordPress sites will have these robots.txt blocking rules in place, it’s not the best way to secure your site. Google won’t crawl your login folders, but because everyone can see exactly where these folders are, it doesn’t actually secure your site in any way.
A better option is to not include the login folder in your robots.txt disallow rules at all. Rather than rely on robots.txt blocking to prevent search engines from crawling your back-end, you should use the meta robots tag instead.
By including the following meta tag in all your back-end administration pages, you can make sure Google and other search engines never index them, thus keeping them invisible from hackers:
<meta name=”robots” content=”noindex, nofollow”>
Another way to accomplish the exact same thing is to serve the so-called X-Robots-Tag header in the HTTP protocol when a search engine tries to crawl your back-end pages. With the X-Robots-Tag HTTP header you can send the signal to Google and other search engines to keep the admin pages out of its index, and also not crawl any deeper pages under the /wp-admin/ folder.
Generally speaking, putting some basic security measures in place on your WordPress blog is highly recommended. Because it’s such a popular platform, WordPress sites are a prime target for hackers. So make sure you lock down your site and don’t rely on the standard WordPress login to keep your site secure. There’s a great guide on Yoast.com on how to secure your WordPress site: https://yoast.com/wordpress-security/
So now we’ve checked the site’s robots.txt file and there’s nothing preventing Google from crawling the site. Unfortunately, that doesn’t mean Google will actually crawl your content – it just means nothing is preventing Google from doing so.
There’s a way that you can tell Google exactly which pages you want it to crawl and index. You simply have to provide a list of pages on your site that you want Google to crawl.
The way you go about providing this list to Google is through a so-called XML sitemap. This is a file listing all your website’s pages in the XML format.
WordPress does not provide an XML sitemap in a standard installation, so you will need a plugin to generate an XML sitemap file for your site. Fortunately, the folks at Beacon have installed such a plugin – they have the Yoast SEO plugin on their blog, which among its many features has an option to generate XML sitemaps.
Through the Yoast SEO plugin you can specify exactly what pages and posts you want to include in the XML sitemap for Google to crawl. When you’re just starting out, it’s easiest to just keep the plugin’s default settings.
Now, just having the XML sitemap is not enough – you need to tell Google about your sitemap, so that it knows you have one and can use it to crawl your site. This is done through Google Search Console.
If there is just one thing you do after reading this blog, it should be going to Google Search Console and looking at your website’s information. There’s a lot written about how to use Google Search Console, so I won’t repeat that here. Moz has a great beginner’s guide to Search Console, so start there and get stuck in.
When we look at the Search Console for the Beacon blog, we see that their XML sitemap has not been submitted:
So the first thing we need to do is submit the sitemap that the Yoast SEO plugin has generated to Google Search Console, to allow Google to crawl and index the blog’s articles.
Submit the sitemap using the Add/Test Sitemap button. When adding a new sitemap, it’s recommended you test it first before you submit it, to make sure there aren’t any errors.
Once you’ve submitted your XML sitemap, Google Search Console will then start showing information about it:
Because we’ve only just submitted the sitemap, there’s no data yet. After a day or so you’ll see information here about how many pages and images your XML sitemap contains, and how many of those Google has included in its index.
Also, if Google finds any issues with the content you’ve included in your XML sitemap, this report will let you know.
Now Google doesn’t just rely on your XML sitemap to crawl your website. It also performs standard web crawls, where it starts from any page on your site and then tries to find links to other pages to follow and crawl.
Google’s web crawls often start at your site’s homepage, but sometimes they also start on other pages, like individual articles. Web crawls are usually triggered when another site links to your site and Google follows that link. The page that the link points to is where Google will usually start its web crawl.
So if one of your blog articles has links from other websites, you can guarantee that Google will use that blog article as the starting point for a web crawl.
Many sites rely on their main navigation to make sure that search engines can find and crawl all the right pages in a web crawl. In my experience, this is not always sufficient. It’s generally a good idea to provide Google with additional pathways to follow during a web crawl. That means you have to link to other pages on your blog from within your blog content.
Such internal linking has a secondary benefit: you can completely control the link’s anchor text – the text that contains the link – and search engines pay a lot of attention to the anchor text to determine the topic of the page you’re linking to.
For example, if you have the following link on your site, it’s pretty clear to Google what the topic is of the page you’re linking to:
When you’re planning your next trip to Las Vegas, make sure you read our list of top 10 hotels in Las Vegas to pick the right place to stay.
There’s no doubt about the kind of content you’ll be looking at after you click that link. And, from an SEO perspective, that link makes the linked-to page more relevant for searches like ‘best hotels las vegas’, helping that page rank better in Google’s search results.
So internal linking is a very powerful SEO tactic, and you should definitely use internal links on your blog to help web crawls as well as improve your content’s rankings in Google.
The Beacon blog doesn’t use a lot of internal links – each article has a few links to external sources, but rarely are there links to other articles on the Beacon blog itself.
Also, the blog has no sidebar with links to content categories or tags. So if you want to find all blog posts tagged with ‘content marketing’, you first need to find a post that has ‘content marketing’ as a tag and then click on it to see all blog posts with that tag. It would be much easier if there was a sidebar widget that showed all the blog’s tags, allowing users – and search engines – to easily find all blog posts on a specific topic.
On my own blog, I’ve implemented that in a ‘word cloud’ format, where the size of the font indicates the relative amount of blog posts with that tag:
This ‘Blog Topics’ widget is present on all my blog pages and articles, enabling users (and search engines) to quickly find (and crawl) all my content on a specific topic.
This is something the folks at Beacon should definitely implement to make their blog more easily crawlable, as well as help readers find the right articles more quickly.
Don’t use too many different tags, though. Keep your list of tags tight and focused – if you have too many different tags, you run the risk of confusing search engines rather than helping them. When search engines see dozens & dozens of tags on your site associated with the same blog articles, then those tags add no real value to the blog. Manage your blog’s tags effectively, and only create a new tag if you really feel it’s necessary.
2. Does Google understand my writing?
Now that we’ve made sure Google can crawl our blog, we next need to make sure that it understands our content so that it can be ranked for relevant searches.
It’s important to realise that when you write content, you’re not writing it for Google: you’re writing it for people. The purpose of content is to be read by people. Search engines are just a channel through which people discover new content to read.
So whenever you start optimising your content for SEO, always keep in mind that search engines are, at best, a secondary audience. In the end, your content should always be aimed at your human audience. Never let SEO considerations override your content’s quality for human readers.
Now, with that caveat out of the way, let’s look at how you can make sure search engines can understand your content properly, and rank it for the right search terms.
Finding the right keywords
While Google’s search engine software is incredibly smart, it does need to be helped along now and again. Google isn’t always capable of understanding what a piece of content is about just by looking at the text. If you want your content to rank for certain search terms, it helps to have those search terms embedded in your content.
You have to know which search terms you should be aiming for. What are people actually searching for on the web, and which search terms should you try to rank for? This is called keyword research.
There’s already so much written about how to do keyword research that I don’t need to repeat that here. Instead I’ll refer you to this great beginner’s guide: http://www.seonick.net/keyword-research/
After you’ve done your keyword research, you need to know where to embed your chosen keywords. Roughly speaking, Google looks at the following elements of a webpage to determine what that page is about:
- Title tag
- Page URL
- Body content
Title & URL
Let’s start with the title tag. This is your page’s main title and Google looks at it to determine what your page’s content is about. The title tag is part of your page’s source code, so you won’t see it on the actual page.
As we’ve established before, the Beacon blog uses the Yoast SEO plugin, and that has the Snippet Editor to allow you to specify a title tag for every page on your site:
With the Snippet Editor from Yoast SEO, you can manually craft title tags for every one of your blog’s articles. As a rule, your titles should be around 65-70 characters long, and contain your article’s main keyword at least once.
The Snippet Editor also allows you to specify the blog page’s URL, which is another important SEO element. Take the following two example URLs:
There’s no doubt about which is the better URL, is there? Ideally, a user should be able to determine what your blog article’s topic is just by looking at the URL. You can define the URL of your articles with the ‘Slug’ field in Yoast SEO.
When creating URLs for your blog, try to keep them short and straightforward. Shorter URLs tend to work better for SEO than longer ones. Just make sure you get your article’s main keyword in there.
Headline & Header Tags
Next we look at the blog article’s headline. Ideally this aligns well with your title tag. When your title and headline are too different, you’ll only end up confusing Google about what your page’s actual topic is. So your headline and title tag should be very similar.
There’s a technical SEO best practice for headlines, and that is to make it the page’s <h1> header. In HTML you can use header tags like <h1>, <h2>, <h3>, etc., to indicate content headers and subheaders.
Because your blog articles have only one headline, your page should have only one <h1> header tag. You can use subheader tags like <h2> and <h3> as often as you want, but each page on your site should have only one <h1> header, and that should be the page content’s main headline.
On the Beacon blog, the content headline is indeed a <h1> HTML tag. For example, on this blog article the headline is in a <h1> tag:
<h1>The 80/20 Rule and Time Management</h1>
However, every page on the Beacon blog also has a second <h1> tag: the main beacon logo at the top of the page is also a <h1> header tag.
<h1 class="site-title"><a href="http://blog.beacon.by/">Beacon</a></h1>
While Google often handles multiple <h1> headlines reasonably well, I always recommend to have only one <h1> header per page, to minimise the risk of Google looking at the wrong headline to determine a page’s content.
So in this case I’d recommend that the Beacon blog change its code a bit, and not use the <h1> tag for its logo.
When looking at the header tags used on the Beacon blog, I also found another small issue: the blog has a subtitle (common with WordPress blogs, where you can specify a site description) which is present in every page’s source code right below the Beacon header:
<h2 class="site-description">Automatically convert evergreen blog posts into a professional, interactive eBook without any help from a designer.</h2>
Nothing wrong with that at first glance. However, try as I might, I can’t see this subheader anywhere at all on the actual page in my browser. It should be present right underneath the Beacon logo, but it’s not there – nor is it visible anywhere else:
In this case it’s only a small oversight and not likely to lead to a penalty. Nonetheless, I’d recommend either showing the subheader on the site, or omitting it from the source code altogether.Google doesn’t like it when you have content in your source code but it doesn’t appear visually on the page. This is called ‘cloaking’ and can sometimes get sites penalised in Google.
Now what about body content? There are a lot of misconceptions about how long a blog article should be. First of all, let’s look at the data. There have been several studies over the years about an article’s word count and its performance in search results.
I like this graph from Brian Dean, showing the strong correlation between number of words in a piece of content and its rank in Google’s search results:
At first glance this would indicate that your content should be around 2000 words long. However, that is probably too short-sighted an approach. It’s not about word count per se – it’s about publishing meaningful, engaging, sharable content.
Your content’s ability to rank in Google depends first and foremost on how useful the content is, and how much people like it (more on that in the next section where we talk about trust). And, generally speaking, longer content tends to be more useful, and gets shared more often. That in turn amplifies the trust signals that Google relies on to rank the best content.
So don’t focus too much on word count. Focus on usefulness. Focus on adding value for your readers. Focus on publishing worthwhile content that answers questions, helps your audience, and establishes your authority and expertise.
Sometimes that will mean a long-form article with thousands of words. Sometimes it’ll end up as a short 300-word piece of advice. Length doesn’t matter. As long as your content is as good as it can be, the word count is irrelevant.
The formatting of your content is pretty important, though. No one enjoys reading big ‘walls of text’. You have to make your content visually appealing, and easy to digest. Here are some tips to improve your content’s visual appearance:
- Write short paragraphs;
- Plenty of whitespace to break up the text visually
- A large font size to aid readability
- Use subheadings to indicate sub-topics;
- Useful for both readers and search engines
- Include relevant topical keywords in your subheadings
- Add images that complement your content;
- Give them good alt-attributes and caption texts
You can also use bold text and emphasised text to make words or sentences stand out to help amplify your message. However, avoid underlined text – people tend to associate that with links, so make sure only your links are underlined and don’t use it for formatting purposes.
3. Does Google trust me?
The last piece of the SEO puzzle is about trust. Google needs to know your website is valuable and trustworthy, otherwise it won’t rank your content. This is why new, recently established websites often struggle to get traction in search results, because they haven’t yet built up the required trust that allows them to rank well in Google’s search results.
So how do you make sure Google trusts your site? When Google was first launched back in 1998, they were the first search engine that looked at how websites linked to one another to determine which site was the most trustworthy.
Google’s theory went that if a website was linked to a lot from other websites, that site must be most trusted. In Google’s eyes, a link serves as a recommendation from one website to another. For example, when you include a link in your content to Wikipedia, you are saying ‘I trust Wikipedia so I will send my readers there to get more information’. Google sees this link and accords a bit more trust to Wikipedia, allowing it to rank higher in Google’s search results.
After all these years, links are still the cornerstone of Google’s ranking algorithms. If your blog doesn’t have incoming links from other websites, you’re not going to do very well in Google.
But it’s not about the sheer quantity of links – Google has gotten smarter about evaluating links to and from websites, and is now able to determine the quality of a link.
The best kind of links are those from websites that are relevant to yours, sites that talk about similar topics and have a similar audience. And ideally these websites need to be trustworthy as well, with plenty of inbound links themselves.
Now, how do you go about getting more links to your site? Again, there are great linkbuilding guides out there so I don’t need to repeat their lessons. I recommend you start with this resource from Backlinko: http://backlinko.com/link-building
Measuring Your Link Profile
Before you get started with linkbuilding, it’s worth having a look at how good your website’s link profile is at the moment. Google gives you some information about your website’s incoming links – in Google Search Console there’s a report called ‘Links to your site’:
It’s not a bad start, but personally I don’t feel this gives me enough information.
I’m a big fan of a tool called Majestic, which has its own database of how websites link to each other. More importantly, Majestic gives you an indication of what a website’s topical focus is. That allows you to see if your incoming links are from relevant websites:
Majestic uses two metrics to evaluate the quality of your link profile: Trust Flow and Citation Flow. These two metrics indicate how trustworthy your website is (Trust Flow) and how often your website is linked to across the web (Citation Flow).
Trust Flow especially correlates well with high rankings in Google. Often we see websites with a high Trust Flow perform well in Google’s search results.
Keep in mind though that these metrics, and those of other link analysis tools like Ahrefs and Open Site Explorer, are all just 3rd party approximations of Google’s own algorithms. We don’t know exactly how Google’s internal trust algorithms work, so we have to rely on these 3rd party tools. It’s not an exact science, but it can help you with picking the right websites to try and get links from.
Looking at the Beacon blog, it’ll be immediately clear that the site does not have a lot of inbound links from other websites. Getting more links to their site will need to be a priority for the folks at Beacon.
Fortunately, the nature of their blog will lend itself well to acquiring more links. By publishing great, insightful, and useful content (as per above) and making sure this content is promoted to a wide audience, you can get new links pointing to your site very quickly. People need a reason to put a link from their website to your website, and there’s no better reason that having great content on your site that people want to read and refer to.
In the course of this article I’ve linked to many different websites, because each of them features a piece of content that I find worthwhile and useful. These links will help those websites perform better in Google’s search results.
In turn, I hope this article will earn links as well. I’ve tried to make it useful and helpful enough for other bloggers to share and like on social media, and link to from their own articles. These links will help the Beacon blog perform better in Google’s search results
SEO can be very complicated and hard to understand. But at its core, it’s all about making sure search engines can find your content, understand what your content is about, and trust your website enough.
The folks at Beacon have a few things they need to sort out before their blog is in peak SEO condition. But overall, the site is in great shape and there are no huge obstacles for SEO success.
When you’re just starting out as a blogger, don’t worry too much about SEO. Instead focus on producing useful content and sharing it far and wide, so you can build a loyal audience and establish yourself as a trusted voice online.
When your blog becomes bigger and more complex, then other SEO elements will start to come in to play. Especially technical SEO can become very important to give you an edge in Google’s search results and ensure your content is quickly crawled and indexed. If you want to read more about technical SEO, I’ve written a beginner’s guide here: https://learninbound.com/technical-seo-is-absolutely-necessary/
Overall, the Beacon blog is in pretty good shape. It’s built on WordPress, which is a great blogging platform that does a lot of things right out of the box. With the Yoast SEO plugin installed, nearly all necessary SEO features are active on the site.
It’s now up to the folks at Beacon to make the best use of those features in aid of their top-notch content.