The is the same on-page SEO checklist I use to write every post on my blog.
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 In Google Autocomplete
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. Research The Keyword’s Competition
Google the keyword and review the content in the top results.
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.
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:
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 Yoast 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 Table Of Contents 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. Write Content With 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.
11. 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:
12. Design Images
I use GIMP.
Be sure to crop/resize images to the correct dimensions (see next section).
13. 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.
14. 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
15. End With A Call To Action
What do you want them 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
Just sayin’ but at least I’m transparent.
16. 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.
17. 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.
18. Optimize The Post 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).
19. Add Rich Snippets To Review Posts
If you’re writing reviews, you need rich snippets.
- 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
20. Add Multimedia
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:
21. Ignore Feedback From Yoast
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.
22. 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:
23. Test Load Times In GTmetrix
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.
24. Publish The Post
Go ahead, do it.
25. Disable Unused Scripts/Plugins From Loading On The Post
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.
26. 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.
27. 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.
28. Build Internal Links (Mention The Post In Other Articles)
Anytime you mention the topic, include a link to the article.
29. 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.
<p>Last modified: <?php the_modified_date(); ?></p>
Mine looks like this…
Which results in…
Keep the article updated to refresh the publish date:
30. Send Out A Newsletter
Anytime you publish a great article, tell your subscribers about it (and what’s in it).
31. Take It To Social Media
Without being spammy, share it in Facebook Groups and other places.
32. Respond To Comments
HubSpot did a study on comments and found this:
- 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)
33. 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.
Backlinko’s On-Page SEO Infographic
This post wouldn’t be complete without Backlinko’s on-page SEO infographic:
Moz’s perfectly optimized page is also legit:
You May Also Like: How I Got 100% Scores In GTMetrix (WordPress Speed Guide)
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.