wordpressWordPress powers 27 percent of the websites around the world. When it comes to SEO it is one of the best content management systems. Still, you need to roll up your sleeves and optimize it for maximal performance.

This WordPress SEO tutorial will help you to optimize your website or blog and get ahead of your competition.

WordPress SEO Basics

Let’s start with the basics settings.

Use SEO-Friendly URLs

Google gives more weight to the first three to five words in your URL. For example, the URL of this article is ‘WordPress SEO.’ For best results use your target keyword at the beginning of the URL and even start with it if possible.

By default, WordPress URLs are not SEO-friendly but you can fix this easily. Go to Settings – Permalinks and change your permalinks to Post name.



Optimize your titles for SEO

WordPress title tag is the most important on-page SEO factor. For best results start your title with your keyword or place it in the beginning.

There are several title generation tools that will help you to create click-optimized titles:

Hemingway Sharethrough – It will show how engaging your headline is.

SEOPressor’s Title Generator – A free title generator that will generate catchy titles for your blog posts.

Portent’s Content Idea Generator – This is one of my favorites. It can help you to create a headline just by entering a topic.

Blog Title Generator by BlogAbout – This is an excellent tool that provides optimized ideas.

Title Generator by TweakYourBiz – You’ll get a bunch of ideas just after entering a topic.

Add modifiers to your title

Modifiers can help you to rank for long tail versions of your main  keyword. Use modifiers like ‘2016,’ ‘best,’ ‘guide,’ and ‘review’ etc.

Optimize your descriptions

Your descriptions are one of the biggest opportunities to get more clicks in Google search results and to increase your rankings and traffic.

When people are searching for anything on Google, they scan the results and pick by title and description. Your description should be complementary to your title.

It also should contain your main keyword because Google bolds search terms if they are found in the description.

How to make it more appealing and get more clicks:

  1. Look at the Adwords paid ads. They are optimized for clicks. But use ad copy only if it makes sense with your content.
  2. Study the results above you in top 10 Google results. Look for words and phrases they have and you don’t. Pick words that sound as a good fit to your description.
  3. Use a specific number – people like content with specific numbers
  4. Offer a fast solution – everyone is in a hurry. When you offer a solution within a specific time frame, you will get more clicks.
  5. What’s in it for me? Try to explain the benefits one will receive in a clear way.

Eliminate thin or duplicate content

Duplicate content is when you have the same content on several pages of your website or blog.

WordPress automatically generates multiple archive URLs. In addition to that, it creates tag pages if you use tags. This may hurt your SEO by generating duplicated content and unnecessary pages.

How to avoid duplicate content:

  • Post your article only in one category. When you post your article in several categories it will appear on more than one URL which will result in duplicate content. If you really need to use several categories for one post use rel=canonical
  • Disable or noindex WordPress archives that are automatically created by default.
  • Set noindex to your Tags

You can either disable archives completely or set them to noindex which will prevent Google from indexing your tags.

How to check if you already have duplicate content

Google Search Console and Siteliner are the best places to start.

There are two main ways to handle duplicate content:

1.Delete the duplicate content

2. Add a canonical URL to each version. You can change Canonical URLs in Yoast SEO.

Why should you remove or set noindex to your thin pages? Because they usually are low-quality or out-of-date pages that nobody visits. You need to remove them because they lower your overall quality score.

XML sitemaps

They are very important because they help Google to crawl and index your website’s pages. If you have a Yoast SEO plugin installed, it will add XML sitemap functionality to your website.  To access your XML settings click on Yoast SEO plugin – XML Sitemaps.

Content Optimization

Your content is one of the most important aspects of your SEO strategy. Google ranks content backed up with quality backlinks. That is why you should invest a lot of effort to create content that ranks.

Let’s learn how to optimize it now.

Keyword sweet spots

Your main keyword should appear in the first 100-150 words of your article and make it easier for Google to understand what your page is about.

It is also a good idea to include it in the last 50-100 words of the article. This sends a signal that the main topic of your page is about your target keyword. From the beginning to the end.

Use LSI keywords

LSI keywords (Latent Semantic Indexing) are keywords that are semantically related to your primary keyword. Or these are the keywords you see when you search on Google at the bottom of the page.



Using LSI keywords in your content will help Google to determine your page’s relevancy.  Don’t go crazy, use only related keywords that make sense to your content.

Create Long Content

Quality in-depth articles perform better in Google search results. Why? Because they tend to attract more visitors, backlinks and social shares.



This doesn’t mean that you should start writing 2,000-word articles about how to change a light bulb. Depending on your industry, your content length may vary. Just make sure you cover your topic better with more details and relevant data. That’s it.

Use Outbound Links

Link out to quality resources generously. When you link to other authoritative resources you send signals to Google that you are legit and provide quality, citing already established websites or blogs.

PRO Tip – Set outbound links to open in a new tab.  This way when your visitors open a reference link, they will stay on your page which increases the time they spent on your website.

Use Internal Links

Internal links allow your visitors to navigate your website because they connect and organize your content. Therefore, users stay longer.  Internal linking also spreads link juice (ranking power) across your pages.

Boost Time on site

The time visitors stay on your site is an extremely strong signal for Google about your website’s quality. That is why you need to create only 10x content, which is relevant and up-to-date.

Multimedia will also help to keep people longer. Use relevant images, videos slide presentation, quizzes, audio versions of your content etc.

Encourage discussions. Ask your readers to leave blog comments at the end of each post.

Hook them to come again

Repeat visitors are a signal that you are a quality resource. Hook the readers to come again, create content in parts or mention at the end of each post what is coming next.

Do you collect e-mails on your website? If not you are missing a huge opportunity to connect with your visitors. Ask them to sign up for free updates and send them an e-mail when you publish a new article.

I listed several awesome plugins you can use to build your mailing list at the end of the article.

Content Resurrection

Google loves fresh content and often gives it a ranking boost. You should revisit your best articles over a period of several months and update them if they are out-of-date.

When visitors are looking for information they check when the article was published and they tend to skip on old content which is six to 12-plus months old.

Mention when was the last time you updated and improved your article at the top.

Alternatively, you can hide the publishing date.

Conduct Keyword Research

Use keyword research tools to find topics and keywords you should target. Google Keyword Planner is the best free option and Semrush and Ahrefs are the best premium tools.

There is a new paid tool that is very affordable and does an awesome job too – Kwfinder.com. With latest Keyword Planner updates, this tool is the fastest and most affordable way to find good keywords.



A keyword FortuneLords rank in top 10

Use Social Sharing Buttons

Social shares don’t help your SEO directly but they help you to get more traffic, which is correlated with higher Google rankings.

You may think people will naturally share content they like, but guess what? You are wrong. In fact, a study by BrightEdge found that social sharing buttons can increase social sharing by 700 percent.

Use Responsive Design

There are more searches on Mobile than on desktop.

Google even started to penalize mobile unfriendly sites. Use Google’s Mobile-Friendly Test to find out if your theme is doing well. If it isn’t, you can use plugins like WPtouch which create a mobile version of your website.

Or get a better theme. Good themes are optimized for mobile.

Technical SEO

Boost Site Speed

Have you ever pushed the Back button on your browser because a page took more than three seconds to load? More than 40 percent of people do exactly the same thing.

Website speed is extremely important for your SEO success.

According to Alexa, fast-loading sites rank significantly higher than slow-loading sites. Keep in mind, Google ranks pages not sites but if your website is fast all your pages have a better potential to rank for your target keywords.



There is a simple explanation.

If your website is slow and people abandon it this will decrease the time they stay on site, bounce rate, average impressions per visit etc. All of these are major Google ranking factors.

Let’s determine how fast your website is. You can use the following tools:

Gtmetrix – It grades your site’s performance and provides actionable recommendations on how to fix these issues.



Pingdom Website Speed Test – Speed Test, DNS Health Ping and Traceroute (measures server response time). It offers real user monitoring services which I highly recommend. It shows your website’s loading times distribution in different locations.



Google PageSpeed Insights – This tool grades your website score on desktop and mobile devices.



Varvy Page Speed Optimization – This tool creates an awesome visual summary about your website’s speed performance.



Speed Factors

  • Image Optimization
  • Group JavaScript and CSS files
  • Use Caching Plugin
  • Caching information (expires header)
  • Add LazyLoad to your images
  • Gzip compression
  • Widget/Plugin Overload
  • Optimize your WordPress database
  • Disable hotlinking and leeching of your content
  • Fast WordPress Theme
  • Use CDN for static files
  • Use solid web host
  • Decrease the number of Ads
  • External Embedded Media
  • Control a number of post revisions
  • Turn off pingbacks and trackbacks
  • Optimize your home page

Image Optimization

Your image file name should include your target keyword. Don’t go overboard here. Let’s say you have five images on a post/page. Include your keyword only in the most important one to two images.

Use variations and combinations of your main keyword. For example, my first image in this article is called ‘WordPress-SEO,’ I can also create images with names like ‘WordPress-SEO-tips’ or ‘seo-tips’ etc.

Also, include your target keyword in your ALT TEXT in a meaningful way. Don’t just stuff it with keywords.

Image types

  • JPEG – Suitable for photographs and designs with people, places or things.
  • PNG – Best choice for graphics, logos, text-heavy designs, screenshots and when you need images with transparent backgrounds
  • GIF – Only if you need animation.

Image dimensions – resize your images to the exact size you need them on the page otherwise WordPress will consume server resources to auto-resize them, which will result in more time for your page to fully load.

You can use the free online tool Picresize to resize your images.

Image compression – One of the easiest ways to optimize your images is to compress them without losing quality. The most popular options are to do it by yourself one-by-one or to use a plugin.

Use these online tools:

TinyPNG – Despite the name, TinyPNG optimize both PNG and JPEG images.

Pro Tip: After you download your optimized image from TinyPNG re-upload it and repeat the process a couple of times to squeeze even more KBs.

Optimizilla – It even allows you to look at a preview of the optimized image. This saves time because you can check and control the quality in real time.

You can also use TinyPNGWP Smush or EWWW Image Optimizer plugins that optimize your images automatically.

Group JavaScript and CSS files

The idea is to combine JS, HTML and CSS files so they can be compressed and served in a way that reduces website loading times.

Your free options are to use WP Super Minify plugin or W3 Total Cache which also have such functions.

My personal choice is the caching plugin WP Rocket which saves me the hassle and does all the jobs from caching to minification.

Use caching plugin

What is caching?

When someone visits your website, his browser downloads all the images, CSS files, JavaScripts etc in a temporary folder to enhance the website experience. When this user goes to another page of your website or comes back in a few days, your website will load faster.

How caching plugins works

They save the dynamically generated HTML files and serve them from the cache (i.e.  previously generated data) whenever a request is made, instead of loading all the data from your website again.

Most popular free caching plugins are WP Super Cache and W3 Total Cache. If you can afford it I strongly recommend using WP Rocket, which offers more functionality.

Caching information (expires header)

Expires headers tell the browser if they should request a specific file from the server or grab it from the browser’s cache.

The whole idea behind Expires Headers is not only to reduce the load of downloads from the server (constantly downloading the same file when it’s unmodified is wasting precious load time) but rather to reduce the number of HTTP requests for the server.

Learn more about expires headers and how to implement them here. Alternatively, you can use Far Future Expiry Header plugin.

Add LazyLoad to your images

LazyLoad is a process that serves only the images visible in the visitor’s browser window. When he or she scrolls down the other images begin to load. With LazyLoad you also save bandwidth loading less data.  Some users will not scroll down to the end of the page and it is not necessary to load all the images.

Gzip compression

Gzip method compresses your files and make them smaller. Most servers have it but you can check if you have it enabled on yours. For more information you can check these sources: Enable gzip compressionand GTmetrix Gzip

Widget/Plugin overload

Remove any widget or WordPress plugins you don’t use and you can improve your blog speed within a few milliseconds.

Optimize your WordPress database

WP-Optimize will help you to optimize your database (spam, post revisions, drafts, tables, etc.) I can also recommend the WP-DB Manager plugin, which can schedule dates for database optimization.

Disable hotlinking and leeching of your content

Hotlinking is bandwidth “theft.” This is when other sites use direct links to your website’s files (images, video, etc.) This increases the load of your server and decreases your website’s speed.

The best way is to put a piece of code in your .htaccess file which is in your WordPress site’s root directory. This guide explains the process step-by-step.

Fast WordPress Theme

Not all WordPress themes are equal in terms of speed. Your theme should be fast loading, regularly updated, compatible with the latest WordPress version and mobile-friendly.

Good theme providers usually mention this on their sales page. If there is no information or you are choosing a free theme you can determine how fast it is with the speed test tools mentioned earlier in the article.

Pro Tips: Never install pirated themes on your blog; 99 percent of the time they have hidden links in the footer, malware or a backdoor code which can get your blog hacked. When you are choosing a free theme, always do some research about it and check if it is listed in WordPress theme directory.

In the last five years, I spent more than $5,000 on WordPress themes and plugins and my personal favorite premium providers are  Thrive Themes and MyThemeShop. I use them on all my blogs and websites.

Use CDN for static files

Content delivery network (CDN) stores your multimedia static files on multiple servers across different geographic locations. When a visitor comes to your website, the CDN service will load the images on the page he opens from the closest server to his physical location.

For example, you host your website in the United States. A visitor from the United Kingdom visits your website. Your CDN provider has a server in Germany.

It will load your website’s files from the German server for that visitor not from U.S. This will speed up your website and will improve the user experience.

Another great benefit of CDN is that it saves your server bandwidth.

You can use either traditional CDN service provider like MaxCDN or Cloudflare which provides additional protection to your website.

Use a solid Web host

Reliable hosting is a must, no compromises here.

If you are starting out, on a tight budget and don’t expect to get 50k visitors a month in the next 12 months you can use quality shared hosting providers like Bluehost or Asmallorange.

For bigger projects like FortuneLords, I use TrafficPlanet.  It is the best and its customer service is the fastest and friendliest ever.

Pro Tip – On a tight budget you can get great results with a combination of shared hosting like Bluehost and CDN.

Decrease the Number of Ads

Depending on the ad network you are using, some ads may be too big and not optimized for speed. Use GTmetrix to check how big your ads are and how much time they need to load.

Look in your ad network’s dashboard to determine which are your best performing ads spots and remove the rest.

Limit External Embedded Media

When you embedded external resources make sure they are not loading forever. Personally, I embedded media only from big websites that make no compromises with speed like YouTube, Giphy.com etc.

Control a number of post revisions

WordPress would store every single one of these drafts, indefinitely. If you are a geek like me you may have 50-100 revisions for every post. When your post is already published you don’t need these drafts stored right?



Use the Revision Control plugin to make sure. I keep post revisions to a reasonable number like two or three tops.

Turn off pingbacks and trackbacks

Trackbacks are a way to notify other WordPress blogs that you’ve linked to them. If you link to a WordPress blog the owner will be notified automatically using pingbacks.

Sounds great but, in reality, there is so much spam that this is one almost useless function which only eats system resources.

To turn them off, go to Settings-Discussion and unclick top two squares on the top and hit “Save changes” at the bottom of the page.



Optimize your home page

Many of us used to put a lot of stuff on the home page which is a huge mistake. It should be optimized for speed and lead generation.

How to improve your home page:

  • Show excerpts instead of full posts.
  • Reduce the number of posts on the page. I like to have three to five posts on my home page.
  • Remove unnecessary sharing widgets from the home page (include them only in posts).

Congratulations you just finished your Ph.D. in “Building Fast Websites”

Other Important Technical SEO Tips

Eliminate Errors

Check Google Search Console regularly to find out if there are any technical or indexation problems with your website.

You should also use Broken Link Checker. It checks your content for broken links and missing images and also gives the option to prevent search engines from following broken links.

Uptime Monitoring 

Serious marketers/online business owners monitor their site uptime performance 24/7. Frequent downtimes will hurt your SEO and may decrease your rankings for a long time. My favorite tools are Pingdom (paid) and Uptimerobot.com (freemium).

WordPress SEO Plugins

I already mentioned many plugins so far but there are a few which are also important.

Thrive Headline Optimizer (paid) – Helps you to create the best performing headlines and to get more clicks.

Shield WordPress Security – The most comprehensive and highest-rated free security system for WordPress. Security plugins help your website to stay up and running. If your website is taken down or infected with malware this will hurt your organic Google rankings for a long time.

Sucuri – (paid) Offers complete website protection. These guys will also help you to clean your website if it is blacklisted by Google, disabled by your host or flagged for malware.

Login LockDown – This plugin limits the number of login attempts from a given IP range within a certain time period.

Akismet – Helps you to fight spam comments which can include links to low-quality websites.

Google Captcha – This is an effective and free solution that protects your WordPress website forms from spam entries.

Scroll Triggered Boxes – It is a lightweight plugin which adds flexible call-to-actions to your WordPress site. You can use it to capture e-mail leads.

Thrive Leads (paid) – Will help you to build your mailing list faster than ever before.

TLDR: The Lead Generation & UX Tool – This awesome plugin created by Matthew Barby enables you to add custom summaries to your blog content with custom CTAs for each post.


Danny Donchev has been doing SEO since 2004. At first, SEO was his hobby, but soon enough it became his passion and profession. Thanks to his high-ranking sites he has been lucky enough to escape the rat race.