Blog SEO is the practice and process of using blog posts to rank or appear highly for specific keywords in search results.
A keyword is simply a search query or text that someone enters into a search engine like Google. Many keywords are questions, and blog posts are wonderful for answering and addressing these questions.
While there are many types of SEO, blog SEO, often called content-led SEO, is typically a great place to start when building an organic search channel.
Having written hundreds of blog posts over the last decade, I’ve learned a few things.
In this article, I recap the 29 best practices you should follow when writing your first blog post for SEO or optimizing your existing blog content for improved search engine performance.
Heck, this might be the longest blog post that I’ve ever written. Buckle up; there is a lot for us to cover.
Should I Use a Blog Post for a Particular Keyword?
Before we get into the tactical suggestions, it is worth mentioning that we should verify that a blog post is the right type of web page to create.
SEO can be a lot more than just blog posts. There are product pages, landing pages, programmatic pages, and, of course, blog posts.
If you are ever confused about whether you should create a blog post to serve or rank for a specific keyword, the easiest thing to do is to Google that keyword and check out the search results. For example, for the keyword “how to write a blog post”, the first four search results are all blog posts:
So, for a keyword like this, we’d want to create a blog post, as Google clearly prefers this format for this search query.
Once you’ve confirmed that a blog post is the right format or aligns with the search intent for the keyword you’d like to target, we can start writing that piece of content.
Now, for the tactical tips.
While there are many search engines besides Google, this blog post's recommendations are primarily for Google, the most dominant search engine by market share.
Pick A Strong Primary Keyword
Each blog post you create should have a primary keyword. Your primary keyword is the main search term or query you’re targeting with a web page.
There are many different ways to perform keyword research or uncover the keywords you want to target with your website.
For example, you could look at competitor websites or web pages to see what keywords they are ranking for. Or, you could iterate within a keyword research toolset to view search volumes and keyword difficulty scores for many keywords within a topic space.
If you identify multiple, very similar keywords during your keyword research process and are wondering which should be the primary keyword, you should choose the keyword variant that has the highest monthly search volume or is most specific to the blog post you want to write.
During your keyword research, you might identify secondary or long-tail keywords that you also want to target. Note those down as you do your research, and we will return to them shortly.
Your primary keyword is the keyword you use in your H1, URL slug, and the keyword you hit clearly within the intro section of your post. If you are using a content optimization tool, it is the primary keyword you use to generate a report. More on all of this later.
Use Header Elements Strategically
Headers are helpful for readers and search engines. While Google will say that headers, or keyword-rich headers, aren’t required or necessary, I’m making Google’s life as easy as possible.
You’ll want to use your primary keyword in the H1 of your blog post:
You can then use your H2s, H3s, and H4s to get more specific to target secondary keywords and long-tail keywords.
Moreover, Google will often pull your headers, such as your H2s, into SERP features, such as feature snippets and AI Overviews.
Headers are important for search engines and readers navigating your web page. Proper header implementation will help break up the wall of text and keep folks scrolling. It is also important for the more than 2.2 billion individuals with visual impairment who might be using screen readers.
Write Engaging Title Tags and Meta Descriptions
Before publishing your blog post, you should write an engaging and descriptive title tag and meta description.
Your title tag is the title that gets pulled into the search engine results page (SERP) and what will convince someone to click on your result. Your title tag can even be the same as your H1.
Try to use engaging words and numbers in your title tag to stand out. For example, above, I’ve mentioned that we share “9” “best practices”, and I hit our primary keyword, “URL slug”, clearly in the title tag.
The general rule of thumb is to keep your title tags between 50 and 60 without exceeding 65 characters. Otherwise, your title tag might get cut off in the SERPs:
Your meta description is the description that is shown below your title tag. While Google will often re-write your meta description, it is still a best practice to write one. And if you include your primary keyword in your meta description, Google will bold it in the SERPs:
Your title tags and meta descriptions can be changed as often as you see fit. It might take some post-publishing experiments to find the combination that drives the highest click-through rate (CTR) from the SERPs. Improving your CTR from the SERPs will drive more traffic to your blog post, but it will also signal to Google that your webpage is important, and you’ll likely see ranking improvement, too.
Use Your Primary Keyword in Your URL Slug
By looking at the permalinks on our blog, you can quickly identify all of the primary keywords that we are trying to target with our blog posts.
When publishing your blog post, you should use your primary keyword as the URL slug, as we’ve done with this blog post about AI Overviews:
While it is a small ranking factor, some data does suggest that shorter, more focused URL slugs tend to perform better in search results.
Some SEOs would argue that before Google even crawls your webpage, the first context that it gets about what your webpage could be about is from the URL itself.
Avoid overly long URL slugs, for example, /blog/best-crm-softrware-tools-to-use-right-away-in 2024, and go with something clean and direct like /blog/best-crm-software.
You’ll want to avoid using dates or numbers in your URL slugs, as these numbers might change in the future during a content refresh or as the years change. And you’ll want to save yourself the headache of changing URLs and implementing a 301 redirect in the future.
Incorporate Graphics and Videos, if Possible
You might have noticed that I’ve included more than a few graphics and screenshots in this blog post. Starting with the featured image at the top of this piece. This is on purpose.
Readers don’t want to land on or consume a wall of text. You should incorporate helpful visuals throughout your blog posts to showcase examples, break down complex topics, and keep readers engaged.
After all, Google looks at engagement metrics to determine if your blog post, or, as they would say, your document, is a good one.
Beyond screenshots, we will often create high-quality visuals to embed directly into our pieces to help explain complex topics:
Generally, I lean against stock photos, as they can leave the reader feeling uninspired. Creating helpful graphics is pretty easy these days with tools like Canva and platforms like Fiver. Most of the graphics you see across our blog were created by a freelancer we hired on Fiverr, who charges about $20 per graphic.
If you are already creating video content, embedding those videos into your blog posts is a wonderful way to keep readers consuming content from your webpage and will help to keep folks on your webpage longer.
We will often embed videos from YouTube within our pages; for example, we quoted John Mueller and provided a direct embed to the Google Search Central hangouts within our page:
Say Something Uniquely Helpful
Source: Google Search Central, How Google Defines Helpful Content
Google’s helpful content system is running continuously now, and you may have heard about all of the recent helpful content updates, or algorithm updates working to reduce the visibility of unhelpful content and increase the visibility of helpful content in the SERPs.
The days of writing cookie-cutter SEO content are over. They will be missed, coming from someone who, early in his career, published thousands of cookie-cutter SEO blog posts. SEO used to be a little easier, at least as far as creating blog content goes.
Today, Google is asking us to say something new, or as Mike Haney said on the Optimize podcast, to add something new to the internet.
Fortunately, Google provides some great documentation here, which I’ve recapped in our guide on helpful content.
We can use many tests; for example, does our content provide original information, reporting, research, or analysis?
Or, for example, does our content provide insightful analysis beyond the obvious?
My personal favorite, does our content provide substantial value when compared to other pages in search results?
There are many ways to create helpful, unique content that adds something new to the internet. Throughout our blog posts, I share personal stories and experiences, and I’ll often quote outside experts into our pieces, for example, quotes from guests on our weekly SEO podcast.
And it doesn’t necessarily need to be words on the page. Helpful graphics and videos are one way to differentiate your web pages from existing search results.
When creating your blog post, you should consider this question: What is my blog post adding to the internet?
If we can’t answer that question, I think ranking well in search engines will be much harder.
Avoid Plagiarism and Heavily AI-Written Content
Two parts here: plagiarism and AI-generated content
We definitely want to avoid plagiarism. If you are hiring freelance content writers, you’ll want to check their work to make sure that it is original and that they haven’t heavily paraphrased another piece of content on the Internet.
You could run into duplicate content issues if you or your writers copy and paste or heavily paraphrase large amounts of text. It is also just not cool (stealing).
Tools like Copyscape are very low-cost and will check your blog content for plagiarism issues. We’ve integrated with Copyscape as part of our AutoDetect toolset.
I’m not completely against AI-generated content, but I am against the way 99% of companies want to use it.
Simply generating 700 blog posts with a tool like ChatGPT and blindly publishing them on your website isn’t a great strategy. Yes, I’ve seen this done recently, and ultimately, none of these blog pages are actually indexed in search results.
There are certain situations where AI-generated content can make sense.
For example, I spoke with Alex Ross from Greg about their AI-generated content strategy and was really impressed with their approach. Greg, an app for plant care, has a massive UGC community, and the team at Greg is using their UGC dataset as the source of information for ChatGPT. The result is that they are creating content with AI, but that output is extremely unique and differentiated from anything else online. And it is really working for them:
Mass-producing content with an AI-writing tool as a means to manipulate search results would be against Google’s guidelines.
Source: Google’s Spam Policies
If you publish plagiarized content or content heavily written with an AI writing tool, you likely aren’t creating helpful content or adding anything new to the internet.
Choose The Right Word Count
While Google has said that you don’t need to hit a specific word count just to hit a specific word count, I do think that for most blog topics, there is a recommended length.
Our research found that, on average, the top-ranking search results are typically at least 1,300 words.
But it does vary depending on the keyword we are targeting. For example, if we are targeting a very broad keyword like “artificial intelligence” for a pillar page, we could probably say a lot, perhaps 2,000-3,000 words. However, targeting a topical long-tail keyword that only requires a very short and pointed blog post might only need 700-1,200 words.
Whenever I’m outlining a piece of content, I try to determine the optimal number of words to use. Typically, I’ll start by analyzing the top-performing search results and calculating the number of words they use. You can do this manually or with a content optimization tool.
My approach is to deliver Google a blog post of similar word count or length to what is currently ranking best for the keyword.
Don’t Forget About Readability
You want your blog post to be easy to read.
We know that Google looks at user-experience metrics like scroll depth, dwell time, and bounce rate, even if they don’t call these metrics by these exact names, to determine if users are having a good experience on your webpage.
If your webpage is really hard to read, folks will drop it off and leave it.
You should use paragraph spacing generously.
And ensure that the content itself is easy to read. We use the Flesch-Kinkaid tests and scoring when determining the readability of our pieces.
Of course, you need to compare the readability of your content to what is already performing best in search results today, given that two topics might naturally be very different in terms of expected readability.
You can perform this analysis manually or use a content optimization tool.
Hit The Search Intent Quickly in Your Intro
You’ll want to hit your primary keyword and its search intent very quickly within your piece of content. You’ve only got a split second to convince the reader that they are in the right place and that they shouldn’t bounce.
For example, I recently wrote an article about bottom of the funnel keywords, and in the introduction of my piece, I clearly defined what the bottom of the funnel is and provided examples of keywords that one might consider:
You should avoid overly long introductions that don’t quickly provide the searcher with what they seek. You want to get to the meat of the question quickly, provide value, and then use a hook to convince the reader to keep reading.
By improving metrics like bounce rate and dwell time, you’ll signal to Google that your webpage is good and that it serves the required search intent. And if you drop the ball with a wonky intro, there is often no recovery.
Whenever I’m doing content refreshes, I’ll actually start first by looking at my intro sections for opportunities to improve, especially if I see a lot of dropoffs very quickly in our Content Analytics toolset.
Ensure That Your Blog Loads Quickly
Simply put, you’ll want your blog content to load quickly. Or at least pretty quickly.
In Google Search Central, Google reiterates that they believe Core Web Vitals are important when it comes to ranking well in search results and to ensure a great user experience:
Google provides performance data in Google Search Console and their PageSpeed Insights testing tool.
There are many ways to improve page performance, such as compression.
Suppose your blog has serious performance issues, yes. In that case, those are worth addressing, but as long as things look generally fine, at least as far as SEO goes, making micro-optimizations to improve metrics like Largest Contentful Paint are probably not great uses of time.
Work on Internal Linking
Internal linking is one of the most underappreciated aspects of SEO.
Every time we publish a new blog post, I work to internally link from it to other relevant pages on our website, as you’ve likely seen throughout this post so far. I’ll also go back to previously published content and link forward to this new blog post.
For small websites just getting started, internal links help search engines understand what your website is about and are a good source of information. By linking from one related blog post to the next, you are building a spider web of connectivity across your website, which I believe is extremely important for building topical authority.
For more established websites, internal links help search engines discover and crawl your web pages faster and can be used to signal which web pages on your website are most important.
Internal links also shift PageRank, or page authority, from one web page on your website to another. While PageRank sculpting is likely overkill for most websites, know that if you internally link from one web page with a high page authority (lots of backlinks pointing to it) onto another web page on your website, PageRank will pass onto the linked web page, bolstering its authority, too.
Plus, internal links are just helpful for readers navigating your blog. They can help folks discover other related content, keep readers on your website longer, and increase the odds that you’ll eventually be able to convert that reader into a subscriber, customer, or whatever they might want to be.
Can you overdo internal linking?
Probably not, but you don’t want to create a wall of hyperlinks:
I generally lean towards doing what is best for the reader. If adding an internal link is helpful, I add it, but I try not to force internal links if they are wonky.
Optimize for Longer-Tail Keywords
A long-tail keyword is a more specific keyword, often with a lower search volume and lower keyword difficulty.
There are two types of long-tail keywords: supporting and topical.
Supporting long-tail keywords are those you should try to hit or address directly within your content. On the other hand, topical long-tail keywords are those that need to be served with more specific web pages.
During your keyword research, you might identify supporting long-tail keywords that you should include in your piece. I generally advise against trying to stuff keywords into your blog posts and instead use those keywords as a roadmap for what we should focus on within our content outline before we start writing.
You can use supporting long-tail keywords in the header elements of your webpage and throughout your content.
There are tools that you can use, too. For example, tools like Positional’s Optimize toolset, Clearscope, and Surfer SEO will provide you with long-tail keyword suggestions to incorporate into your blog post:
When using a content optimization tool, don’t feel pressured to use every keyword suggestion; I would do what is most natural for the reader.
Target SERP Features
A SERP feature is any element within a SERP that doesn’t conform to the traditional format.
For example, you’ve got featured snippets; People Also Ask (PAA), AI Overviews, and so many other SERP features these days.
If you see SERP features appearing during your keyword research process, it might be worth spending a few minutes to see if you can optimize for placement in one.
For example, if you are targeting a PAA box, you might try to answer or address similar questions within your blog post:
Or, for example, if you see that Google is displaying an ordered list for a featured snippet, it might be worth implementing an ordered list in your article, too:
I wouldn’t do anything unnatural for the reader, but if possible, mirroring the structure of certain SERP features within your blog pages will increase the likelihood of your search results getting pulled in.
As far as AI Overviews go, it is too early to definitively say, but we’ve had some success modifying our blog pages for inclusion in AI Overviews. Our experience has been that Google already knows what it wants to display in an AI Overview, and we will want text included in our blog post that has a high cosine similarity to the text that Google already displays. This theory aligns with a recent Google patent, and we’ve seen it work in practice.
Avoid Over-Promotion
You’ll want to be careful not to be overly promotional about your product and services within your blog post.
Of course, if there are opportunities to promote your product and service subtly within the piece, do it, but it is a balancing act.
A mistake that I see many companies make with their blog posts is that they take a very evergreen topic or a keyword at the top or middle of the funnel and overpromote themselves without actually going in-depth into the topic itself.
First and foremost, you want to address the search intent of the primary keyword and ensure that you deliver everything that the reader is looking for. Second, we should look for opportunities to promote ourselves within that piece of content.
For example, for a keyword like “what is a CRM” we wouldn’t want to publish a piece of content like this: What is a CRM? | Salesforce is the Best CRM”
This searcher isn’t looking for Salesforce (yet), and we shouldn’t tilt the blog post into a commercial.
Of course, if we are targeting keywords towards the bottom of the funnel, it might be more natural to promote our product or service more aggressively if a reader is looking for a solution, tool, or software today.
In this piece of content, you likely noticed a few CTAs to specific products we offer, but I hope it was natural and didn’t disrupt the flow of the piece or the value you received.
Source Appropriately
When making claims in your blog post, it is important to refer to the primary sources of information that support your argument.
This is especially important for companies creating content in your Your Money or Your Life (YMYL) organic search category, such as finance or health topics.
While our website isn’t in a YMYL category directly, I still go out of my way to source. For example, in our piece about dwell time, I sourced documents released by Google that back up my argument or stance.
Sourcing is helpful for folks reading your blog posts and, in my opinion, helps to demonstrate trustworthiness and authoritativeness to Google’s algorithms.
Hire a Copy Editor
God knows that I need a copy editor.
While I love writing blog posts, I need a copy editor to review my pieces before publishing them. I can get a little wordy, and I’m certainly not a trained journalist or English major.
Whether you are creating content with freelance writers or writing yourself, I would advise hiring a copy editor to help you turn those drafts into the final product, especially if you are planning to ramp up blog content production quickly.
Our copy editor, Charles, helps me edit our blog content for readability, spelling, and grammar and often helps with fact-checking specific claims within our pieces of content. An editor might also help you hit longer-tail keywords and point out internal linking opportunities while they edit.
Copy editors are usually pretty affordable, charging about $50 per hour to edit blog posts and spending a couple of hours per post.
Include an Author and Author Bio
Remember to include an author and author bio on your blog post. People like people, and when a reader lands on your page in that split second, you want to build trust with them.
I would add the author to the top of your blog post with a smiling picture as we do on our blog posts:
And then you’ll want to include a bio for the author explaining why they are an expert in the space and why the reader should trust what they are reading:
This context is helpful for Google, too. Google’s Search Quality Rater Guidelines discuss at length the importance of determining a website's reputation, credibility, E-E-A-T, and the creators of the content specifically.
While adding an author to your webpage likely won’t move the needle right away, Google algorithms will likely try to understand the credibility of your website and its content and will correlate characteristics of high-quality websites, like the Wall Street Journal, which certainly provides author information, to characteristics of your website to understand whether it is likely a high-quality one or not.
You could do this manually for each post or configure your CMS to display the author and author bio automatically.
Publish Your Blogs on Your Primary Domain, If Possible
It might be easier to launch your blog on a subdomain versus on a path on the primary domain (ex /blog), but for the long term, I would recommend putting your blog on your primary domain if the content you are publishing is closely related to your website’s core topic.
My recommendation is in line with Google’s Search Advocate, John Mueller’s 2022 post on Mastodon in which he commented on the use of subdomains, saying:
While Google has gotten better at understanding sitewide signals, including the content you’ve published on a sub-domain, my experience has shown that content generally ranks faster and better when published in the primary domain.
Ensure That You’ve Got a Blog Sitemap
Currently, most content management systems (CMS) automatically generate sitemaps for you. But if not, you’ll want to create one that includes your blog’s URLs.
As you might guess, a sitemap is a map of your website or a list of all the URLs on your website. Sitemaps help search engines find your new URLs faster. You can also submit your sitemap directly to Google using Google Search Console.
If your blog is hosted separately from the rest of your website, you might have a separate sitemap for your blog pages specifically.
If this is the case, ensure you have both sitemaps in your Robots.txt.
If You are Using Webflow
These days, lots of folks are using Webflow.
If you are using Webflow, ensure your blog’s URLs are included in your sitemap. You actually need to turn on this setting under Settings > SEO > Sitemap:
And then republish your website.
Noindex Category and Tag Pages
Depending on your CMS, your blog might automatically have category and tag pages created for it.
While category and tag pages might be helpful for navigation, my advice would be to noindex them or specify to search engines that these web pages shouldn’t be included in search results.
I’ve found that category and tag pages often confuse search engines and lead to keyword cannibalization for my websites.
The exception would be if your category and tag pages are already ranking for some keywords and driving meaningful traffic. Keeping them would be alright if that is the case, but this is very unlikely for most blogs.
Build Backlinks to Your Blogs
Backlinks have always been a popular topic, and rightfully so, as they, or PageRank, have always played an important role in determining search engine rankings.
Building backlinks to all your blog posts might be unrealistic or unnecessary, depending on your website's size.
But if you’ve got very important blog posts or keywords that are really important to you, building some backlinks strategically to those blog posts might bolster your search engine rankings.
You can proactively build backlinks to your pages through several methods, like guest blogging. Guest blogging is a strategy in which you publish content on other related blogs or websites and strategically link to web pages on your website within that content.
But if you create fantastic blog posts, your web pages will likely accumulate backlinks naturally over time.
If certain web pages on your website are accumulating backlinks, remember to internally link from those web pages to other web pages on your website that you care about. Internal links help shift page rank, or authority, onto other pages on your website and will help them rank better in search results, too.
Refresh Blogs Regularly
I’m a big believer in content refreshes, and I tend to view every piece of content on our website as if it were just published today. In the middle of 2023, I wrote a blog post about title tags, and frankly, for the first 6-12 months, Google gave this blog post very little attention. It hardly ranked for any keywords, and the ones it ranked for were low.
But on May 15th, I refreshed this blog post, made some updates and improvements, and almost overnight, it experienced a significant uptick in organic search traffic and the number of keywords it was ranking for:
While Google says that you don’t need to update content just for the sake of it, if there is an opportunity to revisit old blog posts and improve them, I’d say do it.
Request Indexing if It Doesn’t Index Right Away
As your blog grows, you’ll notice that your blog posts will index faster and faster. But if you are just starting blogging, you might need to request that Google index your blog posts manually.
In Google Search Console, you can inspect a URL by dropping it into the search bar at the top of the screen:
If your blog post hasn’t been indexed, you can click Request Indexing to ask Google to crawl and index your blog page.
I promise you won’t need to do this forever, but in the very beginning, if you’d like your blog pages to index and rank faster, this might be helpful.
Other tactics, like internal linking and submitting a proper sitemap in GSC, will also help to get your new blog posts indexed and ranked faster.
Don’t Forget About Mobile
According to Sistrix, the majority of searches occur on mobile devices. And in 2020, Google announced that it had switched to mobile-first indexing.
You’ll want to ensure that your blog’s UX/UI is mobile-friendly and that mobile isn’t an afterthought.
On mobile, there are a few things to keep in mind:
- Responsive Design: Your blog should resize to fit the screen size being viewed on, including mobile and tablet devices.
- Page Speed: Page speed is important, especially for folks searching on mobile devices. On mobile, you only have a split second for your webpage to load before readers get frustrated and click that back button.
- Use Larger Font Sizes: Given the smaller screen size, you might want to increase the size of visual elements in your webpage and font size.
- Keep Designs Simple: It is best to keep your designs simple on mobile. On our blog, you’ll notice that our mobile design is slightly stripped down, which makes for an easier read for folks on the go.
Depending on your industry, you might see wildly different mobile versus desktop traffic. For example, I was talking with a company in the network monitoring space the other day, and hardly any of their traffic was mobile. On the other hand, I spoke with a company in the cosmetics space, and nearly all of their traffic was on mobile.
Implement a Table of Contents
I would recommend adding a table of contents to your blog pages:
Tables of contents engage readers when navigating long pieces of content.
You can set up a table of contents that automatically pulls in your header elements, such as your H2s and H3s, and then drops the reader to those sections of the piece when they click.
Keeping readers engaged, consuming more of our content, and scrolling deeper into our pieces sends a positive signal to Google that our blog posts are good.
Link to Your Blogroll from Menu Navigation
It’s your blog; you should be proud of it!
You’ll want to include a link to the blog in the navigational elements of your website. For example, you can quickly click over to our blog from our top navigation bar:
You can also click over to our blog from the footer navigation on our website:
We even drop links to our recent blog posts on our homepage:
You want to show Google’s crawlers that your blog is an important part of your website by including it in the core navigational elements of the website. This is also important from a site architecture and internal linking perspective, making it easy for Google to crawl and find new existing pages without relying solely on the sitemap.
Don’t Get Discouraged
Know that creating your first blog post is the hardest part. And don’t be surprised if it doesn’t rank as well as you might hope.
Over time, as you publish more and more blog posts, all of the previously published posts will rank better, too. It takes time for Google to understand what your blog is about, that searchers enjoy it, and for its algorithms to rank your content in the SERPs.
It typically takes 10-20 blog posts for Google to even really want to start paying attention to your website. You might have heard of Google’s sandbox period.
It takes time to create content and build topical and domain authority. But over the long run, your blog can become an incredibly durable and predictable source of website traffic.
Craft an Editorial Calendar
I would advise against shooting from the hip each week, or in other words, deciding what you will write about weekly.
Instead, my approach to our blog is to build a forward-looking editorial calendar for the next few months.
You’ll want to conduct keyword research upfront and build a calendar around these topics. Building an SEO channel is a marathon and not a sprint, so clearly outlining the blog posts we will write this quarter or this year helps us stick to the plan.
I have a few thoughts on what should go into an editorial calendar, and we’ve got a template you can use here.
Final Thoughts
Blog posts are an excellent way to start building your SEO strategy. I hope this post didn’t overwhelm you; there was a lot to cover.
If you are just getting started with SEO and are writing your first blog post, you really just need to do two things right from the very beginning: pick the right keywords and create great content.
As you scale, thinking more critically about the helpfulness of your pages, the design, long-tail keywords, and internal linking is time well spent.