On-Page SEO Checklist 2022: My 35-Step Process For Writing Content In WordPress

On page seo checklist

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.

Long-tail keywords

 

2. Learn The Keyword’s Competition

Google the keyword and review the content in the top results.

A keyword is more competitive if:

  • It’s broad
  • 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.

Keyword competition

 

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 variation(2)

Keyword variation

Keyword variations

Example:

  • 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:

Add a new post

 

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

Post title

Other Examples:

Headline 6

Headline 3

Headline 4

Headline 5

Headline 2

 

This emphasizes your keyword to search engines.

Shortened permalink

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.

Yoast-stop-words

Yoast-stop-words-examples

 

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.”

Yoast snippet

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

Template:

 

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

Featured snippet list

Featured-image-snippets

 

10. Add FAQ Rich Snippets

FAQ rich snippets are great for standing out in search results:

Faq google snippets

Instructions

  • 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.

Facebook groups

Step 2: Search Facebook for specific topics while only searching within your Groups.

Facebook keyword search

Step 3: Find polls and conversations related to the topic, then share them with your readers:

Seo plugin facebook poll

 

13. Design Images With 1 : 1.904 Ratios

1 : 1.904 is the perfect ratio to create your main images.

Why?

Because it’s the same ratio as Facebook’s og:image dimensions (1200x630px). Which means when I’m designing featured images and top post images, I can use this same ratio to create my top post images (754x396px) and featured image (400x210px) without worrying about cropping or adjusting the image to fit a new ratio. My featured images are smaller because they’re shown in my category pages and I want them loading as fast as possible. The only exception is Twitter’s og:image which has a different ratio (I use 1200x630px) in which case you would need to crop some of the height off. I know, it’s a weird trick, but when you have to redesign images for 200+ and each post has 4 images (featured, top post, Facebook, Twitter)… this saved me a lot of time.

I use a combination of GIMP (for creating featured/og: images), and GIMP for editing.

Gimp editor

 

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.

Alt-text

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.

680 pixel width rectangle

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.

Optimize-images-gtmetrix

 

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

Post introduction

 

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

Call to action

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.

2019-hosting-facebook-poll

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.

Grammary recommendations

 

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.

Wordpress categories
Wordpress 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.

Facebook post

If using Yoast, go to the “Social” settings and enable Open Graph for both Facebook/Twitter:

Yoast-social-meta-data

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).

Yoast-social-media-optimization

 

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.

Structured-data-review-stars

Instructions

  • 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.

Importance of yoast green lights

 

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:

Prefetch-dns-requests-wp-rocket

You can add them to WP Rocket (the cache plugin I recommend):

Prefetch-dns-requests

Otherwise, add them to your header:

<link rel=”dns-prefetch” href=”//youtube.com”>
<link rel=”dns-prefetch” href=”//maps.googleapis.com”>
<link rel=”dns-prefetch” href=”//fonts.googleapis.com”>

 

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.

On-page-seo-load-times

Siteground vs cloudways cloud hosting

 

25. Publish The Post

Go ahead, do it.

Publish post

 

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.

Script manager

 

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.

Table of contents links

 

28. Submit URL To Google

Next, submit the URL to Google using their URL Inspector in Search Console.

Faq request indexing

 

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.

Google snippet

 

Anytime you mention the topic, include a link to the article.

Internal link

 

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).

Date-in-snippet-preview-yoast

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…

Entry-meta

Which results in…

Post modified date

Keep the article updated to refresh the publish date:

Publish date

 

32. Send A Newsletter

Anytime you publish a great article, tell your subscribers about it (and what’s in it).

Mailchimp newsletter

 

33. Take It To Social Media

Without being spammy, share it in Facebook Groups and other places.

 

34. Respond To Comments

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.

Pros

  • 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)

Cons

  • 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:

On-page-seo

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.

Cheers,
Tom

You Might Also Like:

23 Comments...

    • Yes, the only thing I would change is:

      -I recommend Rank Math Pro instead of Yoast
      -HowTo schema is great for “How To” article (can be done using Rank Math)
      -The Lucky Table Of Contents is a good plugin to create a TOC
      -Blur people’s names if using content from private Facebook Groups (I got in trouble for this and need to update some photos)

      I’ll try to update this post soon.

      Reply

Leave a Comment