Yep, we’re going to murder Google.
This WordPress SEO tutorial goes way beyond Yoast green lights (which barely work).
So let’s cut the fluff and let me show you what got me 2,500 visitors/day as a 1-man show – as someone who writes WordPress SEO + speed optimization tutorials for a living.
This is everything you need to rank your WordPress site higher in search engines: configuring Yoast, Search Console, researching long-tail keywords, and why adding an HTML table of contents is one of the best things you can do for on-page SEO. I’ll also cover rich snippets, getting in Google’s featured snippets, speed optimization, image optimization, click-through rates, local SEO, and why obsessing over Yoast green lights is not a good idea as it can lead to a keyword stuffing penalty. All screenshots should be current, please let me know if they’re not!
Table Of Contents
- 1. Add A Table Of Contents
- 2. Yoast Configuration
- 2.1 Disable Unnecessary Features
- 2.2 Webmaster Tools
- 2.3 XML Sitemap Submission
- 2.4 Crawl Errors
- 2.5 Avoid Snippet Variables
- 2.6 Noindex Unhelpful Content
- 2.7 Add Date To Snippet Preview
- 2.8 Strip Category From URLs
- 2.9 Breadcrumbs
- 2.10 Social Meta Data
- 2.11 Bulk Editor
- 2.12 Yoast Premium: Worth It? No.
- 3. Keyword Research
- 4. Keyword Competition
- 5. Content Optimization
- 5.1 Perfectly Optimized Pages
- 5.2 Content Comprehensiveness
- 5.3 Aim For 3,000+ Words
- 5.4 Cornerstone Content
- 5.5 Snippet Character Limits
- 5.6 Rich Snippets
- 5.7 Featured Snippets
- 5.8 Crafting Headlines
- 5.9 Crafting SEO Titles
- 5.10 Crafting Meta Descriptions
- 5.11 Social Image Optimization
- 5.12 Drop Your Keyword A Couple Times In The Content
- 5.13 Avoid Keyword Stuffing
- 5.14. Permalinks
- 5.15 Image SEO
- 5.16 Links
- 5.17 Click-Through Rates
- 5.18 Videos + Infographics
- 5.19 File Posts Under 1 Category
- 5.20 Don’t Overdo Tags
- 6. Speed Optimization
- 6.1 GTmetrix vs. Pingdom vs. PageSpeed Insights
- 6.2 Hosting
- 6.3 Lightweight Themes
- 6.4 Lightweight Plugins (List)
- 6.5 Speed Optimization Plugins (List)
- 6.6 High CPU Plugins (List)
- 6.7 Image Optimization
- 6.8 Cache Plugin
- 6.9 Cloudflare
- 6.10 CDN
- 6.11 Lazy Load Videos
- 6.12 Web Fonts
- 6.13 Remove Query Strings
- 6.14 Database Cleanup
- 6.15 Plugin Optimization
- 6.16 Comment Optimization
- 6.17 Disable Unnecessary Functions
- 6.18 AMP (Accelerated Mobile Pages)
- 6.19 Avoid External Resources
- 7. Google Search Console
- 8. Local SEO
- 9. YouTube SEO
- 10. Odds And Ends
1. Add A Table Of Contents
Ensure that long, multi-topic pages on your site are well-structured and broken into distinct logical sections. Second, ensure that each section has an associated anchor with a descriptive name (i.e., not just “Section 2.1”), and that your page includes a table of contents which links to individual anchors.
Why This Is #1 On My List
- Encourages long content (aim for 3,000+ words)
- People can link to specific sections on your post
- People can skim content and find what they need
- People will click around on the page (good for SEO)
- Chance of getting jump-to links using named anchors (shown below)
How To Create An HTML Table Of Contents
Table of contents HTML looks like this…
I suggest coding your TOC in HTML/CSS but you can also try the Easy Table Of Contents Plugin. If you have thin content, add a table of contents and beef it up. I did this with my Yoast SEO Tutorial and it went from 10 to 100+ visitors/day in a week! Now I only create long (detailed) tutorials and start each one by writing key topics in my TOC. Works like a dream.
2. Yoast Configuration
Most people have Yoast but few people use it the right way.
4 Key Steps To Yoast
- Configuring the settings
- Verifying Webmaster Tools
- Researching long-tail (specific) focus keywords
- Content optimization (there’s more to it than green lights)
Let’s start with configuring the settings…
2.1. Disable Unnecessary Features
In Yoast, go to SEO → General → Features. Test each one and decide if it’s helpful. Simply enabling them will NOT help SEO – they’re just tools that try to help YOU optimize content.
I don’t need the Readability Analysis telling me if my sentences are too short/long. I naturally add links in my content and don’t need the Text Link Counter. I can use Search Console to check what content is indexed in Google, and I never use the Yoast Admin Bar. I disabled these.
Aside from Yoast, I’m a firm believer that superior content will naturally rank high as long as a) people are finding it helpful, b) you selected a long-tail keyword with low competition in Google’s search results, and c) you optimized your headline/snippets to entice people to read.
The rest is relatively small stuff…
2.2. Webmaster Tools
- Sign up for Google Search Console
- Use the HTML Tag verification option
- Copy code provided by Search Console
- Paste into Yoast (SEO → General → Webmaster Tools)
- Delete everything outside quotations (including quotations)
- Save changes in Yoast
- Click verify in Search Console
- It will take a few days for some data to populate in Search Console
- Same HTML Tag verification process can be used for Bing + Yandex
- I attempted Baidu but to no avail (barely any of my readers are Chinese anyway)
2.3. XML Sitemap Submission
- In Yoast go to SEO → XML Sitemaps
- Click the XML Sitemap button
- Copy the last past of the URL: /sitemap_index.xml
- Login to Google Search Console
- On the left of your dashboard go to Crawl → Sitemaps
- Paste the URL (screenshot below)
- Test and submit
- Repeat for Bing + Yandex
- See common sitemap errors
2.4. Crawl Errors
Crawl errors are broken pages usually caused by deleting pages or changing permalinks.
Step 1: in Yoast’s Search Console settings, authenticate Yoast with Google Search Console…
Step 2: Once authenticated, it can take several days/weeks to populate all crawl errors…
Step 3: Redirect each one to it’s new URL (not just the homepage). Use the Quick Page/Post Redirect Plugin, Yoast Premium’s redirect manager, or create redirects through .htaccess.
2.5. Avoid Snippet Variables
Snippet variables act as templates for your SEO titles + meta descriptions IF you don’t write them manually. You should ALWAYS write these manually so they read nicely (people want to click you link), so they’re within the character limits, and so they include your focus keyword.
I use the templates below in case I forget to write my SEO title + meta description (which I never do). You can set this too, but do not rely on snippet variables – they’re a bad shortcut.
SEO title snippet variable: Title Separator Site Title
Meta description snippet variable: Excerpt (short summary of content chosen by Google)
2.6. Noindex Unhelpful Content
You usually don’t want certain content showing in search engines (tags, post formats, author archives, date archives). In Yoast, go to SEO → Search Appearance. Go through your content types, taxonomies, and archives tab and choose not to show these in search results. You obviously want to index pages/posts, and maybe category pages if you have enough articles under each one, but the rest usually causes duplicate content, which you can check in Siteliner.
2.7. Add Date To Snippet Preview (For Posts)
An easy way to increase click-through rates (CTR) for posts is to show their publish date in snippets – this keeps your content looking fresh. Google uses the post modified date which you can add to the top of posts. Each time you update a post, Google will use the current day.
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…
2.8. Strip Category From URLs
If /category/ is in your blog post permalinks, this serves no purpose and you should remove it in Yoast (SEO → Search Appearance → Taxonomies). Be careful though, this changes permalinks for posts with the word ‘category’ in URLs (setup redirects). See when to change permalinks.
Breadcrumbs are navigational text you usually see at the top of content…
They also appear in search results…
Enable breadcrumbs in Yoast (SEO → Search Appearance → Breadcrumbs)…
Then add this code to wherever you would like breadcrumbs to display. The most common places are the header.php, single.php, or page.php. Here’s Yoast’s breadcrumbs tutorial if you need help. I don’t use them because I don’t like the clutter but if you don’t mind how they look it may slightly improve SEO as it helps users and search engines learn your content structure.
get_header(); ?>',''); } ?>
2.10. Social Meta Data
Customize how your content looks when shared on Facebook/Twitter…
In Yoast go to SEO → Social, then enable meta data under the Facebook/Twitter tab. While you’re here, don’t forget to verify your site with Pinterest and add your Google+ page to Yoast.
Now edit a page/post, scroll down to the Yoast section, click the share link (shown below) and you will be able to upload images to Facebook (1200 x 630px) and Twitter (1024 x 512px). Yes, this means you need to create 2 graphics for each piece of content if you want it to look nice.
If you’re boosting posts on Facebook ads, you can control the ad text using Yoast. Facebook won’t let you change the title, so before sharing your post on Facebook, give it the title you want using Yoast’s “Facebook Title” field (which can be different from the SEO title + meta description). If your Facebook title isn’t working right away, trying clearing your website’s cache. I found it can sometimes take several days to update with new Facebook title/image.
2.11. Bulk Editor
Edit SEO titles + meta descriptions in bulk without going through each individual page/post. Super helpful for tweaking meta descriptions to increase CTR or writing them if you haven’t done so yet. Yoast’s bulk editor does NOT tell you each post’s focus keyword or show the length bar, so make sure you include your focus keyword and stay within the character limits.
2.12. Yoast Premium: Worth It? No.
It wasn’t for me.
It includes a redirect manager which can be done using the free Quick Page/Post Redirect plugin. The multiple keyword analysis only detects exact matches of your focus keyword (secondary keywords are usually used as partial matches)… so this is useless except for keeping track of them. As long as you’re writing great content and doing good on-page SEO with Yoast’s free plugin (and tips from this guide), don’t spend $89/year on Yoast premium.
An overview of each feature…
Redirect Manager – lets you fix crawl errors in Yoast’s Search Console tab by setting up redirects (but you can also use the Quick Page/Post Redirects). Yoast’s will automatically setup redirects once a permalink is changed, which is nice, since most other redirect plugins don’t do this. You can also import existing redirects from the Redirection Plugin and .htaccess.
Multiple Focus Keywords – secondary keywords can be targeted by researching a synonym of your primary keyword and incorporating partial matches throughout your content… WordPress Theme Packs (primary) + WordPress Developer Packages (secondary) = 10 Best WordPress Theme Packages / Developer Packs (headline that incorporates both). Since the secondary keyword isn’t used as an exact match, Yoast won’t detect it and your secondary keyword bubbles in Yoast will be red… which is fine but it makes the functionality useless.
Internal Linking – shows related articles you’ve written for internal link suggestions.
Insights – shows most used words on the page.
Social Preview – shows a preview of how a post will look when shared on Facebook and Twitter, but as long as you’re uploading custom images as described in section 2.11, you will know how they look anyway (the same as the photos you uploaded), so you shouldn’t need this.
Premium Support – I’ve heard from multiple people they just refer you to tutorials.
Conclusion – if you see something you like that is worth $89/year, sure. But most people don’t absolutely need this. It likely won’t improve SEO at all… it’s an unneeded luxury if you ask me.
3. Keyword Research
The best keywords are specific (long-tail) phrases with weak content in Google’s search results. If you Google your keyword and see short content that doesn’t cover the topic extensively, you usually have a winner. Here are the tools/strategies I use to find keywords.
3.1. Answer The Public
Answer The Public pulls keywords from Google Autocomplete and divides them into questions, prepositions, and comparisons. It’s literally the coolest keyword research tool.
3.2. Google Autocomplete
Go to google.com and start typing in a keyword to have Google complete the phrase (remember, you’re looking for long-tail phrases usually with 3+ words since those are much less competitive). You can also use an underscore character _ anywhere in the phrase and Google will fill in the blank. You will need to END on the underscore character for that method.
To see even more keywords in the dropdown, use plurals or different word ordering…
Each service (and location) should be targeted on separate pages on your website…
For competitive blog post topics, always select a very specific (long-tail) keyword…
You can do the same thing for video keywords…
How I found a keyword for my Yoast tutorial…
3.3. Moz Keyword Explorer
To make sure you don’t miss any keywords from Google Autocomplete, use Moz Keyword Explorer which is like Google Keyword Planner only better (and free). Start with a broad phrase, run the tool, then under Group Keywords select “yes, with low lexical similarity.” This prevents you from having to scroll through similar keyword variations over and over again.
3.4. HubShout WebGarder
To see a full keyword list for competitor websites, run them through HubShout WebGrader…
3.5. Long-Tail Keywords
Long-tail keywords are very specific phrases (not broad) usually with 3+ individual words in the phrase. They usually have less searches but are way less competitive. If you’re not getting results with your SEO, you’re probably either targeting too broad of keywords or your content isn’t long/thorough enough. You can even target Chicago WordPress Design instead of Chicago Web Design (since it’s more specific) which also reduces competition. Long-tail keywords also bring a more targeted visitor to your site (people who want WordPress design).
3.6. Date Keywords
Drive additional traffic by targeting date keywords for time sensitive posts…
The main thing is to include the date (year) in your page title, SEO title, meta description. Of course this requires me to keep the tutorial up to date, but this has already driven quite a bit of extra traffic during 2017 (you can check your most searched keywords search analytics).
3.7. Target Synonyms On The Same Page
The general rule is if 2 keywords have the same search intent (people intend to find the same information if they search either keyword), both keywords can be targeted on the same page.
But sometimes you need to analyze the search results to see how much they fluctuate. I have separate pages for WordPress SEO services, WordPress SEO consulting, and WordPress SEO expert. They pretty much all mean the exact same thing, but the search results are very different… so I created a page for each and now I rank in the top 2 for all them. I did the same thing with my Genesis WooCommerce Themes post which also targets ‘Genesis eCommerce Themes’ because when I Googled both keywords, the search results were nearly identical.
3.8. Targeting Multiple Keywords
All you have to do is research a synonym of your primary keyword then incorporate both of these in your page title, SEO title, and meta description. This is by FAR the most important part but you can also sprinkle your secondary keyword 1-2 times in your content. You do NOT have to incorporate both as full keywords (exact matches) otherwise your headline will look spammy. Crafting a headline that sounds nice and includes partial matches is the way to go.
Step 1: Research your primary keyword…
Step 2: Research your secondary keyword…
Step 3: Write a headline that incorporates both and still sounds nice…
Step 4: Rank for both keywords…
You can use the same strategy in your meta description and (sparingly) in the content body.
4. Keyword Competition
A keyword is more competitive if:
- It’s broad
- Top results have strong content
- Top results have high DA/PA in MozBar
- Top results are populated with authority websites
- You see lots of advertisements from Google AdWords
- There are lots of search results (33.8 million is way too many)
- You’re targeting a broad phrase in a large city (eg. Chicago Web Design)
4.1. Analyze Google’s Search Results
Googling your keyword and analyzing search results is a MUST. You don’t want to spend all that time creating content for a keyword you’ll never rank for. If you Google the keyword and see the indicators below, you may want to choose a different keyword (hint: get more specific).
MozBar Chrome extension allows you to Google any keyword and see the DA (domain authority) and PA (page authority) of each search result. The higher the numbers, the more competitive the keyword is. Use Moz’s Explorer to learn your website’s domain authority and try to compete within your range (see chart below). As you build your domain authority (by creating awesome content and getting links) you can start targeting more competitive keywords that have higher monthly searches in tools like Keyword Explorer. New websites with low DA should target very specific, low competition phrases with low monthly searches.
4.3. How Many Monthly Searches?
Now use this chart from Orbit Media. I mostly target 3-word phrases, but I spent a LOT of time on content. The more competitive the keyword, the more time you should spend on content.
5. Content Optimization
Don’t forget to add a table of contents to long posts! Here are a few more tips…
5.1. Perfectly Optimized Pages (Examples)
Backlinko’s on-page SEO infographic is the best one I’ve seen so far (that post has 19,000+ shares). Stop worrying so much about green lights, get off the “text and photos” route and start doing something different. Super detailed content, videos, and/or infographics. Do one!
Moz’s on-page ranking factors are also solid…
5.2. Content Comprehensiveness
Content comprehensiveness is the idea that content should answer all aspects of the user’s query. This is why length is strength in SEO (use Answer The Public to see question keywords).
5.3. Aim For 3,000+ Words
I’ve spent several weeks on this WordPress SEO tutorial, but it will likely get 100+ views/day (most of my long articles do). The more competitive the keyword, the more content you should have. You might be able to use 1,000 words for low competition keywords, but 3,000+ words is usually needed for competitive phrases (keywords with more monthly searches and competition in MozBar). I’m not telling you to just add a bunch of text… designing pages and blog posts with nice graphics, table of contents, videos… should all be taken into consideration.
Beefing up posts around key topics is the #1 reason my site went from 500 to 2,500 users/day.
5.4. Cornerstone Content
This is the most helpful content on your website. For me, these are my tutorials on Yoast, speed optimization, Google Search Console and such. Only 20 of my 100+ tutorials generate roughly 80% of my traffic. They also get me most of my clients, links, subscribers, and affiliate sales. I put these front and center on my homepage, nav menu, sidebar, and after entry widget.
I HIGHLY contribute my large traffic spike to these tutorials. They’re way more useful than my boring WordPress SEO consulting pages (no one’s gonna link to that). You need to learn which content your audience would find most useful and actually execute on creating that content.
5.5. Snippet Character Limits
- SEO title: ideally 50-55 characters
- Meta description: ideally 145-155 characters
Yoast tells you whether they’re too short or long…
So will the HTML improvements section of Google Search Console…
Google Is Using Longer Meta Descriptions (Sometimes)
Google started showing longer meta descriptions in some search results. These are chosen by Google (they are not pulled from Yoast) and are usually taken from actual content on the page. Your meta descriptions should still follow Yoast’s “length meter” in case Google decides to use the normal character length, and leave it to Google to pull the longer version – if they choose.
In this tweet Danny Sullivan from Google says…
5.6. Rich Snippets
Rich snippets add extra information to snippets and can increase CTR…
- 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
5.7. Featured Snippets
Featured snippets are when Google showcases parts of your content in the very top result. Google pulls this from any 1st page result that does a great job at concisely answering questions in the form of paragraphs, lists, and tables (the 3 types of featured snippets).
I contribute this one to writing designing a nice graphic about the keyword (SiteGround vs. Bluehost), linking to quality/unbiased references Google sees as facts (how Bluehost is owned by EIG, Facebook Polls, WordPress’ recommended hosting page), and keeping it fact-based.
How To Get Google To Award You Featured Snippets
- Target a keyword where people want a concise answer
- Moz Keyword Explorer has a filter that helps find question keywords
- Determine whether the answer should be a paragraph, list, or table
- Target keywords that already have an featured snippet but do a poor job
- Create fact-based content with quality references (links, graphics, etc)
- If you’re aiming for the answer box, target your keyword using an exact match
- Make sure you’re on the 1st page for the keyword, if not, improve the content
- Google ultimately determines whether they will show your result, or any result at all
5.8. Crafting Headlines
Headlines – posts usually have longer headlines than pages. My post headlines usually go something like this: The Ideal WP Rocket Settings With Cloudflare + StackPath Instructions (#1 Rated Cache Plugin, Newest Version 126.96.36.199). My pages are more like this: WordPress SEO Consulting. Most of my pages use an exact keyword match describing the service while my posts also describe what’s covered in the tutorial (and often times includes the year “2018” to help target dates keywords). This entices people to read and can lead to lower bounce rates.
Page headline: WordPress SEO Consulting – short
Post headline: The Ideal WP Rocket Settings With Cloudflare + StackPath Instructions (#1 Rated Cache Plugin, Newest Version 188.8.131.52) – long
5.9. Crafting SEO Titles
Some people try so hard to get green lights in Yoast by including their keyword, they forget to write a nice headline that will get people clicking their link. Here are some headlines examples.
SEO Titles – post SEO titles are usually a shortened version of your longer headline: The Ideal WP Rocket Settings With Cloudflare + StackPath CDN (2018). Pages are usually a longer version of your short headline: WordPress SEO Consultant / Yoast Expert – Tom Dupuis. I included “Yoast Expert” because I know most people searching for WordPress SEO consulting need help with Yoast. Instead of just including your keyword and sitename (boooring), make yourself stand out a little – tell them WHY you’re different than everyone else in Google.
Page SEO title: WordPress SEO Consultant / Yoast Expert – Tom Dupuis – lengthened version of my headline “WordPress SEO Consulting”
Post SEO title (shortened): The Ideal WP Rocket Settings With Cloudflare + MaxCDN (V. 184.108.40.206) – shorted version of my headline “The Ideal WP Rocket Settings With Cloudflare + StackPath Instructions (#1 Rated Cache Plugin, Newest Version 220.127.116.11)”
5.10. Crafting Meta Descriptions
Yes, you should use your focus keyword here (or a variation of it). But the main purpose of the meta description is to summarize the content and tell people WHY they should click on your result. In my Yoast settings tutorial the meta description tells people I include a zip file of my pre-configured Yoast settings. Small stuff like this can easily increase your click-through rates.
5.11. Social Image Optimization
See section 2.11 to make your content format properly when shared on Facebook/Twitter.
5.12. Drop Your Keyword A Couple Times In The Content
Keyword density barely matters (you can actually get penalized for keyword stuffing) but you should use it a few times in the content, the most important being in the first couple sentences. Yoast makes a big deal about keyword density but I disagree, it often leads to spammy content.
It doesn’t have to be a complete 100% exact match of your focus keyword, but it should be close and read naturally. Yoast only detects exact keyword matches in visual editor (not page builders) so as long as you mention it (or a variation), you can ignore the keyword density recommendation in Yoast. And if you include an image at the top of the post, Yoast counts this as the first paragraph – so using your “keyword in first paragraph” (a Yoast recommendation) is sometimes not possible. Don’t overthink it… when writing about the topic, you’ll usually mention bits of your keyword naturally in your content/images. That’s what Google wants.
5.13. Avoid Keyword Stuffing
Why you shouldn’t obsess over green lights…
- Google penalizes keyword stuffing
- Yoast only detects EXACT matches of your focus keyword
- If you use partial matches (synonyms), Yoast won’t detect it
- Too many exact keyword matches makes your content look spammy
- Partial matches / synonyms are encouraged and often sound more natural
- Headlines should entice people to read, not just include your focus keyword
- Content optimization is more than keyword usage, which is mostly what Yoast suggests
What Yoast’s SEO Analysis should say:
WARNING: injecting keywords in your content/snippets makes them look spammy! Have you thought about writing an SEO title + meta description to increase CTR? Every result in Google will be using the keyword – why would anyone click your link? Yes, you should use your keyword in the page title, SEO title, and meta description… but don’t inject keywords just to get green lights in Yoast. Forget about keyword density and keywords in subheadings… start thinking about adding a table of contents to longer posts, videos, infographics, rich snippets, social sharing images, and beefing up thin content to make it better (more detailed) than everyone else’s.
A few notes on permalinks (URLs/slugs)…
5.14.1. Shorten Permalinks
Shortening permalinks emphasizes keywords to search engines…
5.14.2. Don’t Always Remove Stop Words
Stop words are short, non-descriptive words which Yoast recommends removing from permalinks to put a heavier emphasis on your focus keyword. While this is usually good, it can also make your permalinks look very weird (see below). If people can look at your permalink and know what the article is about, remove them. But if it makes them read funny, don’t.
Why you shouldn’t always remove stop words…
5.14.3. When To Change Permalinks
Here’s when it’s OK to change permalinks:
- You’re switching to SSL (HTTPS)
- You’re switching to non-WWW
- The word “category” is in post URLs
- You’re using the ?p=123 permalink structure
- The old version of Yoast stripped all your stop words
- The permalink does not describe the page’s content/keyword
- You’re rewriting content to target a completely different keyword
- The page/post is not well established (it has low traffic/links/shares)
It’s best to fix permalinks all in one go rather than change them multiple times. If you’re switching to SSL anyway, you might as well switch to non-WWW, strip ‘category’ from blog URLs, and fix any pages/posts with permalinks that don’t describe it’s content/keyword. Be sure to setup the proper redirects and give Google time to recrawl your site and update the new permalinks in search results. You may see a drop in rankings – which is usually temporary.
5.14.4. Use “Post Name” Permalink Structure
The post name permalink structure (www.yourwebsite.com/post-name/) is generally the best option. You can find this in WordPress under Settings → Permalinks. It’s short and lets your post title be in the front of your permalinks (which includes your keyword). You may consider a custom structure of /%category%/%postname%/ which categorizes your posts under your blog categories. Both are good unless you have a great reason for using a different structure.
5.15. Image SEO
Remember to optimize images for speed in section 6.7.
5.15.1. Image File Name
Label images before uploading them to WordPress so the file name describes the image. If you’ve already uploaded them with non-descriptive file names (DSC12345), reupload them. Do NOT stuff keywords in the file names or alt text (only use it if it actually describes the image) and ignore this Yoast recommendation if the bubble is red. Simply describe the image.
5.15.2. Image Alt Text
The alt text should be the same as the file name. To have WordPress fill in alt text automatically, use a plugin like Auto Image Attributes From Filename With Bulk Updater.
This section covers internal links, external links, link titles, affiliate links, and fixing broken links. It also touches on backlinks – typically acquired by creating outstanding content.
5.16.1. Internal Links
Internal links are a natural way to build links to your content while helping people find info about a specific topic. If I recommend configuring WP Rocket in this guide, I will point to my WP Rocket tutorial instead of pasting every screenshot, which would be duplicate content.
Control Sitelinks – the more links you have to a page, the more likely it will show in the sitelinks section of Google’s search results. Internal links is the primary way to control these.
Don’t Use Internal Linking Plugins – no algorithm will do a better job than manual inserting links which is also true for “related posts” plugins. Plus, these plugins can slow down your site.
5.16.2. External Links
External links are like citing sources to Google. They should be from trustworthy websites but also provide additional information about specific topics. Avoid linking to generic websites like Wikipedia and instead link to content within your niche. Use a few on each page since Google uses the content you link to as a relevancy signal for your own content, and improves it’s SEO.
5.16.3 Anchor Text
Anchor text is the text used to name your link. Moz recommends using brief, descriptive, non-keyword heavy anchor text, while Wikipedia uses all exact match anchor text (which some people believe helps improve that page’s ranking for it’s keyword). I follow Moz’s strategy as exact matches can look spammy and might tell Google you’re trying to manipulate rankings.
5.16.4 Link Titles
Want to reduce bounce rates? Use link titles to help people learn what they’re clicking on.
Whenever you add a link, add a title too…
5.16.5 Affiliate Links
I make a living through affiliate marketing and have a couple tricks up my sleeve…
ps. if you’re in the WordPress industry, check out my list of affiliate programs for WordPress.
- Don’t use a ton of affiliate links on 1 page
- Add rel=”nofollow” to all your affiliate links
- Don’t always list the most expensive/affiliate products first
- Create landing pages for products you’re selling and link to those instead
- Cloak affiliate links, or use your affiliate’s link customizer if available (siteGround.com/go/managed-wordpress-hosting looks much better than onlinemediamasters.com/go/managed-wordpress-hosting)
- Add a TON of value to your content to avoid penalties (affiliate sites are prone)
5.16.6 Broken Links
The only time I hired a link builder (who had a perfect 5 star review on upwork.com), I got a Google Penalty. This crushed my website traffic/finances. I got the penalty lifted by going through each individual link to my site, requesting the webmasters remove the links my freelancer built, and sending a reconsideration requesting to Google. I also worked tirelessly to improve my content. It wasn’t until more than 1 year later the penalty was finally removed.
Lesson: don’t hire a link builder. Hire an infographic designer.
Backlinko’s link building guide lists “visual assets” as #1… specifically referring to infographics, in-depth guides, and things on your site people WANT to link to. He got 19,000+ shares on his on-page SEO guide… which started with a sweet infographic. Don’t waste your time on link schemes or reaching out to people you don’t know asking for a link… work on content, rank higher through that, and people will find you, and they will link to you. Content yo, CONTENT!
5.17. Click-Through Rates
I cover everything needed to increase click-through rates in this guide, but this is a reminder of how important they are. These can be measured in Google Search Console’s Search Analytics.
5.18. Videos + Infographics
Can you tell how much time I’ve spent on my screenshots? Days probably. You can either do this, videos, or infographics. Pick one or two. But you need one of them – not just written text.
5.19. File Posts Under 1 Category
Label posts under 1 category to avoid duplicate content.
If you plan on indexing category pages, (under the Taxonomies tab in Yoast), you should design those category pages so they look nice! Give it a heading, description of what the category is about, design your sidebar and write a custom SEO title + meta description with a keyword for that category. It will have a better chance of ranking.
5.20. Don’t Overdo Tags
These are usually key topics covered in the post.
6. Speed Optimization
Want 100% GTmetrix scores? This section shows you how I did it.
6.1. GTmetrix vs. Pingdom vs. PageSpeed Insights
Load time is the primary metric you should measure, which scores are highly correlated with. These are improved by fixing speed recommendations (GTmetrix is my favorite tool for this).
GTmetrix – see which plugins/elements take longest to load in the “Waterfall” tab (they will also appear multiple times in your Page Speed/YSlow report), unoptimized images, CDN checker in the YSlow tab, and check your TTFB (time to first byte) shown in the “Timings” tab.
Google PageSpeed Insights – measures server response times which should be <200ms. Kind of useless otherwise as it doesn’t measure load times (GTmetrix/Pingdom recommendations are much better) while mobile speed is usually improved in conjunction with desktop speed.
The word ‘server’ is literally mentioned 70 times in the WordPress optimization guide and 35 times in GTmetrix’s why is my page slow tutorial (news flash… it’s kind of important). Run your site through Google PageSpeed Insights to see if reduce server response time is in your report. If it’s not under 320ms like Google recommends it likely means your server (hosting) is slow.
Another indication is if your time to first byte is high in the “Timings” tab of GTmetrix…
The same company (EIG) owns Bluehost, HostGator, iPage, Site5, Unified Layer, and over 60 different hosting companies. They are known for cutting costs by packing too many people on the same server (stressing it out) and have horrible reviews because of it. Many websites hosted by EIG have high response times, and I would avoid using these companies at all costs.
I use SiteGround and have 200ms response times with 100% GTmetrix scores and .4s Pingdom load times. Do a hosting check, run your own tests, or click through my fast loading pages. They were rated the #1 host in 26 Facebook polls and are worlds better than EIG (Bluehost, HostGator), Godaddy, and other hosts who pack too many people on the same server. There have been plenty of people who migrated and posted results on Facebook and Twitter. Tweet after tweet, post after post, poll after poll after poll, faster hosting will fix slow response times. They’re recommended by WordPress, do free migrations, and I use their semi-dedicated plan.
What other people say…
People who migrated…
They have 3 plans…
My GTmetrix report…
Higher plans include more server resources (number of servers is the #1 factor in the WordPress optimization guide). You can see a full comparison chart of their StartUp vs. GrowBig vs. GoGeek plan, but GrowBig gives you about 2x server resources as StartUp, and GoGeek is semi-dedicated hosting which gives you even more server resources. GrowBig + GoGeek come with priority support and you can host unlimited sites. Cloud hosting is quite the price jump at $80/year but comes with 2CPU + 4GB RAM and is even faster than GoGeek.
You can see this on the features page…
Their speed technology is the main reason people choose them (NGINX servers, solid states drives, HTTP/2, PHP7, HHVM and 1-click Cloudflare activation in the cPanel with the option to use aggressive caching, minify, and Railgun). Combine SiteGround + Cloudflare + WP Rocket and I will literally PayPal you $50 if your scores/load time don’t improve. Their uptime technology is just as good and I have 100% uptimes in Uptime Robot. You also get WordPress-related support that answers tickets in about 10 minutes average, automatic daily backups, free Let’s Encrypt SSL for eCommerce, and other WordPress features. SiteGround will even migrate ALL your websites/email for free if you’re on cPanel, and 1 website if not on cPanel.
Almost 5 years for me…
Affiliate Disclaimer – if you sign up for SiteGround with my affiliate link I will donate a good chunk at no expense to you. Each year I donate $3k to GoFundMe campaigns (2018 was to feed the hungry in Denver, 2017 was to Red Cross at Hurricane Harvey). Your support helps and I genuinely appreciate it. I try to make my reviews unbiased and backed by evidence in the form of Facebook polls, tweets, and real conversations. If you don’t want to use it, here’s a non-affiliate link to SiteGround. Either way I truly believe they are a stellar WordPress host and your site will run faster/smoother… do your research on Facebook groups + Twitter and you’ll find most people say the same.
6.3. Lightweight Themes (StudioPress)
StudioPress themes are lightweight (they load super fast) and are recommended by Yoast, Matt Cutts (from Google) and even Matt Mullenweg. Lightweight themes have minimal built-in functionality resulting in less unnecessary bloat, and instead rely on plugins to only add functionality you need. Divi and ThemeForest themes often have so many built-in features which can kill your load times. There are many lightweight themes out there, but StudioPress is definitely one of the most highly regarded theme stores. I use their Outreach Pro theme.
6.4. Lightweight Plugins (List)
Backup – UpdraftPlus.
Analytics – Google Analytics and Search Console should be plenty, or Clicky.
Page Builders – WordPress Page Builder by MotoPress, but no page builder runs faster than the native WordPress Editor. Combine this with the Duplicator plugin and you shouldn’t need a page builder (including page builders built-in to WordPress themes). Unless your team absolutely refuses to learn a little HTML (the easiest coding language), avoid page builders.
Comments – Disqus Conditional Load.
StudioPress Plugins – lightweight plugins for the Genesis Framework.
6.5. Speed Optimization Plugins (List)
These are all top rated, but avoid installing 2 plugins if they have duplicate functionality.
6.6. High CPU Plugins (List)
*Common culprits include related post, statistic, sitemap, chat, calendar, page builders, and plugins that run ongoing scans/processes or show high CPU in GTmetrix.
- AdSense Click Fraud Monitoring
- Backup Buddy
- Better WordPress Google XML Sitemaps
- Broken link checker
- Constant Contact for WordPress
- Contact Form 7
- Contextual Related Posts
- Digi Auto Links
- Disqus Comment System
- Divi builder
- Essential Grid
- Fuzzy SEO Booster
- Google XML Sitemaps
- NextGEN Gallery
- Reveal IDs
- Revolution Slider
- S2 member
- SEO Auto Links & Related Posts
- Similar Posts
- Slimstat Analytics
- Visual Composer
- WordPress Facebook
- WordPress Related Posts
- WordPress Popular Posts
- WP Statistics
- WP Power Stats
- Yet Another Related Post Plugin
- Yuzo Related Posts
6.7. Image Optimization
There are actually 20 ways to optimize images – who knew? But if we’re taking speed, these are the top 3 in GTmetrix. Just keep in mind GTmetrix only shows unoptimized images for a single page so it’s best to start with images that appear on multiple pages (logo, sidebar, footer images) then run your most important pages through GTmetrix and optimize images on those.
Read my full WordPress image optimization tutorial to learn how to:
Serve Scaled Images – resize large images to the dimensions shown in GTmetrix. Sometimes GTmetrix shows the wrong dimensions in which case you can take a screenshot of the image at 100% zoom and measure the width + height in a program like GIMP (image editing tool I use).
Lossless Compression – this is the “optimize images” item in GTmetrix. Imagify and Kraken are the best plugins for this, I use Imagify. Other plugins have bugs, won’t compress images, or they can break images. These have a monthly limit for free accounts but do a much better job.
- Sign up for Imagify
- Install the Imagify plugin
- Go to your Media section in WP
- Bulk compress all images on your site
- Once you hit the 25MB limit, pay $4.99 for 1GB of data or wait for next month
Specify Image Dimensions – means you need to specify a width/height in the image’s HTML or CSS. The visual editor does this automatically so this usually occurs in widgets, CSS, or other sections of you website that are coded manually. Just follow the example in the photo below…
6.8. Cache Plugin
WP Rocket was rated the #1 cache plugin in multiple Facebook polls while Swift Performance (new kid on the block) and WP Fastest Cache are usually 2nd and 3rd. SiteGround’s SG Optimizer has also gotten better and better. A lot of people also use W3 Total Cache but there’s been a lot of bugs reported. You should only have 1 cache plugin installed, but if you’re using a free plugin, should test multiple cache plugins to see which yields the best load time.
I wrote tutorials for all 5…
- How To Configure WP Rocket (With Cloudflare+ StackPath CDN)
- How To Configure Swift Performance (With Cloudflare + StackPath CDN)
- How To Configure WP Fastest Cache (With Cloudflare + StackPath CDN)
- How To Configure W3 Total Cache (With Cloudflare + StackPath CDN)
- How To Configure WP Super Cache (With Cloudflare + StackPath CDN)
Cloudflare is an easy (and free) way to improve speed using their CDN and protect your website using their internet security. It depends on your host but many of you can enable Cloudflare in your cPanel (screenshot below is for SiteGround). WP Rocket, WP Fasetst Cache, and W3 Total Cache integrate with Cloudflare if you would rather set it up that way.
- How To Configure Cloudflare With WP Rocket
- How To Configure Cloudflare With Swift Performance
- How To Configure Cloudflare With WP Fastest Cache
- How To Configure Cloudflare With W3 Total Cache
- How To Configure Cloudflare With WP Super Cache
Or activate it in your cPanel…
Be sure to turn on aggressive caching, minify, and Railgun for even faster load times…
Cloudflare focuses more on hosting while StackPath focuses purely on the CDN (speed). Cloudflare has 200+ data centers while StackPath has 30 data centers, but more data centers = faster website, and StackPath’s are mostly located in the US which is, at least, where most my readers are. Cloudflare charges additional for HTTPS traffic and doesn’t have support with the free plan. Combining both services gave me the fastest load times and scores in GTmetrix + Pingdom, and I currently use both. StackPath is $10/month with a 30-day free trial, Cloudflare is free. My tutorials show you how to setup StackPath with your cache plugin but I would contact their support when you’re done as they helped me further improve load times.
- How To Configure StackPath With WP Rocket
- How To Configure StackPath With Swift Performance
- How To Configure StackPath With WP Fastest Cache
- How To Configure StackPath With W3 Total Cache
- How To Configure StackPath With WP Super Cache
6.11. Lazy Load Videos
Videos are usually the heaviest element on a page. This delays loading them until you scroll down and actually see the video which should reduce load times by multiple seconds (I did this on a post with 2 videos and it improved it by 6s). If you’re using WP Rocket they have an option to enable this in the basic settings, or you can use the Lazy Load For Videos plugin. I do not lazyload images since this can be annoying for your readers to have images constantly loading.
6.12. Web Fonts
If you see font-related errors in GTmetrix/Pingdom, hosting fonts locally should help fix them.
How To Host Local Google Fonts
- Choose a Google Font
- Download the font
- Convert to web fonts (using Transfonter)
- Be minimal with number of fonts/weights
- Download converted font files
- Upload font files to WordPress (ideally wp-content/uploads folder)
- Add custom font to CSS
- Test the font
- Set a default font
- Always have fallback a font
6.13. Remove Query Strings
This is an item you might see in speed testing tools (Pingdom, GTmetrix, PageSpeed Insights). WP Rocket also has an option for this so be sure to enable it in the advanced options. You can also try the Remove Query String From Static Resources plugin but I’ve heard it doesn’t always work. You can also try minimizing your plugins and your score should improve for this item.
6.14. Database Cleanup
This deletes junk files (trash and spam folder, post revisions that accumulate whenever you update a post, trashed comments, transients, and other junk. Use WP Rocket’s Database settings to clean up your database or use the WP-Optimize plugin which also does a great job.
6.15. Plugin Optimization
- Expand items in your GTmetrix report to look for problematic plugins
- Use the GTmetrix Waterfall tab to see plugins taking longest to load
- Delete/deactivate plugins you don’t use, and use lightweight plugins
- Insert Google Analytics tracking code manually without using a plugin
- Replace social media plugins with Facebook page plugins or Twitter widgets
- Deactivate ongoing scans causing high CPU usage (eg. Wordfence live traffic report)
- If you use plugins because you don’t know code, ask your developer about alternatives
6.16. Comment Optimization
Lazy Load Comments – use Disqus Conditional Load if using Disqus.
- Disable comments completely
- Set your default Gravatar to Blank
- Disable Gravatars under Settings → Discussion
- Delete comments that don’t add value to your post
- Set your default Gravatar to a custom image on your server
- Restrict your Gravatar images to small dimensions (e.g. 32px)
- Load comments dynamically using the Hide Show Comments plugin
Prevent Spam – the Anti-Spam plugin does an excellent job and doesn’t use captcha.
6.17. Disable Unnecessary Functions
Clearfy and WP Disable do a great job of disabling things like heartbeat control, pingbacks, trackbacks, autosaves, XML-RPC, limiting post revisions, and more. This basically clears your website from unused functions that may be appearing in your GTmetrix/Pingdom reports.
Tips On WP Disable
- Disable EVERYTHING you don’t use
- Scheduling spam deletion is a good idea
- Emojis, Google Maps, and Gravatars take a long time to load
- Pingbacks and trackbacks aren’t usually worth the extra resources
- Set post revisions to 3-5 so you have backups, but you don’t need hundreds
- Miscellaneous options in the “request” tab can further your improve load times
Host Google Analytics Locally
In the right side of the WP Disable settings, you have the option to enter your Google Analytics UA code. This should fix the “leverage browser caching” item for Google Analytics often seen in GTmetrix, Pingdom, and Google PageSpeed Insights. Be sure to delete any other tracking codes and Google Analytics plugins, and make sure your GA is still tracking user data.
6.18. AMP (Accelerated Mobile Pages)
AMP Pages make your mobile pages load faster and adds an AMP stamp to mobile results…
How To Add AMP Pages To WordPress
- Install the AMP plugin (adds actual AMP pages)
- Install the Glue For Yoast & AMP (lets you customize the design)
- Add /amp/ to any page to see how it looks and make sure it works
- Go to Yoast’s Settings → AMP to change your design and enable custom post types
- Be sure the tweak your featured image on the top of your pages (see Yoast’s tutorial)
- Check the AMP section of Google Search Console and find and fix AMP errors
- Turn on Accelerated Mobile Links in Cloudflare’s speed settings (see below)
6.19. Avoid External Resources
Google Maps, AdSense, job posting services, or any plugin that pulls content from somewhere else should be avoided. Images should be uploaded to your WordPress dashboard and not copied/pasted from another website to put on yours. Pulling content from external websites and showing them on your site absolutely kills grades/load times. Check your GTmetrix report.
7. Google Search Console
Google Search Console has been way more helpful than Google Analytics for optimizing my site. You can set it up using Yoast in section 2.2. It takes a few days for your data to populate, and even a couple months for enough data to be collected if you want to use Search Analytics.
7.1. Don’t Include WWW
The ideal domain name is non-www with SSL: https://onlinemediamasters.com/
You can change your preferred domain name in the Site Settings of Search Console. This should be the same version in WordPress (Settings → General → WordPress Address + Site Address). Ensure all links on your site are non-www (you can use the Better Search Replace plugin), setup redirects, and verify the new version in Search Console, while keeping the old.
John Mueller from Google says…
You’d still need to kind of see this as a kind of site migration, so I would definitely go through the migration tips we have in the help center, with regards to setting up redirects properly, the canonicals, hreflang, all of that to make sure that’s set up between the different versions…
…if you are doing this change and you are still on http, then maybe it makes sense to say well we’ll take this moment where we have to do a migration anyway and move to https. So kind of taking the next step already instead of kind of leaving that for the next year to kind of run through.
7.2. International Targeting
Setting international targeting in Google Search Console tells Google which countries are most important to you. And no, it does not exclude your website from all the other countries.
7.3. Crawl Errors (See section 2.4)
7.4. Mobile Usability Errors
The mobile usability section of Google Search Console shows ALL mobile errors on your site (Google’s Mobile Testing Tool only shows errors for a single page). Just because you’re using a mobile responsive theme does NOT mean your site will be free of mobile errors, always check!
7.5. WordPress Security
The Security Issues section of Google Search Console tells you if your site has issues, but Sucuri’s security checker is also good. Besides changing your generic “Admin” username, using a strong password, and making sure WordPress core/themes/plugins are updated, I use Wordfence. Just make sure you disable live traffic reports which consumes server resources and slows down your site. iThemes security is good too, but only use one security plugin.
7.6 Search Analytics
Google Search Console’s search analytics is better at measuring SEO than Google Analytics. Once in the search analytics tab, tweak the filters to measure your rankings, CTR, clicks, etc.
Compare your SEO to a previous time period…
See queries (keywords) you rank for…
See queries you rank for about specific topics (this one is for SiteGround)…
Improve low quality content…
If you like these, check out my 7 Google Analytics Custom Dashboards.
8. Local SEO
Here’s how to rank higher in Google Maps and local results.
8.1. 2018 Local Ranking Factors
Here are the latest 2018 local search ranking factors (reported by Moz every 2 years).
Citations – online mentions of your business name, but most people think of these as directories / social media profiles (Google My Business, YellowPages, Bing Places, Facebook, Yelp, TripAdvisor and niche sites). Creating a plentiful amount of citations and getting reviews on them is the best thing you can do to rank higher in local search results – especially Google Maps. Moz Local and Whitespark will help you build these citations (or outsource them).
NAP (Business Name, Address, Phone) – these need to be consistent across ALL your citations and on your website. If you only have 1 location, you can list your NAP in the footer. If you have multiple locations, list their individual NAPs somewhere on their landing pages.
8.4. Google My Business
Optimizing Your Google My Business Page
*Google is increasingly taking into consideration activate business owners who: post on Google Posts, respond to reviews, keep special hours updated, answer questions, make it convenient for customers to take direct actions on GMB using business URLs.
- Create a GMB Page (no duplicates – check Moz Local)
- Agencies can register here
- Verify ownership
- Fill out everything
- Fill out all attributes
- List your menu/services
- Set hours and special hours
- Get a 360 tour if it makes sense
- Enter your address or service area
- List all relevant categories, primary listed first
- Use local business URLs (eg. appointments, reservations, bookings)
- If using local business URL using third-party services, fill out this form
- Add reservations/bookings with Google’s approved third-party vendors
- The previous steps can get you showing up in reservations by Google
- Add photos + videos (logo, cover image, storefront, team, inside store, etc)
- Write a description (do not stuff keywords/links as it’s not part of algorithm)
- Get a custom URL
- Answer questions
- Start using Google Posts
- Respond to reviews, good and bad
- Make it easy for customers to leave reviews (with a custom link)
- Allow customers to message you – keep that response rate up!
- Flag inappropriate reviews if you legitimate reason (see policies)
- Get your products seen using the product editor + product catalog
- Hotels can add class ratings and amenities
- Move reviews to different listings if necessary
- Follow Google My Business guidelines
8.5. Moz Local
Moz Local tells you whether your business is listed on the top 15 citation websites and if you have incomplete, inconsistent, or duplicate profiles. It also tells you exactly what to do (additional profiles you need to create, which profiles need more photos, and duplicates to delete. As you fix these your score will improve – ideally your score will be close to 100%.
To rank higher in Google Maps you need even more citations than those in Moz Local. You can either build these yourself (using Whitespark’s list of top citations) or hire Whitespark to build them for $4-5 per citation. I have used their service to get multiple clients in the top 3 results of Maps and it should improve rankings for multiple localized keywords. I usually start with Google My Business and Moz Local, then top it off with $500 worth of citations from Whitespark. It works very well and they have a perfect 5 star on Google with 200+ reviews.
Your Google My Business page is the most important place to get reviews on and you only need 1 for those reviews stars to show up in Google’s search results. Even though reviews are only 10% of how you rank, they often determine a whopping 90% of your conversion rates. They show up when you Google your business name and for non-branded localized keywords.
8.8. Local Keywords
I cover keyword research in section 3, but local keywords have a unique strategy…
- Small cities usually have few broad keywords (Lake Forest Photographer)
- Large cities usually have many specific keywords (Chicago Newborn Photographer)
- Each city has unique keywords, so if targeting multiple locations, research each one
- Ex: if you’re a Chicago wedding photographer, also create pages for “Indian” and “Gay”
- Use the underline character to have Google “fill in the blank” for different services
8.9. Multiple Locations
Each Location Should Have It’s Own Citations – each location should have it’s own Google My Business page, Yelp page, social profiles and other citations from Moz Local and Whitespark.
Research Keywords – each city has it’s own set of keywords which should be researched in Google. Large cities will have more keywords than small towns (since the population is higher).
Create Geo-Targeted Pages For Each City’s Keywords – a typical strategy is to create 1 page for each city which targets the primary keywords (eg. Chicago Dentist, Orlando Dentist, etc) with a permalink structure of website.com/locations/chicago. If there are other more specific keywords being search in Google Autocomplete, you can create separate pages for those.
8.10. Geo-Targeted Pages
Unique Content – you can design a template to use for geo-targeted pages, but avoid search and replace pages (where everything is the same except you swap out the city name and a couple images) since this is duplicate content. Each page should be unique about it’s location.
Google Map + Reviews – I usually recommend avoiding Google Maps since they slow down load times, but it’s a great way to differentiate your geo-targeted pages and looks nice too.
NAP – each page should have the location’s unique NAP (business name, address, phone).
Click-Through Rate – writing a nice Yoast SEO title + meta description to get people clicking on your search result, and of course, getting more reviews will improve click-through rates.
Mobile Clicks To Call – add a button (or hyperlink) where people can click to call you.
Check-ins – award people for checking in.
8.12. Local Rank Tracker
No other tool measures local SEO like Whitespark’s Local Rank Tracker. It’s accurate and tracks keywords for multiple locations across Google organic, Google Maps (snack pack), Bing organic, Bing pack, and other search results. Their small business plan is $20/year but it’s well worth it as it’s the best/easiest way to track local rankings. Yes, better than Search Analytics.
9. YouTube SEO
How to rank videos in YouTube (and Google)…
9.1. YouTube Ranking Factors
YouTube relies heavily on engagement signals for ranking videos (watch time, likes, shares, comments, subscribes, comments, click-through rates). Just like optimizing any content there are on-page factors (keyword in title, description, file name, attractive thumbnail…) and off-page factors (links to video, # of embeds). Keyword research and creating a video that’s better than whoever’s in the top results is the best way to rank. I typically spend 8 hours on a video.
- Research a video keyword in YouTube Autocomplete
- Research the competition using VidIQ Chrome Extension
- Record a 10+ minute HD video
- Encourage people to like/subscribe
- Include keyword in video file name, title, description
- Include timestamps in video description + helpful links
- Add tags, custom thumbnail, and upload a transcript
- Respond to comments and embed the video on your site
9.2. Video Keywords
The best video keywords are specific (long-tail) phrases that show up in both YouTube and Google Autocomplete. That way you can rank in both places – amplifying your exposure. Start typing a keyword in YouTube and it will complete the phrase, or use the underline character _ to have it fill in the blank with more keyword ideas. You can do this anywhere in the phrase.
YouTube Autocomplete (Complete The Phrase)
Google Autocomplete (Fill In The Blank)
9.3. Video Keyword Competition
vidIQ Chrome Extension – search your keyword in YouTube and view the top results to see each video’s SEO signals. SEO score is based on likes, dislikes, views, comments, shares, view time, subscribers, tags, video description length, and other metrics. Lower scores = easier to outrank that video. The most important (IMO) are views, like/dislike ratio, and # of comments.
Most signals can be seen without the extension…
MozBar Chrome Extension – Google your keyword while searching YouTube, like this: site:www.youtube.com your search term. Results with higher PA (page authority) means higher competition, which means you should probably find a more specific (long-tail) version.
9.4. Aim For 10+ Minutes
Length Is Strength – just like posts, longer videos that cover the topic extensively will rank higher. Remember to add timestamps in your video description to help people navigate.
Say Your Keyword – verbally saying your keyword a few times is like keyword density for videos. This usually comes naturally (partial matches are also good) so don’t just say it to say it.
HD Quality – new iPhones usually have better quality than Androids and even some amateur cameras. I use Screencast-O-Matic for screen recording and editing, combined with a Blue Yeti microphone. When recording your computer, check your settings for optimal video + audio.
9.5. Video File Name
Before uploading your video, label the video file as your keyword…
9.6. Video Title
A good title has 2 things: your keyword, and an enticing headline. Google typically displays the first 50–60 characters, so try to stay within that range. You don’t ALWAYS have to use an exact match of your keyword, but each individual word should at least be present in the video title.
9.7. Video Description
Write long descriptions with timestamps, useful links, and an overall summary.
Include Keyword In The First Sentence – both YouTube and Google use (about) the first 155 characters as the meta description which appears in both their search results. Craft this sentence or two wisely – people read this to determine whether they will click your video. I like to include my keyword about 2 times in the description, once in the first 155 characters.
Timestamps – lets viewers jump to sections of the video so they can find what they’re looking for, which also improves engagement with your video. This is especially helpful for long videos.
- :21 (21 seconds)
- 1:21 (1 minute and twenty one seconds)
- 1:30:21 (1 hour, 30 minutes and 21 seconds)
9.8. Add Tags (Conservatively)
Don’t fuss over this, just add a few…
9.9. Custom Thumbnail
Upload a custom thumbnail in the video manager under Info & Settings (you will need to verify your account first). Dimensions should be 1280(w) x 720(h) pixels. This will appear in search results and the “related searches” section in YouTube. Try writing something in BIG LETTERS.
Google doesn’t go a good job in transcribing videos into text (look at how sloppy it is in the photo). You will need to transcribe it manually, otherwise the keywords you mention in your video will go to waste. You can also outsource this to a freelancer for cheap on upwork.com.
9.11. Embedding Videos
Tweaking The Iframe
Option 1: Copy the YouTube link and paste it to your content (WordPress will do the rest).
Option 2: Go to the YouTube video you want to embed, then copy and paste the embed code into your HTML. This method allows you to specify the video’s width and height:
Option 3: Open a video when you click a link using the WP Video Lightbox Plugin.
Hide YouTube Video Title
Hide YouTube Video Controls
9.12. Respond To Comments
What makes videos rank higher? Comments. What gets more comments? Responses!
10. Odds And Ends
A few things I didn’t have a category for…
10.1. Homepage SEO
Your homepage should usually target the main keyword you want to rank for. In Yoast go to SEO → Search Appearance → General. This is where you will write your homepage snippet (your SEO title + meta description that appears in search results). Your homepage should usually target your primary keyword which should be researched in a tool like Google Autocomplete or Moz Keyword Explorer. You should be writing these for EVERY page/post on your site not just to include a keyword, but to make them read nice and increase CTR…
Here’s what a widgetized homepage looks like…
Here’s what a non-widgetized homepage looks like…
A non-widgetized homepage has a link to your ‘front page’ where you can write these…
Do NOT go over (or under) the character limit when writing SEO titles + meta descriptions – the length bar in Yoast should be green! You won’t see this bar in Yoast’s settings under Dashboard → Homepage or Tools → Bulk Editor). In these places you MUST do a word count.
It’s better to go short than over since long snippets can get cut off by Google (usually because people stuff multiple keywords here instead of writing it to sound like a legitimate headline).
Here’s a good example…
10.2. Write A Killer “About” Page
I didn’t know how important this was until I started getting emails saying my story inspired them to quit their job and do affiliate marketing full-time, how people appreciated the GoFundMe donation I do each year, or even a simple LOL about my Uber story. Google wants to know you’re a legit business, and people want to know you’re a legit person. Check out my about me page to see what I did (just be prepared to learn a few very strange things about me).
10.3. Duplicate Content (Siteliner)
Siteliner finds duplicate content which (IMO) occurs mostly when people create geo-targeted landing pages for local SEO (to target different cities) but instead of unique content they create “search and replace” pages that are the exact same page, only the city name is changed. You can reuse an image and a few lines of text, but don’t create duplicate pages. Noindexing tags, author archives, and other content in Yoast’s settings can also prevent duplicate content.
- Shorten summaries (excerpts) on your blogroll
- Noindex tags, author archives, and date-based archives in Yoast’s settings
- Avoid creating “search and replace pages” where 2 pages and nearly identical
- Enable Cloudflare’s scrape shield to prevent people from stealing your content
Google cracked down on websites that don’t have SSL as of July, 2018. I recently switched to SSL using SiteGround’s free Let’s Encrypt SSL and didn’t notice any drop in traffic or affiliate sales. In fact, my sales increased a little and I think it’s because people see my site as more credible. It’s always easiest to add SSL before launching your website, but there is still no reason not to. Just make sure you’re working with a developer who knows what they’re doing.
10.5. Google Penalties
Penalty vs. Algorithm – Google penalties are easy to discover (they will appear in Manual Actions of Google Search Console). It’s harder to detect changes in Google’s algorithm that affected your website, but you can check your analytics to see when the drop occurred, then check Google’s algorithm change history for updates during the time your traffic dropped.
Unnatural Links To Your Site – avoid all types of link schemes (spammy link builders, paying for links, etc). Google will find you, and they will crush you. If you already have this penalty, here are a few things you can do. I have successfully removed a penalty using these steps…
- View all links to your site in Google Search Console
- Go through each link and write down the spammy ones (eg. those with keyword-rich anchor text, links on irrelevant websites/content, links in spammy blog comments)
- Find the contact info to those webmasters, then request those links be taken down
- Wait for their responses, but follow up with them if they don’t respond
- Once you’ve made a solid effort to remove those links, disavow all remaining bad links
- Submit a reconsideration request to Google explaining your attempt to remove them
Thin Content With Little Or No Added Value – short content with little substance rarely ranks. Use Google Analytics to find low quality content (pages with high bounce rates + low average time on page). Beef these up especially if they’re important topics for your readers. I published my first version of this WordPress SEO tutorial in 2014 and I still work on it today.
Keyword Stuffing – avoid injecting keywords to get green lights in Yoast.
Affiliate Penalties – affiliate sites got hit hard in 2014 for thin content, deceptive practices, and providing little value beyond selling. I listed tips in section 4.15.5, but by far the best thing you can do is to add value to your content (beyond trying to make sales). Avoid using too many affiliate links especially near the top of content, since this screams salesy to Google. I would also avoid Google AdSense and any type of banner ads (they make your entire site look spammy are rarely get clicked) and instead rely on strategically placed affiliate links in the text.
10.6. National Ranking Factors
Moz’s post on Weighting the Clusters of Ranking Factors in Google’s Algorithm may be from 2013, but the core ranking factors have not changed. It’s still the best chart I’ve seen. Sure, exact match domains don’t have as much weight and the pie slices have changed a bit, but it’s a great way to remind yourself to stop worrying so much about alt text and start thinking more about what’s still important – content and links. Moz does a new survey every 2 years… here are 2015’s ranking factors. 2017’s have not come out yet, but I will post it here when it does.
10.6. Tools & Terms
Here is a complete list of SEO tools I use, plus some terms you should know.
Frequently Asked Questions
Which SEO plugins are most important?
A main SEO plugin like Yoast or Rank Math is most important, but you should also have a plugin for rich snippets that can add FAQs, reviews, and other types of rich snippets which are dependent on your site.
Do Yoast green lights really matter?
Not really. Yoast is really only good for detecting keyword usage and there's more to on-page SEO than this. The only place it's important to use your keyword are the page title, URL, SEO title, meta description, and a couple times in the content body. The rest is completely dependent on content and on-page SEO factors. Don't obsess over green lights.
What other on-page factors exist besides Yoast?
Adding rich snippets, FAQ rich snippets, optimizing click-through rates, and adding an HTML table of contents to long posts (along with creating in-depth content) can all improve your SEO. Making your website load faster and getting backlinks help too.
How did you get those FAQ rich snippets?
I used the Structured Content plugin (same one used by Neil Patel) and adding emojis to the question parts.
How do you get 100% GTmetrix scores?
Hosting, cache plugins, CDNs, optimizing images, and other factors will help you improve scores + load times in GTmetrix. I have a full WordPress speed guide to help you do that.
Wow… That Was Long.
I’m considering turning it into a book on Amazon – I would seriously love to hear your feedback, good and bad. Either way, thanks for reading and comment if you have questions.