The is the same on-page SEO checklist I use to write every post on my blog.
Most of it has nothing to do with Yoast, in fact I ignore most of Yoast’s recommendations since they put too much emphasis on keyword density and not enough on real on-page SEO factors.
Instead, I focus on finding a long-tail keyword which has low competition in Google’s search results, then creating in-depth content that is organized with a table of contents and nice graphics. I also talk about lesser-known strategies like targeting variations of a keyword, optimizing your table of contents to get in Google’s featured snippets, and making content format properly on Facebook/Twitter (using Yoast). I don’t have an infographic like Backlinko, but these are all actionable tips that will improve your on-page SEO, especially for WordPress.
I have gotten many requests to write this, so I hope it’s useful. Comment if you need help.
1. Find A Long-Tail Keyword
Use Google Autocomplete to find a long-tail keyword with 3+ words.
If you start Googling the keyword and it has lots of Autocomplete results below it, that keyword is probably too competitive and in most cases, you should choose one of the more specific (long-tail) phrases. The only time you should consider choosing a broad, competitive keyword is if you plan on creating in-depth content, and if your site has high domain authority.
2. Learn The Keyword’s Competition
Google the keyword and review the content in the top results.
A keyword is more competitive if:
Top results have strong content
Top results have high DA/PA in MozBar
It has high competition in Keywords Everywhere
Top results are populated with authority websites
You see lots of advertisements from Google AdWords
Top results have strong signals (links, comments, shares)
There are lots of search results (11.6 million is a lot, but I’m giving it a shot)
Tools I Use: Keywords Everywhere – Google any keyword and see it’s monthly search volume, CPC (cost per click), and estimated competition. Manually researching the top results is better though.
MozBar – Google any keyword and see each search result’s DA (domain authority) and PA (page authority). Choose keywords with lower PA, and compete within your own DA range.
3. Find Keyword Variations
These are synonyms (or very closely related) keywords.
Try looking at the different Autocomplete results or searching for a similar keyword. You can use the underline character _ to have Google fill-in-the-blank (a neat little trick I like to use). You can target multiple keyword variations in the post title, SEO title, and meta description.
Keyword #1: on-page SEO checklist (primary)
Keyword #2: on-page SEO guide
Keyword #3: on-page SEO 2019
Keyword #4: on-page SEO process
Keyword #5: content SEO checklist
So I wrote the title:
On-Page SEO Checklist: My 33-Step Process For Writing Search Engine Optimized Content (2019 Complete Guide)
4. Create A Post
In case you didn’t know how:
5. Write A Keyword-Rich Headline
Qualities of a good headline:
Makes people want to read (duh)
Primary keyword is ideally in front
Keyword variations sprinkled throughout title
6. Shorten The Permalink
This emphasizes your keyword to search engines.
Should I Remove Stop Words? Yoast recommends removing stop words, but this can make URLs ready funny and is NOT always good. Take a look at the examples below. If you can shorten the permalink to include your keyword and read nicely, do it. But if it butchers the URL and doesn’t make sense, don’t.
7. Write The SEO Title + Meta Description
These are the forefront of your SEO and determine the post’s click-through rate. You should include your keyword (ideally in the front), target multiple keyword variations, and follow the character limits. It’s also a good idea to include a number or modifier like “2019” or “checklist.”
Tips For Writing SEO Titles + Meta Descriptions
SEO title length: 600 pixels (about 58 characters)
Meta description length: 920 pixels (about 158 characters)
Do not use Yoast’s snippet variables (write them yourself!)
Primary keyword is in front, secondary keywords are sprinkled
8. Create An HTML Table Of Contents
I can’t stress how important this is.
A table of contents organizes the post, lets people jump (and link to) specific sections, and increases your chance of being awarded jump-to links and featured snippets by Google. It also encourages longer content (Brian Dean and most SEOs recommend at least 3,000+ words).
Why You Should Do It
Helps users navigate the post
People can link to specific sections
Encourages in-depth content (3,000+ words)
Chance of getting jump-to links in Google by using named anchors
9. Optimize The TOC For Featured Snippets
Featured snippets can be in the form of lists, paragraphs, or tables.
Since your table of contents is a list, make each item concise and actionable. Do not ask questions or give long answers – people want direct solutions to the problem for their query.
How In Google’s Featured Snippets
Find a keyword where people want concise information (eg. a list)
Moz Keyword Explorer has a filter that helps find question keywords
Target existing keywords/featured snippets that don’t do a good job
Create a concise, logical table of contents to target ‘list’ featured snippets
Create fact-based content with quality references (links, graphics, etc)
Make sure you’re on the 1st page for the keyword, if not, improve the content
Design an image exactly describing the keyword and label the image file name + alt text as the exact keyword (this can get that image showing in your featured snippet as well)
Google ultimately determines whether they will show your result, or any result at all
10. Add FAQ Rich Snippets
FAQ rich snippets are great for standing out in search results:
Install the Structured Content plugin.
Edit a page/post you want to FAQs on.
Click the “FAQ” icon in the WYSIWYG editor.
Add your questions and answers (I recommend 3-8).
Click the OK button and the plugin will add the code to your post.
Once the post is published, submit the URL to Google’s URL Inspector.
Your FAQs should appear in Google’s search results within a matter of minutes.
11. Drop Internal/External Links
These should provide helpful resources for specific topics not completely covered in the post, don’t just insert them for SEO or link to Wikipedia. If your visitors click it, it should be helpful.
Internal Links – natural ways to build links to your site while mentioning articles where visitors can more information on specific topics, while improving bounce rate and time on site.
External Links – similar to citing sources to Google. I always use internal links if I have content about the topic, otherwise I link to external sources where people can find more information.
12. Get Content From Facebook Groups
I love taking screenshots of Facebook conversations, especially polls.
It’s an easy way to show upvoted answers, common solutions to problems, and comparison polls. There are plenty of polls on the best hosting, cache plugins, SEO plugins, and others.
Step 1: Join Facebook Groups related to your topic/industry.
Step 2: Search Facebook for specific topics while only searching within your Groups.
Step 3: Find polls and conversations related to the topic, then share them with your readers:
13. Design Images
I use GIMP.
Be sure to crop/resize images to the correct dimensions (see next section).
14. Optimize Images
Alt Text – the Auto Image Alt Attribute plugin will automatically add alt text to images based on their file name. Just remember to write a descriptive file names before uploading images.
Resize Images To Correct Dimensions – my blog is 680px width so I crop/resize full width images to those dimensions. Otherwise I would see serve scaled images errors in GTmetrix.
Lossless Compression – ShortPixel, Smush, Imagify, and Kraken all do the same thing (lossless compression + EXIF data removal). I use ShortPixel which shows an unnoticeable quality loss.
15. Write A Solid Introduction
How to write a great introduction:
Use your keyword in the first couple sentences
Add links (from the TOC) to entice people to jump to a specific section
Tell them why they should read your post (eg. I don’t focus much on Yoast)
Be personal, lead with a story, or talk about topics that are currently going on
16. End With A Call To Action
What do you want people to do?
Read another post
Make an affiliate sale
Follow you on social media
Subscribe to your newsletter
Get in touch as a potential client
I rely on affiliate marketing to make a living, so I usually link to my WordPress speed guide which is super helpful, but also promotes SiteGround where I get a commission from each sale.
Just sayin’ but at least I’m transparent.
Get hosting from SiteGround Get managed cloud hosting from Cloudways
17. Spell Check Using Grammarly
Grammarly is great, but you should have someone else read it with fresh eyes.
I like to reread it first thing in the morning, or hand it off to a coworker. You can also hire a writer. If you do not speak native English, you should 100% hire someone to edit your copy.
18. Assign A Category And Give It Some Tags
Assign the post to 1 category, and give it a few tags. Don’t overdo the tags.
19. Optimize For Social Sharing
This makes your content format properly when shared on Facebook/Twitter, specifically your image since both networks use custom dimensions to display it, otherwise it will look funny.
If using Yoast, go to the “Social” settings and enable Open Graph for both Facebook/Twitter:
Now edit a page/post, then click the “share” link in Yoast and you will see options to upload custom images for Facebook (1200 width x 628 height) and Twitter (1024 width x 512 height).
20. Add Rich Snippets To Reviews
If you’re writing reviews, you need rich snippets.
I use the premium WP Review plugin which looks great (here’s an example post I use it on), does the job, and is lightweight so it doesn’t affect my load times or my GTmetrix reports.
Write reviews, recipes, or other content types where rich snippets can be used
Choose a rich snippets plugin (eg. All In One Schema or WP Review)
All In One Schema is free but has minimal customization options and looks boring
WP Review looks much better, has multiple pre-styled templates, is maintained and updated frequently by the MyThemeShop, supports 14 data types, and is what I use
Use the plugin to markup content and test it using Google’s Structured Data Tool
Use my tutorial on adding rich snippets to WordPress for full instructions
21. Add Multimedia
Videos keep people on the post longer. Ideally it’s your own since embedding videos on your blog gives them more views, likes, comments, and engagement, a key factor for YouTube SEO.
That’s why I like creating YouTube videos in conjunction with my blog content. I haven’t created a video for on-page SEO yet (I probably will soon), so for now, here’s Brian Dean:
22. Ignore Yoast Feedback
Yoast green lights don’t matter.
Yoast doesn’t tell you anything about keyword competition, content depth, or how to improve engagement. It focuses too much on keyword density and not enough on what actually makes great content. Instead of focusing on green lights, beef up your articles with a table of contents and cover the topics in more depth. That is what I did to grow my blog to 3,000 visitors/day.
23. Prefetch DNS Requests
This helps browsers anticipate external resources so they can load them faster.
If you embedded YouTube videos, Tweets, Facebook posts, or even use social sharing plugins or comment plugins, these can slow down your website and also show in your GTmetrix report.
Here is a great list of common domains to prefetch:
You can add them to WP Rocket (the cache plugin I recommend):
Otherwise, add them to your header:
24. Test Load Times In GTmetrix
Thank you Cloudways for the crazy load times. Even posts with tons of images load in <1s when they’re 2.70MB and have 61 requests.
If I didn’t embed the YouTube video or GitHub code it would be 100%. Make sure images are optimized, use fast hosting, a good cache plugin, PHP 7+, and see my WordPress speed guide.
25. Publish The Post
Go ahead, do it.
26. Disable Unused Scripts + Plugins
You might be familiar with Plugin Organizer, which lets you selectively disable plugins you don’t use on certain pages/posts. This is the same idea, only I use Kinsta’s perfmatters plugin. Since I’m not using rich snippets in this post, I disabled my rich snippets plugin in the settings.
You can also use the free WP Asset Clean Up plugin.
27. Test Table Of Contents Links
Each link in your table of contents should jump to it’s subheading. Hold ctrl (PC) or control (Mac) and click each link to make sure it works. The tags in your subheadings and table of contents tags should match. Otherwise if it’s another problem, recheck the GitHub code.
28. Submit URL To Google
Next, submit the URL to Google using their URL Inspector in Search Console.
29. Make Sure Google Doesn’t Cut Off Snippets
If your SEO title + meta description are too long, Google will cut it off. Make sure they don’t.
30. Build Internal Links To The Post
Anytime you mention the topic, include a link to the article.
31. Keep The Article And Publish Date Current
Adding a post modified date makes your content look fresh and increases click-through rates.
First, enable ‘date in snippet preview’ in Yoast (SEO → Search Appearance → Content Types).
Now add this code to your theme (or use the Post Updated Date plugin) which does the same thing. If you’re using the Genesis Framework you can use Genesis Simple Edits plugin to add the post modified date shortcode to the ‘Entry Meta’ section under Genesis → Simple Edits.
Mine looks like this…
Which results in…
Keep the article updated to refresh the publish date:
32. Send A Newsletter
Anytime you publish a great article, tell your subscribers about it (and what’s in it).
33. Take It To Social Media
Without being spammy, share it in Facebook Groups and other places.
HubSpot did a study on comments and found this:
“There is no correlation between the number of comments on a post and the number of views that post got. There’s also no correlation between comments and the number of links that post got.
They’re where I get my most valuable feedback
People who receive feedback are more likely to sign up for my newsletter
Creates a two-way conversation (eg. you’re trying to get clients to contact you)
Spam, lots of it
Too many people trying to get a link
It’s basically free consulting (if you don’t have guidelines)
35. Monitor The Post’s Performance
After a couple weeks, check the performance report in Google Search Console which helps you see the post’s performance. It tells you it’s ranking position, clicks, and click-through rate.
If the post ranks high with lots of impressions, but has a low click-through rate, consider rewriting the SEO title + meta description. If it doesn’t rank well at all, improve the content.
Use Google Analytics to check the post’s average session duration and bounce rate.
If the post has bad bounce rates and average session duration, it could be anything from slow load times to poor web design, no internal links, or lack of well-designed, original graphics. Try listing your most popular tutorials in your sidebar (see mine).
Backlinko’s On-Page SEO Infographic
This post wouldn’t be complete without Backlinko’s on-page SEO infographic:
You May Also Like: How I Got 100% Scores In GTMetrix (WordPress Speed Guide)
Frequently Asked Questions
How did I get these FAQs in Google?
Install the Structured Content plugin and use it to add FAQs to pages/posts. The plugin will markup the content for you, then test the page in Google’s Structured Data Testing Tool.
How important are Yoast’s green lights?
Not very important. Yoast emphasizes keyword usage but doesn’t pay much attention to keyword research, quality content, rich snippets, or adding an HTML table of contents. The most important places to use your keyword are in the page title, URL, SEO title, meta description, and a couple times in the content. The rest is quality content + on-page SEO.
What are on-page SEO factors outside of Yoast?
Rich snippets, FAQ rich snippets, adding a table of contents, quality content, using multimedia like infographics and videos, speed optimization, and getting your content showing in Google’s featured snippets to name a few.
How do you add a table of contents to long posts?
I recommend using HTML instead of a plugin to make sure the TOC includes linked anchors so people can jump to (and link) to specific sections of your post. I listed the code in this tutorial.
How do you get in Google’s featured snippets?
Google can show featured snippets for paragraphs, lists, and tables. Find a question keyword where it makes sense that Google would show featured snippets, or ones that already exists with content that does a poor job answering the question. Next, create a section on your post that answers the question concisely. If optimizing for lists, create a table of contents. Keep the maximum character counts in mind.
Subscribe To My Newsletter: Subscribe to my newsletter if you liked this post! I continuously write new tutorials on WordPress SEO + speed optimization over 3,000 people read each day.
About Tom Dupuis
Tom Dupuis writes WordPress speed and SEO tutorials out of his apartment in Denver, Colorado. In his spare time, he plays Rocket League and watches murder documentaries. Read his bio to learn 50 random and disturbing things about him.