Connect with us


How to Create a Custom WordPress Plugin From Scratch



Main Article Image

A theme is required for every WordPress site to pull data from the database and display it in a design. You could theoretically run a site using only a theme. But, this site would be extremely limited without plugins.

WordPress plugins are an extension of WordPress core that adds additional functionality to your site. Plugins can be used to add everything to your WordPress site, from an animated slide or booking calendar to a fully-featured learning management system and online marketplace.

This guide will show you how to make your own WordPress plugin. I will show you best practices in plugin development, how to get your plugin to run, as well as how to organize your plugin’s files and code. You’ll also find some frequently asked questions and a walkthrough of how to create your first plugin.

WordPress plugins available for free and paid

There are many places where you can download or buy plugins to enhance your website. You can find thousands of plugins in the WordPress plugin directory that will help you build the website you want. If you are looking for advanced features, better support or a better user interface, premium plugins can be purchased from CodeCanyon.

Sometimes, however, you may need to create your own plugin. You might not need all the code from third-party plugins, so this can be more efficient. This allows you to create a plugin that suits your needs better, or modify an existing plugin to suit your site.

What are the Essentials to Create a Plugin?

You will need the following:

  • a code editor
  • A development WordPress installation is provided with a copy your live site to test.

Test your plugin only on your live website once you are certain it works.

If you don’t have a WordPress local installation, please follow our guide to copying and installing your site to a local install . If you are unable to install WordPress locally, you can use a backup of your site on your server. Learn how you can copy your site.

Types of WordPress plugins

Many plugins are capable of performing many tasks. They all add functionality to your website. There are many types of WordPress plugins.

  • Site Maintenance Plugins to help with security, backups, and performance
  • Marketing and Sales Plugins For things like SEO, Social Media, or eCommerce
  • Content Plugins including custom post types, widgets and shortcodes, forms, galleries and video feeds
  • API plugins which work with the WordPress API or pull in content from services such as Google Maps
  • Community plugins which add social networking features

You can do so much more! You can get an idea of the potential uses of plugins by looking at the WordPress plugin directory or the CodeCanyon marketplace.

What goes into a plugin?

Before you start building your plugin, it is worth understanding what goes into it. The exact look of your plugin’s code will depend on the type of plugin. Some plugins are very small with only one file, while others have multiple files with scripts, stylesheets and template files. There are many plugins that fall somewhere in between.

These are the elements that you will likely have in your plugin:

  • The main plugin file (this is crucial)
  • folders for different file types
  • Scripts
  • Stylesheets
  • Include files to organize the code

Let’s take a closer look at each one.

The Main Plugin File

It is vital to have the main plugin file. It will always be a PHP-file and will always include commented-out text telling WordPress about your plugin.

Here’s an example from Akismet:

 * @package Akismet
Plugin Name: Akismet Anti-Spam
Plugin URI:
Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.
Version: 4.1.7
Author: Automattic
Author URI:
License: GPLv2 or later
Text Domain: akismet

This information tells WordPress about your plugin, its location, who created it, and what it does. It also gives information about the version number and the text domain and path for internationalisation, as well as the license.

WordPress uses this information to populate your plugins screen. This is how Akismet appears on that screen.

As you can see, the information in the plugin file was used to populate the entry and provide links.

Additional information about the plugin can be found in the README.txt file. This file is used to populate plugin’s page in plugin directory.

The code that runs the plugin will be found in the main plugin file. Sometimes this will contain all of the PHP needed to run the plugin. However, larger plugins may require additional code to be included in the main plugin file. This allows you to organize your code and makes it easier to use. Later in this guide, I will show you how to use include file.

Folder Structure

Although there aren’t any hard and fast rules about how to organise your folders in your plugins, it is a good idea to follow the same pattern as other plugin developers. This will allow you to familiarize yourself with how other plugins work and will help you communicate your code to others.

Your plugin may contain the following folders:

  • CSS or style to stylesheets
  • scripts JavaScript
  • includes for include files
  • templates to be used in template files.
  • assets to media and other asset file
  • i18n internationalisation files

If your plugin is complex or large, you might need more folders. WooCommerce, for example, has folders to store sample data and packages. These folders contain subfolders that can be used to store admin files and blocks.

Stylesheets and scripts

Stylesheets are required if your plugin produces content that requires styling. This could be in the admin screens or the front-end. If your plugin uses scripts, stylesheets will be required.

Even if you have only one, it makes sense to keep them in their own folder. These scripts and stylesheets will need to be enqueued using a specific function in your main plugin. This is how I will show you when we build the plugin.

See also  WordPress 5.8 Will Be Faster with WebP Support

Include Files

Splitting your code into multiple files called include files can help you organize your plugin. These files can then be placed in their own folders and called from your main plugin file with an include, or need function.

This allows you to keep your bulk of code in a well-organized file structure, while your main plugin file is kept small and manageable.

You don’t have to use include files if your plugin is small. Simply add your code to your main plugin file. To maintain a logical structure, you may need to organize the file and reorder functions as you add them.

These are the most commonly used elements in a plugin. As we’ve seen with WooCommerce, there are many other elements. You can also have many smaller plugins. These elements will be more frequently used as you create more plugins.

How to Run Your Plugin Code

Activating your plugin is the first step to enabling it to work. You have a few options to activate your code, or pull in code from WordPress.

  • Functions
  • Action and filter hooks
  • Classes

Let’s take a closer look at each one.


Functions are the foundation of WordPress code. These functions are the easiest way to start writing your own plugins, and they’re also the most straightforward to code. They’re also found in the themes’ files.

Each function will be given a name and then braces with the code within them.

Your plugin’s code won’t run unless it calls the function. This is the simplest, but least flexible way to do it. You can call the code directly in your theme or elsewhere in your plugin.

Here’s an example of a function:

tutsplus_myfunction {
// code goes here

To directly call that function in your theme, you’d simply type tutsplus_myfunction() in the place in your theme template files where you want it to run. You could also add it to your plugin, but you would need to activate it.

These limitations are:

  • You can’t activate a function that does more than adding content to a theme template file.
  • You will need to call the function again and again if you want it to be called in more than one place.
  • It can be difficult to keep track all the functions you have manually called.

It is a better idea to attach functions to a hook to be able to call them.

Filter and Action Hooks

Attaching your function to an hook allows you to run it whenever the hook fires. There are two types: filter hooks and action hooks.

Action hooks are not useful. WordPress does not respond to action hooks unless it has been connected to a function.

Filter hooks are code that will run , unless there’s a function hooked up to that hook. If there’s a function attached to the hook, it will run that function. You can either add default code to your plugin and override it with another plugin or write a function to override the default code attached to a filter hook within WordPress.

Three ways to fire hooks:

  • WordPress. There are hundreds of hooks in the WordPress core code that can fire at different times. Depending on the function you are hooking, which one you use will determine what you need. The developer handbook contains a list WordPress hooks.
  • Your theme. You can add additional content to key areas of your website’s design by using action and filter hooks. All themes include a wp_footer hook. These can be combined with conditional tags to allow you to run specific code on particular pages within your site.
  • Your plugin and other plugins. An action hook can be added to your plugin. Then, you might include functions in your include files to attach code to the hook. You might also write a filter hook that allows you to override certain functions. You can also hook your functions to an existing hook in a third-party plugin if you are creating a plugin. This is what I did with WooCommerce to customize the output of product pages.

While some of these are more advanced, your first plugin will hook your functions to an action/filter hook output by WordPress, most likely an Action Hook.


Classes allow you to code more complicated features such as customizer elements and widgets, using the existing WordPress APIs.

You’ll likely be adding a class to your plugin by extending an already-coded class. You can use the code provided by the class to modify it to your liking. You might use the customizer as an example. Here you could write a class that includes a color picker and make use of the color picker interface provided in the existing customizer class.

Classes are more complex than functions and you won’t be able to do it with your first plugin. For more information, please refer to our guide to classes for WordPress.

Even if you write classes, actions and filters will still be required to make them run.

Best Practices for Plugins

It is important to learn best practices before you begin coding your plugin. This will ensure that your code is high-quality right from the beginning.

These include:

  • WordPress coding guidelines will guide you in writing your code. You will need to submit your plugin for inclusion in the plugin directory.
  • Comment your code to make it easier for others to work with. This will help you to remember how it works when you return to it later.
  • Prefix your functions, hooks, or classes with prefixes to make them unique to your plugin. It is not a good idea to name a function the exact same as another function in WordPress core or another plugin.
  • Your folders should be organized logically. Keep your code separate so that others can understand it. Also, so that you can add to it as needed without making it a mess.

It might seem that best practice doesn’t matter if you’re the only one using the plugin. Your plugin may grow over time. You might allow others to use it or sell it. You might forget how it is organized in two years.

In 4 Easy Steps, Create Your First Plugin

At last! Now that you have an understanding of plugins, it is time to get started creating your first plugin. This tutorial will show you how to create a simple plugin that registers custom post types.

See also  Over 1.6 Million WordPress websites are under active Cyberattack

This is a common use of a plug-in, and one you can continue to build upon over time to add custom templates files for your post type or other functionality.

I will show you the basics of the plugin, and then give you an overview of how you can add to it.

1. Create the Plugin Folder and File

Even if your plugin starts small, even if it only has one file, it is a good idea to give it its own folder. Create a folder within your WordPress Content/plugins directory. Create a PHP file inside that folder for your plugin.

Both folders should be given a name that is logical and includes a prefix. I’m calling my folder tutsplus-register-post-types and my file tutsplus-register-post-types.php.

Open your plugin file, and then add the commented-out information to the top. Take my example below and modify it to reflect that this plugin is yours.

Plugin Name: Tuts+ Register Post Types
Plugin URI:
Description: Plugin to accompany tutsplus guide to creating plugins, registers a post type.
Version: 1.0
Author: Rachel McCollin
Author URI:
License: GPLv2 or later
Text Domain: tutsplus

Save your file, then go to the plugins screen on your development site. You’ll see the plug-in there.

It can be activated if you wish, but it won’t do anything because you haven’t added any code. Let’s get started.

2. Add Functions

Now, it’s time for the first function to be written in our plugin. Make your plugin by adding the braces that will contain the code. Here is mine:

function tutsplus_register_post_type() {
    // movies
    $labels = array( 
        'name' => __( 'Movies' , 'tutsplus' ),
        'singular_name' => __( 'Movie' , 'tutsplus' ),
        'add_new' => __( 'New Movie' , 'tutsplus' ),
        'add_new_item' => __( 'Add New Movie' , 'tutsplus' ),
        'edit_item' => __( 'Edit Movie' , 'tutsplus' ),
        'new_item' => __( 'New Movie' , 'tutsplus' ),
        'view_item' => __( 'View Movie' , 'tutsplus' ),
        'search_items' => __( 'Search Movies' , 'tutsplus' ),
        'not_found' =>  __( 'No Movies Found' , 'tutsplus' ),
        'not_found_in_trash' => __( 'No Movies found in Trash' , 'tutsplus' ),
    $args = array(
        'labels' => $labels,
        'has_archive' => true,
        'public' => true,
        'hierarchical' => false,
        'supports' => array(
        'rewrite'   => array( 'slug' => 'movies' ),
        'show_in_rest' => true

This includes all of the arguments and labels for your post type, and (crucially), the register_post_type() function that is provided by WordPress.

As I am creating a movie review website, I have used movies as my post type. You may want to try something else.

You’ll notice that nothing has changed if you save the file and then go back to your website. This is because your code has not been activated. We activate the function by hooking it up to the init hook, which is provided by WordPress. You can use the function provided by WordPress (e.g register_post_type), but there is a hook you should use. Details can be found in the WordPress handbook entry Registering custom post types.

Let’s now add the hook. Add the following line to your code.

add_action( 'init', 'tutsplus_register_post_type' );

To hook our code to an Action Hook, we use the Add_ACTION() function. It has two parameters: The name of the action hook as well as the name our function.

Save your files now and go back to your website. If you activated the plugin, you will see the custom post type in your admin menu.

It’s great!

Let’s now add an additional function to register a custom taxonomy. Add this to the code that you have written so far:

function tutsplus_register_taxonomy() {    
    // books
    $labels = array(
        'name' => __( 'Genres' , 'tutsplus' ),
        'singular_name' => __( 'Genre', 'tutsplus' ),
        'search_items' => __( 'Search Genres' , 'tutsplus' ),
        'all_items' => __( 'All Genres' , 'tutsplus' ),
        'edit_item' => __( 'Edit Genre' , 'tutsplus' ),
        'update_item' => __( 'Update Genres' , 'tutsplus' ),
        'add_new_item' => __( 'Add New Genre' , 'tutsplus' ),
        'new_item_name' => __( 'New Genre Name' , 'tutsplus' ),
        'menu_name' => __( 'Genres' , 'tutsplus' ),
    $args = array(
        'labels' => $labels,
        'hierarchical' => true,
        'sort' => true,
        'args' => array( 'orderby' => 'term_order' ),
        'rewrite' => array( 'slug' => 'genres' ),
        'show_admin_column' => true,
        'show_in_rest' => true
    register_taxonomy( 'tutsplus_genre', array( 'tutsplus_movie' ), $args);
add_action( 'init', 'tutsplus_register_taxonomy' );

You might also want to modify the name of your custom taxinomy. Here, the taxonomy is applied to the post type that I just registered (the third parameter in the register_taxonomy operation). You can edit the bit if you gave your post type another name.

Save your file now and go to your admin screens. The new taxonomy will be visible if you hover over the post type in your admin menu.

Now you have a working plugin. Well done!

Let’s look at what you can do to make it better.

3. Enqueue Stylesheets and Scripts

You can add custom styling and scripts to your plugin files if you have the need. However, this is not the best practice. Instead, create stylesheets or scripts in separate files within your plugin folder, and then enqueue them using a WordPress function.

Let’s say you want to add styling to your custom post type. This could be added to your theme. However, you may want to add specific styling to the plugin in order to make the custom post type stand out from all other types of post types.

You will need to create a folder in your plugin folder named CSS or styles. You can name your stylesheet style.css or give it a specific name to make it easier to find. My movies.css.

The file must be enqueued in your plugin to allow WordPress to use it. This should be added to the main plugin file. Enqueuing and include are important to me. This allows me to see which files are being activated.

function tutsplus_movie_styles() {
    wp_enqueue_style( 'movies',  plugin_dir_url( __FILE__ ) . ‘/css/movies.css’ );                      
add_action( 'wp_enqueue_scripts', ‘tutsplus_movie_styles' );

You won’t notice any changes in your admin screens if you save your file. However, if you have added custom post types and your stylesheet includes styling, you will now see them in the front-end.

See also  How to Deal with the June Google Core Update

The hook for enqueuing stylesheets and scripts are the same. They both use wp_enqueue_scripts. There is no separate hook for styles.

The same way that Enqueuing scripts work is for query scripts. These are the steps to follow:

  • To your plugin folder, add a scripts and js directory.
  • There are script files that you can save.
  • You can now queue the script the same as the stylesheet, substituting the style() function by Enqueue_script()

4. Use Include Files

You can also create additional PHP files as part of your plugin development. These are known as include files. You might have multiple include files, so you could create several folders or one folder named includes.

You can use a few functions to include files. These functions are covered in our comprehensive guide to including requiring files.

We might, for example, create code in our custom plugin to change the output of the page’s content. This could be done by using the the_content filter hook. The code will then be modified each time that the product page displays the content.

You could instead of adding the code to the main plugin folder, create a separate movie-content.php file and then add the code there to control the output for movies.

You add the content-movie.php folder to your plugin in order to include this file.

This code is needed to include the file in your plugin.

include( plugin_dir_path( __FILE__ ) . ‘includes/movie-content.php' );

This doesn’t have to be hooked to any action or filter hook. Just use the include_once() function within your plugin file. This will call the code in the include file just like it was in the main plugin file.

How to extend or edit an existing plugin

Sometimes, you may find a plugin from a vendor or in the plugin directory that does all you need. You might also want to tweak or customise a plugin.

WordPress is open-source makes it possible. It is possible to take the code of another plugin and modify it to make it function as you wish.

Two ways to accomplish this are available:

  • Fork an existing plugin, i.e. Edit it to make it more reliable or work differently.
  • Create your plugin to extend the original plugin.

Editing an existing plugin is easy: You create your own copy on a site that you have created (never live!) You can make changes to the plugin as necessary. To avoid any problems, make sure to use version control.

Although it is more difficult to extend a plugin using your own plugin, it is more reliable.

Hooks and classes are a common feature of popular plugins. Hook into action and filter hooks, and extend classes to create your own code. This code uses an existing plugin’s base code but adds or changes it.

WooCommerce, for example, has many functions, hooks and classes. It even has its own API. These functions, hooks, and classes power every part of WooCommerce. You must identify the code that is driving the WooCommerce system, then create your plugin to attach to it or extend the classes.

This is how you can customize a plugin such as WooCommerce. I used it once to power a listing site without a checkout. Hooks were used to remove unwanted elements and create new ones.

You can hook into WooCommerce to extend it or add your own plugin. See our guides to adding product description to archive pages, and to adding product-based blogs to your store. These are just a few examples of what you can do, but they will give you an idea of where to begin.

Take It Further: Plugin Features

This guide will show you how plugins work and how to start building your own plugin.

Once you are proficient in plugin development, you will be able to create more complicated and fully-featured plugins that can perform more complex tasks for your site.

Let’s look at some examples.

Widget Plugins

Although widget plugins require you to work with classes, they are a great introduction to the topic. This guide will show you how to create a widget plugin.

CodeCanyon also offers many widget plug-ins, which can be used to save time and effort in coding. We’ve identified the top widget plugins for 2021 and the best Facebook widgets as well as the most useful Twitter widgets.

Shortcode plugins

A shortcode is an excellent place to begin creating plugins. They are simple and extremely useful. Learn how to create them in our coding guide for WordPress.

CodeCanyon also offers a number of shortcode plugins that you can use to enhance your website’s functionality.

Social Media Plugins

Social media plugins are extremely popular because they allow you to display your Instagram, Twitter, and Facebook feeds on your website, and allow your visitors to share your content through their social media accounts.

CodeCanyon offers many social-media plugins. Find out which social media plugins are the best and how to build an online community for WordPress.

Gallery and Media Plugins

A plugin can make your site look professional and optimise your media. Learn how to create your own gallery plugin. You can also browse the professional gallery or video plugins at CodeCanyon.

Form Plugins

Your visitors can contact you by adding forms to their site. This helps them build a connection. CodeCanyon offers many premium forms plugins to make it easier for visitors to get in touch with you. Learn how you can create a form using the popular QuForm plugin.


Plugins can transform your website from a blog to a robust, secure, and robust website. To improve your WordPress website, you can add plugins to your site or code your own.

The Best WordPress Themes and Plugins on Envato Market

Explore thousands of the best WordPress themes ever created on ThemeForest and leading WordPress plugins on CodeCanyon. Purchase these high-quality WordPress themes and plugins and improve your website experience for you and your visitors.

First seen at


How SEO Works in Digital Marketing




Search engine optimization (SEO) is an integral part of digital marketing.

SEO helps with brand discoverability. When done right, SEO can create the most consistent and by far the highest-quality traffic source which doesn’t require on-going maintenance.

Yet, SEO is usually the most isolated part of the marketing. Whether it is an in-house team or a third-party service that’s delivering your SEO campaigns, it usually exists on its own without really communicating goals, progress or results to the whole company.

This creates silos that can lead to poor results and even reputation crises.

How does SEO work in digital marketing and how can a business make it work better?

What is SEO?

SEO is a collection of tactics (content, technical, link building, even website security and usability) that ensures that your website is easy to understand for search engines.

Basically, it ensures a machine knows that your page will be easy to find to a human being who is looking to solve a related problem.

Search engine traffic is one of the highest-quality traffic for many reasons:

  • Unlike PPC (paid) traffic, it doesn’t require an ongoing investment to keep coming
  • Unlike social media traffic,  it doesn’t require an ongoing work to keep coming
  • Unlike social media traffic, you are not interrupting people’s browsing. Instead you give them what they were actually searching for.

In other words, it is consistent and it converts well. No other digital marketing tactic beats that.

Apart from driving direct traffic, search engine optimization helps build brand awareness by increasing your brand’s organic findability.

Keep Your Whole Team Aware of Why SEO is Important

The great thing about today is that everyone understands the value of ranking high on Google! Sadly, however, many folks only know that they “need SEO” without having really understood what that means. 

See also  How to Backup your Data using updraft plugin in WordPress?

SEO these days is too hard for a digital marketer to do alone. Many SEOs find themselves in situations where an executive will simply come down and go “Why are we not ranking well for ‘dingwobble’?” 

Keep working hard with teams for them to understand how they contribute to the SEO process:

  • Product Marketers who are responsible for the business, personas and messaging understand that SEO is critical to driving the bottom line revenue numbers they are looking at. Part of the persona developing process should be the development of the “digital persona” – what websites and search terms are these people looking for? This helps the product marketer when it comes time to develop messaging, as that is going to be critical for developing the content, so the right search terms better be there!
  • Field Marketers responsible for the campaigns need to know how SEO fits within their campaign, how it in fact is core to our demand generation, and how to make sure to keep the campaigns integrated.
  • Marketing Communications is creating the content, so SEO should very well be top of mind for them, as the content itself will be critical in impacting how successful SEO will be.
  • But that’s not all! Often, other groups are creating content (Press Releases, Blog Posts, Presentations, etc.) that also end up on the web and impact SEO. Whether it’s Corporate Communications, Investor Relations or even Legal teams, working with them is critical.
  • IT manages the infrastructure and can be very critical to the technical aspects of SEO.
  • Sales and customer support teams are at the forefront of marketing talking to your future and current customers, so they need to be involved in the SEO strategy. Creating relevant content goes beyond keywords. It needs to address real problems and answer actual people’s questions, and your client-facing teams will be your best source of inspiration here.  
  • Executives also care! While they can’t often influence the day-to-day of SEO, they will care a lot about the bottom line, to which SEO contributes.
See also  WordPress Facebook Feed Plugin Vulnerability Exposes 200,000+ Websites

Educating all of these people about SEO helps empower them, as well as position yourself, the SEO, as the subject matter expert who is not just someone back-office who gives very little visibility into the black box of SEO, but someone who is actively educating and contributing to the organization’s success.

Review and discuss common KPIs early and often to make sure everyone knows what victory looks like to the team.

Additionally, SEO should be a solid part of any project launch as it impacts every stage of product positioning. From choosing a business name to choosing a website builder, your initial efforts should be driven by SEO best practices.

What is the key to SEO success in a constantly changing environment?

As a practitioner of SEO, I believe that you need to look to ensure you are looking at both developing yourself in both depth and breadth of knowledge. A key danger in the name of being informed or being a part of the SEO community is spending all your time debating tactics and practices rather than testing them. 

Additionally, SEOs as with all employees need to look outside their field to stretch and learn how to be more well rounded. This could mean learning to code, or educating yourself in some other area of the business you work for.  This will expose you to ideas others may not have.

As a manager of people, success is really about diversity of expertise. Who you hire and the kind of people you hire will be far more valuable than much of what people invest in with regards to SEO programs. You have to have people who can roll with the punches and develop a skill for self-management and personal growth. 

See also  How to Deal with the June Google Core Update

Finally, I think knowing what your real goals are in having an SEO program are the key to long term success. The reality is you may get more traffic, but if that traffic is not from qualified leads and generates real revenue then the benefit may be very little. Having well defined goals and metrics will also help you avoid chasing algorithm changes and focus on the big picture.


SEO is the most essential long-term digital marketing strategy but to make it really effective, you need a knowledge team that is well-integrated into the company’s life. Good luck!

Ann Smarty

Ann Smarty is the brand NINJA at Internet Marketing Ninjas as well as the founder of numerous startups including MyBlogGuest, MyBlogU, ViralContentBee, TwChat and many more.

Ann Smarty has been an online marketing consultant for 10 years providing high-quality digital marketing consulting through her services and courses (both free and paid).

Ann Smarty’s content marketing ideas have been featured in NYtimes, Mashable, Entrepreneur, Search Engine Land and many more. She is known for her indepth tool reviews, innovative content marketing advice and actionable digital marketing ideas.

Source: Ann Smarty

Continue Reading


3 Effective Ways to Quickly Identify Your SaaS Brand’s Top SEO Competitors




The author’s views are entirely his or her own (excluding the unlikely event of hypnosis) and may not always reflect the views of Moz.

There are over 22,600 software-as-a-service (SaaS) companies in the world right now, according to Crunchbase.

On Capterra, there are more than 800 software categories.

Research by Statista indicates that the market size of the SaaS industry has grown from $5.56 billion in 2008 to over $156 billion in 2020.

What do these figures show? It’s simple. The SaaS industry landscape is becoming more competitive by the day.

To stay on top of your game as a SaaS business, you must identify the companies you’re competing with from an SEO standpoint. That way, you’ll know the content strategies to focus on, the keywords to target, and the type of backlinks to acquire. In this post, you’ll learn three effective ways to do this quickly.

Why care about your SEO competitors as a SaaS brand?

If you don’t know your SEO competitors, you’re leaving so much on the table, while they occupy the top spots on the SERPs.

1. You can identify the top keywords they’re targeting and how they’re acquiring backlinks to help your own strategies.

By identifying the companies competing against your SaaS brand, you’ll know the top keywords they’re targeting. That way, you can focus on those keywords that can generate qualified traffic and drive user signups for your SaaS. This streamlines your keyword research process.

Knowing your top SEO competitors is also a great way to perform a link gap analysis. That way, you can know the type of backlinks they’re acquiring and where they’re getting them from. This helps you to identify relevant websites that are more likely to link to you.

2. You can figure out the competitive edge you have over them

If you don’t know who your top competitors are, you won’t be able to find the SEO opportunities to focus on to drive growth for your business.

Take, for instance, if they focus more on high-volume, top-of-the-funnel keywords. If you then go after middle- and bottom-funnel keywords, it could give you a competitive edge.

3. You can understand their biggest drivers of growth and conversion.

Most SaaS companies optimize their blog posts, landing pages, and product pages for conversions. This is because they measure growth by the number of signups and paying customers that they have.

See also  Jetpack Boost For WordPress Core Web Vitals is Ready

By identifying your SEO competitors, you can know the kind of CTAs and buttons that work well in your niche. That way, you’ll have a better understanding of the conversion strategies that can drive growth for your SaaS business.

Three ways to identify the SEO competitors of your SaaS brand

Here are three tactics you can try today to identify your SaaS brand’s top SEO competitors.

1. Use SEO tools

SEO tools have access to large amounts of data for different websites and niches — and they’ve analyzed and categorized this information for your own use.

For example, SEMrush has the Market Explorer tool, which helps you to find potential competitors for your business. Ahrefs also has a competing domains report in the Site Explorer tool. This helps you to identify the websites competing with your SaaS, based on the kind of keywords you’re ranking for.

You can also use the Moz Pro True Competitor tool to identify the top SEO competitors for your SaaS brand. Here’s how it works: Let’s say you want to identify the top SEO competitors of Moz. With this tool, you can find that information within a few seconds.

The first thing you need to do is enter the following details in the tool:

  • Preferred market: The specific location you’re targeting
  • Domain type: The type of domain
  • Domain name: Your website URL

Once you enter this information and hit the “Find Competitors” button, you’ll get a list of top 25 competitors:

As you can see, websites competing with Moz on the SERPs aren’t limited to software brands alone. They include others such as:

  • Google
  • Search Engine Journal
  • Hubspot
  • Search Engine Land
  • Wordstream
  • Backlinko.

This tool also has the Overlap and Rivalry metrics, to filter your top competitors.

The Overlap metric filters your top competitors based on the shared keywords you both rank for on the first page of Google. The Rivalry metric uses factors like CTR, DA score, the volume of shared keywords, etc. to identify the most relevant competitors for your SaaS.

See also  New Plugin Adds Google-Doc Style Commenting to Gutenberg Blocks

After identifying your top SEO competitors, you can perform an in-depth analysis of at most 2 of them, to know the keywords they’re targeting.

2. Survey or interview your new and existing customers

If someone signs up for your SaaS product, chances are that they’ve demoed or tried out other options before deciding to go with yours. It’s also possible that they’ve just churned from one of your competitors to become a customer.

This shows that they have an idea of who your direct and indirect competitors are. To get this information, all you need to do is reach out and interview them one after the other. This could be by talking to them via a quick call, sending a short survey for them to fill out, or asking them during the onboarding process.

Here are some questions you can ask customers to identify your top competitors:

  • What tools were you using to [solve X problem] before trying out our product?
  • If you’ve never used any tool before, how were you able to solve this problem before now?
  • What made you interested in trying out our product?
  • When did you realize that a tool​ like ours is what you need right now?
  • How much research did you do to decide on our product? What are some other, similar tools you discovered during the research process?

3. Perform a Google search targeting your SaaS use cases and features

Performing a Google search for the use cases, features, and problems your software solves is a great way to identify your top SEO competitors. This is effective because most companies ranking high on Google are investing in SEO.

Use the “related:website” advanced search feature

This search operator shows you other websites related to the one you search for on Google.

Let’s say you want to find websites like You can search for “” on Google. The results on page one are some of SalesForce’s top SERP competitors:

Search for the use cases of your software

If your software helps SaaS companies onboard and activate new users, one of your core use cases is “user onboarding”.

See also  WordPress Facebook Feed Plugin Vulnerability Exposes 200,000+ Websites

If you search “user onboarding software” on Google, you’ll unlock competitors who are either bidding for or ranking organically for the keyword.

Some of the websites targeting this use case on Google include:

  • Appcues
  • Userpilot
  • Apty
  • Userflow

Aside from that, there are SaaS brands paying to rank on the first page of Google for this keyword.

Search for your SaaS features

One of the core features of the Moz tool is the “rank tracking” feature. To identify the websites that have a similar feature, you can input that keyword on the Google search bar.

Here’s the result it returns:

As you can see, aside from Moz, other competing websites for this feature include:

  • Link-Assistant
  • Ahrefs
  • Rank Tracker
  • Spyfu
  • SEMrush

Search for your SaaS jobs-to-be-done (JTBD)

Let’s say you run an online video editing software, one of the problems that your audience most likely have is “how to add an image to video”.

By performing a Google search for this query, you’ll see a result that looks like this:

This shows that some of the top SEO competitors in the online video editing space include:

  • Kapwing
  • Veed
  • Online Video Cutter
  • Flixier
  • Movavi


If you don’t know the SaaS companies you’re competing with, they’ll leave you behind and dominate your niche.

In this post, you’ve learned three effective ways to identify your top SEO competitors as a SaaS brand:

  1. You can use an SEO software such as the Moz True Competitor tool to find your competitors and know the keywords they’re targeting.
  2. You can reach out to new and existing customers, to find out the solutions they’re comparing you with.
  3. You can search Google for your SaaS product’s features and use cases. This shows you the companies likely competing with your brand on the SERPs.

Ever tried any of these tactics before? Kindly share which of them worked really well for your SaaS brand in the Q&A.

Source: AbdulGaniy Shehu

Continue Reading


Picking SEO Keywords: An Expert’s Guide



Without SEO, publishing content online is like sending a rocket to space without a destination.

If you don’t tell that rocket which direction to head (the moon or Mars?), you’re stuck crossing your fingers and hoping things work out. That’s not good marketing. Good marketing comes with predictability, data, and then some crossed fingers.

And that’s the perfect way to describe search engine optimization, SEO, in 2022.

SEO is part of the search engine algorithm:

Input = Keywords

Output = Content

For every keyword, there are thousands of pages of search results and plenty of content to choose from (outputs). But, page 1,000 isn’t nearly as useful as page 1. Even page 2 of search results can feel like no man’s land.

That’s why marketers care about SEO. Because all search engine pages are not equal. The power of ranking top 3 on page 1 of a search engine beats out ranking first on page 2 by 100x (honestly, maybe even 1,000x). 

How do you land a coveted spot on page 1 of the search results?

By picking the right SEO keywords through these three steps.

3 Steps SEO Experts Use to Pick Keywords

SEO has been around long enough that you don’t need to reinvent the wheel. A new, innovative, never-before-seen SEO strategy that takes you months to implement and even longer to see results is the opposite of what SEO experts are doing.

The SEO experts writing high-quality content, landing on page 1 for relevant searches, and seeing results from their content are the ones following this tried-and-true SEO strategy.

#1: Ideate Keywords

There are two types of advertising: interruption-based and intent-based. Interruption-based advertising is an ad on your social media newsfeed. It’s the ads between paragraphs on the news article you’re trying to read. It’s a search engine ad strategically placed before the organic results. This isn’t your focus in organic SEO marketing, but this IS your focus in paid SEO advertising.

In SEO marketing, you’re focused on intent-based advertising. When somebody chooses to search for an answer to their question—that’s intent-based advertising. A search for “olive green cotton blanket” is an example of intent-based advertising.

And the search engine results are a mix of interruption (paid ads) and intent-based advertising (organic results).

When you’re ideating keywords for your products and brand, you’re looking at intent-based words. These are the words somebody needs to use to find your products or brand. For DigitalMarketer, these are words like:

  • Digital marketing training
  • Digital marketing help
  • Content marketing training
  • Copywriting training

These keywords correlate directly to our products. They teach people how to be great digital marketers, either for their own company, their full-time marketing role, marketing consultancy, or their agency clients.

Your customer avatar asks specific questions and uses certain words to describe to search engines what content they want output. Use these questions to make a list of 20+ keywords you could rank for:

  1. What questions do your customers ask surrounding your products or brand?
  2. What single words would your customers use to describe your product or brand?
  3. What phrases would your customers use to describe your product or brand?

These questions will give you a page full of keywords and keyword phrases (several words used in a search query) that you want to rank for.

See also  Free WordPress Astra Plugin Updated with Gutenberg Wireframe Blocks

Once you have those keywords, go to and automatically generate a list of questions people have asked search engines related to those keywords. See if there are any other keywords or keyword phrases you missed—and take notes of the questions people are asking. Those questions will be the topics of your content.

For example, if we see people asking “how to pick SEO keywords,” our team knows that content on picking SEO keywords is a great addition to our online library. You don’t want to chase every keyword that looks like a great piece of content, though.

First, you need to research the best keywords to see which are worth spending your time on.

#2: Research the Best Keywords

With your list of keywords and keyword phrases (which should be looooooooong by now), you’re set up to figure out which keywords to put your focus on. Unlike your pets, you’re allowed to play favorites here. You don’t want to choose keywords that are highly saturated and difficult to rank for. You also want to avoid the keywords that will only capture a minuscule part of your audience (at least, at first).

Time to bring in more help from our robot friends. Research the best keywords with tools like Google Keyword Planner, SEMRush, Ahrefs, and seriously, there are so many other awesome SEO tools out there.

Here’s what keyword research for “running shoes” looks like in SEMRush:

A few things to take note of to compare your keywords/phrases and see which are the best option:

  • Volume is key to understanding if this keyword is worth creating content on or if it’s better to choose something with a higher search volume.
  • The keyword difficulty score shows you how hard it will be to organically rank for that keyword (good luck on getting on page 1 for running shoes!).
  • Use Keyword Variations to figure out if there are other keywords you can try to rank for that are similar but less competitive.

You can also use tools like Google Trends to see which times of the year certain searches spike. For example, the keyword phrase “plants for desk” had its highest search volume between July 27th and July 3rd. From October to the end of November, it has the lowest search volume.

This data can tell you what time is the best to push interruption-based search paid ads—and if there’s specific content you can create around the seasons or months where you see these spikes.

Once you know which keywords you’re going all-in on, it’s time for a quick chat with your finance team.

#3: Check Bid Estimates (For Paid Advertising)

If you’re not putting money behind your SEO strategy and aiming to get organic traffic through high-ranking content, skip to the next section. If you’re looking to put your ad budget towards SEO, keep reading.

Once you’ve narrowed down the keywords to prioritize based on factors like search volume and difficulty score, it’s time to run your keywords through their last filter: cost. Every keyword comes at a different cost to win the ad auction. The ad auction is how Google determines which ad trying to rank for the same keyword wins an ad placement depending on the user.

See also  How to Build Links Using Q&A Sites

It’s based on 3 factors:

  1. Your Bid: This is your maximum budget for an ad click.
  2. Ad Quality: Google won’t show your ad to everybody searching for your keyword—they’ll show it to the people most likely to click based on past behavior and data they have on the user.
  3. Extensions and Ad Formats: Google likes when you use extensions, like phone number and other links, as well as the other ad formats you’ve chosen and can boost you in the auction for a lower price.

Understanding how the auction works is necessary to figuring out how much you can afford to spend on ads and what your expected ROI should be. For example, in the SEMRush example for the search “running shoes” the cost-per-click is estimated to be $0.84. This tells you that if you want 10 clicks on your ad per day, you need a minimum $8.40 budget. Of course these numbers are a lot smaller than what you’ll really be working with, but this gives you an idea of how to figure out your SEO budget.

This is why Step 3 is so important. If your SEO budget is $100 per day, you don’t want to splurge on keywords with a cost-per-click of $10 each (unless you’re certain they’ll lead to conversions!). Instead, you want to create a broader strategy that encompasses several keywords and keyword phrases that make up your $100 per day budget.

You can use Google Keyword Planner to get suggested bid amounts per keyword: 

You have your keywords, researched and ready to go. There’s only one more thing left to do.

What Do You Do After Picking SEO Keywords?

After you’ve chosen your SEO keywords, it’s time to create the content and ads. There are 3 types of content and ads to create:

  1. Top-of-funnel content
  2. Middle-of-funnel content
  3. Bottom-of-funnel content

Top-of-Funnel Content and Ads

When your customer avatar is first introduced to your brand, show them top-of-funnel content (TOFU). Think of this content as the getting to know you phase relationships (professional, family, friends, or even with your pets!). Every relationship goes through a stage of learning more about someone’s goals, values, and challenges. Your customer avatar wants to know who your brand is, what your goals are, and if your values align with theirs. They’re also looking to see if you understand their challenges.

Here’s an example of TOFU at DigitalMarketer: What is Digital Marketing? In this article, we’re introducing the reader to digital marketing which means we’re not trying to turn them into a customer just yet. It’s not the right time.

And the same applies to paid ads. You’re looking to educate at the top-of-the-funnel. Check out how these productivity apps use the limited amount of space on their ad to educate Google users about their productivity app.

Middle-of-funnel content and ads take things a step further.

Middle-of-Funnel Content and Ads

Middle-of-funnel content (MOFU) and ads are still educating the reader, but they’re *really* hinting at the product. The productivity apps above had to talk about their product in their TOFU content (they didn’t have another choice), but there’s a difference between their TOFU content and their MOFU content.

See also  WordPress Elementor Vulnerability Affects +7 Million

At the MOFU level, they’re flaunting their features and actively talking about why the competition isn’t the best option. An example of our MOFU content is this Ultimate Guide to Digital Marketing. This guide is LONG, and anybody reading it clearly trusts us as their teacher. This content is designed to build a stronger relationship with this lead and get them to give us their email address (so we can send them even more valuable content).

Notice the “Download as PDF” button? If you click that, a pop-up form appears asking for your First name, last name, email address AND two questions:

  1. Are you an agency or marketing consultant?
  2. Do you manage a sales and/or marketing team?

These two questions help us tag our email subscribers so we know which content, products, and offers are best suited for them. We can build out specific funnels based on their responses and get first-party data that we can continue using in the future (take that iOS 14!).

Bottom-of-Funnel Content and Ads

Bottom-of-funnel content (BOFU) and ads have a direct call-to-action to join, buy, or sign-up. There isn’t any fluff. Think of this as a sales page—there’s only one action to take on that page and it involves contact information or a credit card.

For the search, “mailchimp vs. constant contact vs. sendinblue,” Constant Contact created a BOFU ad. How can you tell?

  • They’re giving you a special offer to sign up now
  • They’re promoting their 60-day full access, free trial
  • Their link extensions are promoting product features

BOFU content cuts straight to the chase.

Every great SEO strategy involves these 3 types of content. 

You’re Ready to Pick Your SEO Keywords

You don’t have to classify yourself as an expert before you choose your keywords. You finished this article which means—you’re ready. You have the 3 steps to follow:

  1. Ideate Keywords
  2. Research the Best Keywords
  3. Check Bid Estimates (For Paid Advertising)

And you know what to do after you’ve chosen them (create TOFU, MOFU, and BOFU content and ads). The only thing left to do is put what you’ve learned into practice. Remember that every SEO marketer started where you were, unsure how to use the Google ads platform and scared they’ll run through their marketing budget without an ROI.

Just like we’re not telling you to put your entire life savings into Gamestop stock, putting your entire ad budget into your first SEO strategy is the wrong move. Take a percentage of that budget and start testing out ads, seeing their CTR, and how much each keyword or keyword phrase costs.

Build up from there. If you take this route, you’ll feel comfortable enough with your SEO strategy to add another story on top of it, and another in the future, and eventually you’ll have a solid building on your hands. That’s when you’ll look back at yourself reading this article and think—wow, that was just the beginning.

Source: DigitalMarketer

Continue Reading

Subscribe To our Newsletter
We promise not to spam you. Unsubscribe at any time.
Invalid email address