wordpress freelancer guide

Ultimate Guide to Becoming a WordPress Freelancer (2022)

I’ve been a WordPress web developer and designer for over a decade, and in that time I have gathered a ton of skills I never knew I would need when I first started my freelancing journey. Since WordPress websites are so common, becoming a WordPress freelancer sounds like an ideal plan for anyone looking to start a small web business or a side-hussle.

How Do I Become a WordPress Freelancer?

Web development agencies often hire for specific roles, meaning that one person typically only wears one hat. As a solo freelancer, you’re expected to be able to manage the entire website re-development or website creation process by yourself. This means, you’ll need to have a (very) long list of skills in order to be a successful WordPress freelancer.

In this article, I will offer sets of tips, from basic to advanced, that all aspiring WordPress freelancers should learn:

  1. Basic WordPress Freelancer Tips
  2. Intermediate Level WordPress Freelancer Tips
  3. WordPress Pro Freelancer Tips (& How to Grow Your WordPress Business)

To become the best WordPress freelancer you can be, you’ll have to master the basics, learn and keep growing as you power through the intermediate level hurdles, and finally you’ll learn the skills you need to become the most sought after WordPress expert!

Basic Level WordPress Freelancer Tips

There’s lots to know in order to be a successful WordPress freelancer. You might think simply knowing how to open a WordPress.com account and choosing a free theme is enough to qualify, but in reality, this is hardly ever the case.

At the very least, typical WordPress clients expect you to know how to:

  1. Install and Setup WordPress on a Self-managed Hosting Account
  2. Use an FTP Client Like FileZilla
  3. Install and Setup Premium WordPress Themes and Plugins
  4. Create a Child Theme
  5. Know How Gutenberg Works (But Also How to Disable It)
  6. Understand Basic Site Architecture and Content Creation
  7. Know How to Use the Big Page Builders
  8. Optimize Website Speed
  9. Have Basic Security Knowledge
  10. Make Design Suggestions

1. Install and Setup WordPress on a Self-hosted Account

Although the company WordPress.com offers WordPress website solutions, it’s important to understand the difference between WordPress.com, the business, and WordPress.org, the open-source software. WordPress.org, or self-hosted WordPress, is a free software that you can download and install on your own hosting account. You own everything you create with it, and you can take it as far as you want without any barriers (other than the client’s budget for premium themes and plugins, of course).

WordPress.com, however, is a for-profit company, that is powered by the WordPress.org software, but instead of owning your own content, you pay them a monthly fee to have access to their platform. This platform limits certain features with payment gates, and the more you pay, the more you have access to. This is why almost all businesses prefer using the free version of WordPress on their own hosting accounts.

Luckily, most popular hosts (like GoDaddy, Dreamhost, InMotion, Blue Host, Host Gator, etc.) have one-click WordPress installation software like Installatron or Softaculous, or offer Managed WordPress solutions to set it up for you.

However, it’s important to note that this option is not always available, so knowing how to install WordPress manually using cPanel is important.

Using your chosen hosting company’s web panel, you need to access cPanel where you’ll find:

  • The File Manager
  • MySQL Databases
  • Let’s Encrypt SSL (or other SSL installation software)

In order to setup WordPress manually, you’ll need to learn how to:

  1. Download the latest WordPress version from WordPress.org
  2. Use MySQL Databases to create a new database, create a new database user, and assign this user to the database
  3. Use File Manager to upload the WordPress files you just downloaded to the public_html directory
  4. Visit the URL where you are installing WordPress and the installer will run
  5. Configure the settings to match your newly created database and database user

You can also learn how to install the WordPress files through an FTP client like FileZilla, which brings me to my next point.

2. Use an FTP Client Like FileZilla

So, what is an FTP and how can you use one? Well, FTP stands for File Transfer Protocol and using an FTP client (FileZilla being the most popular and user-friendly one) is an app that allows you to download, upload and manage files directly on a web server.

You might be thinking (and believe me, a lot of clients ask me): why do you need access to FTP when WordPress has all the files available in the Appearance > Theme Editor settings?

The fact is that, 1) it doesn’t, and 2) it’s very dangerous to use the Theme Editor to make changes directly from your WordPress dashboard. I’ll explain why.

In many instances, in order to truly optimize WordPress websites, you need access to the root directory of the server to be able to customize the wp-config.php file and the .htaccess file. You also need access to the uploads folder to mass download images for optimization (more on that later), and you need access to the plugins folder to troubleshoot many common WordPress issues.

While it’s true that you can access the theme files directly from within WordPress, and you can access all the core file through the File Manager in cPanel, it’s definitely a good idea to learn how to use FileZilla to maximize your chances of success.

I use FileZilla on a daily basis.

3. Install and Setup Premium WordPress Themes and Plugins

A major part of being a WordPress freelancer is knowing what to look for in a premium theme, and understanding the difference between a bad, a good, and a great theme or plugin.

If you have good knowledge of the most popular themes on Themeforest.net’s popular WordPress themes, and you have a general idea of which must-use plugins to recommend to your clients, that’s already half the battle!

Let’s start with the themes.

2022’s Best Selling WordPress Themes on Themeforest.net

Premium Themes

While free themes are nice for starter or hobby websites, a real business needs a premium theme. Premium themes completely change your WordPress workflow and dramatically decrease your development time and costs, while producing incredibly professional looking sites.

It’s true that my favourite, and in my opinion, the best WordPress theme, Astra, is available in WordPress’ free theme directory, but they also offer a premium version which is significantly better. Premium themes are often better coded, offer more customization options, are faster and safer, and come with tons of pre-built demos for a wide variety of industries. They also come with tons of premium plugins installed!

My personal favourite themes include:

  • Astra Pro
  • Salient
  • BeTheme
  • The7
  • The Gem

Know Your Plugins

Premium plugins like Revolution Slider or WP Bakery often come pre-packaged with premium themes. If you’re making a go at being the top WordPress freelancer in your area, it’s not only important to understand how these pro plugins work like the back of your hand, but it’s also a key asset to learn all about the most common plugins that most WordPress developers consider to be ‘must-use’ plugins.

In my humble opinion, these are the plugins that I think you must master in order to provide your clients with the best possible web development experience. My must-use plugins are:

You may not use every single one of these plugins every time you build a website, but there’s a VERY strong chance, you will need several of them on for every single client job in your WordPress freelancing future.

I try to limit the number plugins on every site I build to roughly 20 or less, and I can guarantee that out of those 20 plugins, most of these make the list every time.

4. Create a Child Theme

A child theme is a copy of your main (parent theme) and it allows you to make changes to your theme’s templates without modifying the original parent templates. A common beginner mistake is to add code directly on the parent theme’s templates, only to realize later that the code has disappeared because the client did a theme update.

That’s right! If you didn’t already know, a theme update will wipe any changes you’ve made to its template files, unless you use a child theme.

Here’s an example of a common use-case for creating a child theme.

As I mentioned in my last point, it’s important to keep plugins to a minimum in order to avoid bogging down your site speed. If your client already has a ton of plugins, and now wants to add Google Analytics to the website, you might think: “Oh no! Another plugin!”.

Well, here’s where you could simply duplicate your header.php template into your child theme folder, and add the Google Analytics tracking code directly to the header file instead of installing one more plugin to do this simple task. In the image below, I connected to my client’s site via FTP (FileZilla) and dragged a copy of the parent header.php into my child theme folder, and added the Google Analytics code directly on the child theme template:

Creating child themes is super useful for making header and footer modifications, adding new functions to a theme, and a bunch of other things you’ll pick up along the way, which is why learning how to create a child theme is an absolute MUST!

5. Know How Gutenberg Works (But Also How to Disable It)

Gutenberg, also known as the “WordPress block editor” was introduced in the release of WordPress 5.0, which came out December 6, 2018. It was a bit of a shock to most WordPress users, to say the least, because it was a drastic change from the classic editor.

However, since then, Gutenberg has grown and matured quite a bit and is a lot more flexible and easy to use now, in WordPress 6.0 then it was when it originally came out. It’s still not as user-friendly or proficient as WP Bakery or Elementor, but it is light-weight and can still produce some pretty decent layouts, like this website, which was built entirely with Gutenberg and Advanced Custom Fields Pro:

Even though most premium themes will come pre-installed with WP Bakery or Elementor either way, it’s still a good idea to brush up on the basic block editor for several reasons:

  • Not all your clients will like using premium page builders
  • Gutenberg is a part of WordPress core now
  • It has tons of extensions (over 400 plugins) dedicated to it
  • It’s very lightweight, which is good for SEO
  • It’s cheaper to maintain long-term, no fees

Despite it being lightweight and easy-to-use now, some clients will still prefer to keep working with the tool they are more familiar with, the classic editor. If this is the case, you’ll need to disable Gutterberg.

6. Understand Basic Site Architecture and Content Creation

Planning a website and understanding content creation go hand in hand. Any freelancer who wants to run a successful WordPress website needs to understand basic website architecture:

  • Knowing which pages are important
  • Creating a simple, well organized top-level navigation based on that knowledge
  • Making the website navigation consistent
  • Understanding which content to present in which order

A good way to start practising web page hierarchy and general website structure is by doing research, observing, and imitating the leading sitemaps in your industry. By creating sitemaps for your clients in Excel, or with a dedicated sitemap app, you’ll help your client visualize the structure of the website page hierarchy, which shows the client which content is more important and each pages role in the grand scheme of things.

By doing often, you will also improve your organizational skills, but also your content creation skills.

What do I mean by content creation skills?

We are not, by any means, copy-writers. We are designers and developers. However, a good WordPress freelancer will always have to work back-and-forth with clients on how to optimize their content to fit their project.

Expect to have to fill in the blanks here and there. When you start out your WordPress freelancing business, you probably won’t be working with million dollar companies that have endless marketing budgets. You’re going to be helping the client writing taglines, coming up with intro paragraphs, labels for forms, etc.

The more you practise, the better the quality of content and your suggestions on what to write will get.

7. Know How to Use the Big Page Builders

We already discussed the Gutenberg block builder in a point above, but WordPress page builders go far beyond that. As you know, there are endless plugins available to customize your WordPress experience, but none more important than the major page builders.

Almost every single premium theme comes bundled with either WP Bakery and Elementor. Learning how to use both will save your life!

Learn How to Use WP Bakery

WP Bakery Page Builder is a premium layout creation plugin that offers a front-end and back-end builder. It lets you build responsive websites quickly and easily. Lucky for you, we have a super handy guide on how to use WP Bakery. Mastering this plugin will not only let you take your web design skills to the next level, but you’ll also lower your operations cost by being able to build websites much faster than your competition.

Learn How To Use Elementor

Elementor is another WordPress beast because it’s free, therefore extremely popular. But don’t let that fool you. Just because it doesn’t cost anything, doesn’t mean it’s bad or lower quality than WP Bakery. It just comes down to preference. A lot of freelancers prefer using Elementor because that’s what they’re used to, and that’s their client’s page builder of choice.

Elementor is a visual page builder plugin for WordPress that loads it’s own custom editing screen inside WordPress. At first, it might feel a little weird, but it enables the creation of advanced websites using simple layout tools, CSS animations, responsive widgets, and more.

If you feel comfortable using these two plugins, you can feel confident in starting your WordPress freelancing career.

But don’t forget that page builder plugins are very heavy and can cause additional loading times, so once you start using premium page builders, this next point is very important.

8. Optimize Website Speed

Optimizing websites is a key skill in becoming a successful WordPress freelancer and/or developer. When you install a fresh WordPress website and run a scan using GTMetrix, you will notice that your score is probably very high (if you’re with a good hosting provider), but that can quickly change.

Install a premium theme with complex animations, large images, videos, a page builder plugin, and combine that with several dozen other third party plugins like Contact Form 7, Yoast SEO, Wordfence Security, and more, and you’ll quickly realize that a 100% page speed score was a bit of a pipe-dream.

The fact is that WordPress in itself is not so bad for website optimization, but most WordPress sites are typically very media heavy, and most business owners don’t know about speed optimization.

In your freelancing journey, you will most definitely inherit several badly managed WordPress websites that have huge images, bad code, a long-list of useless plugins, and the list goes on. So what can you do about it?

This is where being good at website optimization comes into play.

You should focus your efforts on learning how to:

You’ll also need to learn which hosts offer the best speeds for WordPress. Moving my clients to WP Engine doubled the irspeed scores instantly!

Have faith – a little optimization knowledge goes a long way.

9. Have Basic Security Knowledge

Sooner or later, you will encounter a hacked website. While you don’t necessarily need to know how to clean a hacked WordPress website, you will need to know what to recommend to your client, and how to prevent it from happening again in the future.

Hacking is typically not personal. Often, it’s simply an automatic bot scouring the web and scanning every website it comes across for vulnerabilities. So, the easiest way to prevent a hack is by protecting your sites from these bots.

What can you do to protect your WordPress site?

  1. Set your website up with trusted hosting provider — Your hosting company is the first line of defense. Although a tad more expensive than typical shared servers, hosts like WP Engine offer extra layers of protection against these attacks.
  2. Use a secure login name and password — The easiest way to prevent a hack is to use a super secure password, and not use the admin username.
  3. Setup a backup routine — Most hosts will run automatic backups, but just in case, you should install the Updraft plugin and set it to run an automatic backup every two weeks. This way, if your website does get hacked, you can always restore it to a previous state and bolster protection.
  4. Keep WordPress and plugins updated — We recommend a weekly update routine, where you log into your website once a week, and update any outdated themes, plugins or WordPress versions to stay up-to-date with the latest security patches.
  5. Install Wordfence — While there are several good security plugin solutions for WordPress, we prefer the Wordfence plugin for its robustness, simplicity of use, and good track record.

10. Make Design Suggestions

You might not have studied graphic or web design, but if you want to be a successful freelancer, you will need (at least some limited) knowledge about basic design principles.

If web design is not your thing, try picking up some Udemy courses and spending some time learning about general concepts like proxitmity, contrast, alignment, repetition, and use of white space.

While some jobs only require you to develop the designers mockups, some clients will expect you to make suggestions for images, make changes on the fly, or create alternate templates that might require some design knowledge.

If you really want to impress your clients, show them that you are more than a one-trick pony!

WordPress Intermediate Tips – On Your Way to Becoming a WP Master!

OK, so now that you’ve got the basics down, let’s talk about how you can really impress your clients and expand your WordPress empire. While learning the skills listed above will make you a good WP developer, knowing how to do the following will help you on your way to becoming a WordPress pro!

Here’s what all intermediate level developers should learn:

  1. Translate Content with WPML
  2. Learn Organic SEO
  3. Google Analytics and Search Console
  4. Learn To Use Developer Tools
  5. Master Basic HTML and CSS
  6. Learn How to Use Media Queries for Responsive Issues

11. Translate Content with WPML

This one is somewhat related to learning website architecture and content writing. In terms of translating content, you don’t need to worry about learning a new language! That’s obviously not what I meant, but trust me! It is very useful to have a good mastery of WPML, because tons of contracts list it as a requirement.

There are a few things you need to learn in order to provide a good service for these types of jobs:

  1. How to use the WPML plugin properly
  2. How to translate Strings
  3. How to ask your client’s for properly formatted translated content

How to use the WPML plugin properly

The overwhelming number of settings and options can be a bit intimidating at first, but in its simplest form, WPML just links on page to a different language page with a toggle. I know that’s a very over-simplified explanation, but if you approach it with that in mind, you’ll be OK.

Once you install WPML and set it up, each page in the Pages tab will have a little icon next to it – A plus icon for adding a new translation, a pencil for editing one, a gear signifying a translation in process, and a circular arrow meaning that a translation needs to be updated:

Read the guide on how to translate content with WPML, and learn how to use the Advanced Translation Editor properly, and you will be well on your way to providing an excellent service.

How to Translate Strings

Now maybe you’ve translated content, only to realize that you still have untranslated sentences or words, such as your website’s tagline, footer widgets, or other template content? Well, WPML String Translation allows you to translate these bits of text known as “strings”. In tech-talk, a string is technically a sequence of characters that forms variables, words or sentences. This term covers pretty much everything outside of your WordPress website’s page and post copy.

I won’t go into to much detail about this one, since the WPML String Translation guide covers everything you need to know, but just keep in mind that this is a big part of providing a complete translation service.

How to ask your client’s for properly formatted translated content

This last bit is a pro tip from me (speaking from personal experience). If you don’t speak the language you’re about to translate, it’s very difficult to properly line up the content in the Advanced Translation Editor.

Make sure that when you get the translated content from your client, it’s properly lined up in a document that’s easy to cut and paste. You can explore your own system and do whatever works best for you and your clients.

12. Learn Organic SEO

When I first started as a freelancer, I had worked for an SEO and marketing company for 5 years, so I wasn’t jumping in blindly. I had learned about the importance of page titles, headings and hierarchy, content creation, keywords and phrases, and finding the right niche.

I worked building WordPress websites for other people, while I built-up my own clientele on the side. A few years later, I had enough clients and SEO knowledge to never do sales again. Every inquiry was, and still is, 100% free thanks to organic search engine optimization (SEO).

What is Organic SEO?

In general, SEO simply means optimizing your website to make it easier to be discovered in search engines (but mainly Google – let’s be honest). Of course, every business is different, so the end result will vary, but in order to make sure your client’s website has a chance of being found, you should follow some simple SEO rules.

Every Great WordPress freelancer should know these basic things:

  • SEO Page Titles – your SEO page titles are super important. This is the title that is found on the top of the browser in your website’s tab. It will also be the same title that shows up in search results on search engines. It looks like this:

SEO titles are super important because it has to reflect exactly what users will search for in search engines such as Google. For example, if you are making a website for a cedar fence builder in a small town called Hillsview, and this fence builder works exclusively in this town, then your front page’s SEO title should reflect that and look something like: Cedar Fence Builder in Hillsview.

It makes sense that someone who is looking for this service would search for those exact keywords in that order.

In WordPress, you can easily tweak your SEO Titles with an SEO plugin like Yoast SEO, or AIOSEO (more on that below).

  • Headings (h1, h2, h3, h4) – not only are SEO titles a key to success for any website, but the headings or content titles are just as important. Search engine crawlers scan countless websites and try to make sense of the content but crawling through it looking for identifiers. Proper hierarchical headings are a great way to give these bots hints into what you do.

    H1s should be reserved for the main title of the page, and there should only be one. It should explain what you do, with your focused keywords, in a clear and concise manner. Often, it can be a duplicate of what you put as your SEO title. In the fencing example above, the H1 could once again be Cedar Fencer Builder in Hillsview, or something similar like: We Build Quality Cedar Fences in Hillsview.

    The H2, however, is a bit trickier. Think of it as a subtitle to divide all your important ideas. This can be broad categories of services offered, questions that users might type in relation to your content, or just section identifiers, such as About Us, What We Do, etc.

    And the further down the list you go, such as H3s and H4s, are used to further divide each idea into sub-sections.
  • Content Creation – While we are not copy-writers, it is important to know the difference between bad and good content in order to be in a better position to advise your clients what to write. Google typically prefers pages that have 400-700 words of unique content (but many people debate this), and long form content almost always wins over short form content.
  • Keywords – you don’t really need to master keyword research to be a good WordPress freelancer, but you need to know what to ask your clients. Always ask them to provide a list of keywords and phrases that relate to the website you’re building, so you can build the pages with that in mind.
  • Optimization and Responsiveness – while this is not directly SEO related, it has a huge impact on how your website will rank. Learning how to optimize images to cut down on loading time, and do responsive tweaks using custom media queries will really let your client’s websites shine!

Understanding basic organic SEO just the beginning, as this particular skill can be an entire field/job in its own, but by installing following the advice above, and using simple SEO tools, you can let plugins do the rest of the fine-tuning for you!

Learn How to Use an SEO Plugin

SEO plugins like Yoast SEO, AIOSEO or RankMath will set up all the techincal SEO stuff that typically needs to be done manually. It will create sitemaps for Google Search Console, and it will create Schema Markup for local businesses, but there’s more!

SEO plugins also allow you to customize your SEO page titles and description right from your WordPress dashboard without knowing any code, and they also help guide you with the latest best SEO practices, such as outbound links, inbound links, content length, keyword density, etc.

13. Google Analytics and Search Console

Although this section could easily fit into the first, basic tips section, Google Analytic and Search Console are not essential for a functional small business website, so I decided to include it further in the list.

Don’t get me wrong, they are both essential to a long-term marketing strategy, but starting out as a WordPress freelancer doesn’t necessarily require marketing knowledge.

However, when you get to the ‘intermediate’ or ‘expert’ level, you definitely need to know this.

Google Analytics

Analytics is Google’s proprietary tracking software that provides tons on insights on how people use your site. You can see how many people visit your site, and on which pages. You can also see things like how long they stay, where they are from, which device they used, and more:

This might not seem like a big deal to developers, but for marketers, it’s gold!

Luckily for you, we have an extensive guide on how to add Google Analytics in WordPress!

Google Search Console

On the other hand, Search Console allows you to track your WordPress website’s search results. It’s like Google Analytics’ little sister.

With Search Console you can see how many people view and take action on your links in the search results, and you can get information about which keywords you rank for, how high you are on that list, and you can see performance and mobile usability issues. These last two are important as well as they allow you to see what errors could be holding your pages back from being ranked!

And of course, both Analytics and Search Console are FREE!

You just need to know how to set them up properly, but we have you covered:

14. Learn To Use Developer Tools

My coworker told me about the developer tools and how to ‘inspect’ content when I first started building WordPress websites professionally and it blew my mind! As a junior, I could never understand why my code wasn’t working, and I would spend a bunch of time trying different code until something finally looked like I wanted it.

Little did I know, I could simply ‘inspect’ any element on a page and have access to loads of useful information.

What are Developer Tools?

Your browsers offers you tools to debug your code. You can access the toolbar by right clicking any element on the page and clicking on ‘Inspect’, or you can simply hit F12. This will open up the developer tools.

Here you can see useful information about each element. You can view it the HTML source code, you can view the CSS, such as padding, margin, and other properties. You can even tweak the CSS browser-side (so only you can see it). This allows you to test out multiple scenarios with your page’s design elements.

Want to see what your title would look like if you changed the font to something bolder, or in a different color? Inspect the heading by right-clicking it and select ‘Inspect’. You’ll see it selected in blue in the HTML box below (or to your right, depending on how you setup the toolbar’s position), and its CSS properties in the box next to it:

Simply double-click on the CSS property you want to change, and change it:

The developer toolbar will also let you preview your website on different devices! Simply click on the little ‘phone/tablet’ icon in the top-right corner of your toolbar, or hit CTRL + SHIFT + M to open Responsive Design Mode. Here, you can select a wide variety of mobile devices (or laptop or desktop sizes as well) to test out your WordPress website’s responsiveness:

Of course, none of this really matters unless you understand basic HTML and CSS, which brings me to my next point!

15. Master Basic HTML and CSS

“Master” is a strong word, especially since HTML and CSS are in constant evolution and even as a web professional, it’s hard to keep track of these new, seemingly never-ending changes.

Keep in mind, however, that having a great grasp of both HTML and CSS will take you a very long way in your WordPress freelancing journey. For almost every single client website I’ve built, I’ve had to fix small design issues by using the WordPress Customizer’s Additional CSS feature.

By using the browser tools to find responsive issues and patching them with my knowledge of HTML and CSS, I’ve created battle-tested websites that can be viewed on any device, all over the world, in various conditions, without ever having to worry about my designs being broken.

It might not seem like a big deal to beginners, but trust me. When clients pay thousands of dollars for a WordPress website created by a local developer instead of a few hundred dollars to a cheap, offshore developer, they expect great, wonderful things, and the devil is in the details.

Learning HTML and CSS, and how to tweak responsive issues using media queries will make you a cut above the rest. If you don’t know what media queries are, keep reading!

16. Learn How to Use Media Queries for Responsive Issues

This is important to mention because it’s the #1 issue I come across the most – and that’s responsive design issues. Media queries are conditional CSS rules that only apply in certain cases. For example, I often set my headings to be a very large font size because I build and view the default website on a large Ultra-HD screen. However, these large headings don’t always fit on small mobile devices such as phones, and therefore require a media query to change the font size for a specific screen size:

h1 {
	font-size: 72px;
@media (max-width: 480px) {
	h1 {
		font-size: 22px;

In this code example above, the CSS states that my h1 headings be 72px large, UNLESS the screen is smaller than 480px. In that case, make the h1 heading 22px large. See how practical that is?

So, why is this a crucial WordPress skill to have?

Because over half of web traffic comes from mobile devices, and that’s only going to keep growing over time.

In the example above, I stated that I build websites on desktop and work my way down. In reality, a very common way to build websites now is called ‘mobile-first’. This is where the developer conceives the website for small screens, and works his way up, instead!

For this reason, it’s really handy to understand what media queries are, and how they work.

WordPress Expert Tips– Pro-Level Skills Needed to be the Ultimate Master

Here we are at the (almost) bottom of the list. If you’ve gone through the previous two series of tips and checked all those boxes, you are already in an excellent position to confidently start your WordPress freelancing business!

If being a freelancer is not your end goal, don’t worry – you have still learned everything you need to apply for any WordPress development jobs you want. Keep in mind that the following skills are not an absolute MUST, but they are super handy to learn to get you out of a bind (and maybe make a little extra money). While I don’t personally use the expert level skills every single day, some clients require these for my level of expertise and price range.

If you want to get paid the big bucks, here’s what you need to know:

  1. Basic Loop Knowledge
  2. How to Create Custom Themes
  3. Migrating Websites
  4. Mastering Advanced Custom Fields
  5. Custom WordPress Blocks

17. Basic Loop Knowledge

If you learned HTML and CSS already, then ‘reading’ PHP is not too much of a stretch. Don’t get me wrong, it’s a wildly different kind of language – actually it’s a server-side language as opposed to a client-side one, meaning it’s meant to talk to the server, not make things pretty on the front-end.

But by having learned the basics of code, your brain should be able to make sense of the basic PHP structure. In order to be a true WordPress master, you need to understand the WordPress loop, and that’s written in PHP.

The Loop is PHP code used by WordPress to display posts, but it can also be used to display categories, tags, and custom post types as well. It’s inserted in a specific template, and it’s important to learn if you’re going to be building custom themes and templates. Here’s an example of a loop:

if ( have_posts() ) {
	while ( have_posts() ) {
		// Post Content here
	} // end while
} // end if

The first and last lines of the example above simply declare that the code is PHP. It starts with <?php and ends with ?>, so anything inside those tags is PHP code.

Then the loop says, ‘if posts exist’, move to the next line. ‘While’ technically means ‘while looping’. So, ‘loop’ through each post, and display ‘the_post();‘ – meaning the post’s content.

See? Not too crazy, is it? You don’t actually need to know how to write PHP, but it’s best if you understand it when you read it.

For more complicated projects, you might need to get creative and create your own loops, using bits and pieces of other people’s code you find of sites like Stack Overflow.

Here’s a more practical example. For this client, I had to display all of the post excerpts from the Custom Post Type called Buzz Items. Each excerpt was in an alternating row, the first having the image on the left, and the second having the image on the right. Every time the client publishes a new Buzz Item, it was expected to alternate rows consecutively. Now, there is no way to make this happen in WordPress natively, so I had to get creative by making a new template called News.php, and writing my own loop to make this happen:

<?php $args = array(  

		    'post_type' => 'buzz_items',
		    'post_status' => 'publish',
		    /*'posts_per_page' => 2, */
		$i = 0;
	    $loop = new WP_Query( $args ); 
	    while ( $loop->have_posts() ) : $loop->the_post(); $i++; ?>

	      	<div class="row alternating">
	        <div class="col-lg">

	          <?php if (($i % 2)==0 ): ?>
	            <div data-aos="fade-left" data-aos-duration="500" data-aos-easing="ease-in-out" data-aos-mirror="true"class="alternate-box">
				    <div id="post-<?php the_ID(); ?>">
				        <a href="<?php the_permalink();?>"><h3 class="buzz-title"><?php the_title(); ?></h3></a>
				        <p class="buzz-date"><small><?php echo get_the_date( get_option('date_format') ); ?></small></p>
				        <div class="buzz-excerpt">
				            <?php the_excerpt(); ?>
				        <a class="read-more" href="<?php the_permalink();?>">Read More <img src="/rossland/wp-content/uploads/2021/10/Path-228.svg" alt="arrow"></a>
	          <?php else: ?>
	          	<?php if ( has_post_thumbnail($post->ID) ) {   
					 $placeholder = '/rossland/wp-content/themes/astra-child/img/placeholder.jpg'; 
					 echo '<img src="'.$placeholder.'" alt="placeholder image" />';
				} ?>
	          <?php endif; ?>

	        <div class="col-lg">          	
	          	<?php if (($i % 2)==0 ): ?>
	            	<?php if ( has_post_thumbnail($post->ID) ) {   
						 $placeholder = '/rossland/wp-content/themes/astra-child/img/placeholder.jpg'; 
						 echo '<img src="'.$placeholder.'" alt="placeholder image" />';
					} ?>
	          	<?php else: ?>
	          	<div class="alternate-box-odd">
				    <div data-aos="fade-right" data-aos-duration="500" data-aos-easing="ease-in-out" data-aos-mirror="true" id="post-<?php the_ID(); ?>">
				        <a href="<?php the_permalink();?>"><h3 class="buzz-title"><?php the_title(); ?></h3></a>
				        <p class="buzz-date"><small><?php echo get_the_date( get_option('date_format') ); ?></small></p>
				        <div class="buzz-excerpt">
				            <?php the_excerpt(); ?>
				        <a class="read-more" href="<?php the_permalink();?>">Read More <img src="/rossland/wp-content/uploads/2021/10/Path-228.svg" alt="arrow"></a>
	          <?php endif; ?>


	      <?php endwhile; 

	       wp_reset_postdata(); ?>

Don’t worry if this is complete gibberish to you now. It took me 10 years to get here. I’m just showing you this example so you know where you have to go if you want to be the best WordPress expert in the industry!

18. How to Create Custom Themes

Learning the WordPress loop and how to create custom ones is the perfect segway to writing your own custom themes.

But wait! There are thousands (if not millions) of free and premium WordPress themes already. You might be thinking: why would I create one from scratch?

Although this is a possibility if you are trying to get into the theme selling business, I’m talking about using basic skeleton themes and expanding their functionality for specific use cases. In my previous point about learning the WordPress loop, I showed you an example of a custom template for displaying a specific custom post type in a unique way that can’t be done with a regular theme.

For that job, I used the Astra Theme Pro as a starting point, and I created a child theme. I then wrote custom templates using custom loops based on the client’s needs. Among other things, the client needed a custom business directory template, a custom news page, and a few other unique templates, plus custom Gutenberg blocks (more on those below):

Custom theme built using Sublime

In the image above, you can see 1) the custom blocks, 2) the custom templates, and 3) the default templates used by the Astra theme, that I also customized further. I wrote the code using the Sublime editor.

I do plan on writing an article on how to build custom themes in the future, but for now I can only advise you to start small, and read through WordPress’ theme developer documentation if you want to start experimenting with building your own child themes.

19. Migrating Websites

I thought about including this earlier in the list, as it is a very common and useful skill to learn if you’re going to be a WordPress freelancer, but some aspects of this can be so complicated, that I felt it deserved to be in the pro category.

Migrating websites can be easy in some situations. For example, if you’re moving your website to WP Engine, or if you have a WP Engine staging website you want to deploy to the live environment, it’s simply a matter of following a basic set of instructions. It’s as easy as 1-2-3.

Sometimes, however, migrating websites can be quite complicated. Especially if you build the website on a staging server, and are moving it to a new domain and a new host.

You need to be aware of the methods and tools that are at your disposal for migrating WordPress websites with plugins, or doing it manually.

Once you know how to do that, and also fix the problems that might arise from migration, such as your settings randomly disappearing, you can feel comfortable adding this skill to your freelancing resume!

20. Mastering Advanced Custom Fields

Advanced Custom Fields is an amazing plugin. Advanced Custom Fields, typically referred to as ACF, is a WordPress plugin which allows you to add extra input fields to your WordPress editor. These extra fields are called Custom Fields and allow you to build a custom WordPress website that the client can edit, but not break.

A typical scenario for using ACF is a complex, well-designed website that has dynamic content, but not dynamic layouts. For example, a client wants a specific home page layout: a hero image and tagline, an about section, a list of services, and the latest news. Nothing fancy right?

If this web page is built using a page builder like Elementor or WP Bakery, the client can edit the content, but he can also change the layout, add padding, change images, move the about section below the list of services, etc. Now that might sound like the ideal solution for a lot of people, but if the designer decided that this was the ultimate UX solution and doesn’t want the client messing up his perfect website, he can now hard code the layout into the template, but make each element of the content editable using ACF.

This is just one small example of the endless possibilities using ACF, but let me assure you – as a full-time WordPress freelancer, you will be asked to tweak, fix, take apart, or update ACF custom themes, and it is super handy to know how to use.

ACF also allows you to create custom Gutenberg blocks!

21. Custom WordPress Blocks

This last one is in no way an essential skill, but it’s something that I just learned how to do, and I wanted to share how that helped me get bigger and bigger clients.

Gutenberg is based on the React JS framework, and it uses custom markup for creating blocks. The first way to get started with WordPress block development is the official block editor handbook.

An even easier way to create custom blocks is to use Advanced Custom Fields, mentioned in the previous point.

Once you’ve learned how to use the basic features of ACF, you can jump to custom block building using ACF. Here’s an example of what the code for an ACF custom block looks like:

And below is an example of what a published block would look like. In the example image below, the client would be able to edit each block image, title, content, button and colors:

How to Grow My WordPress Business?

How Do I find WordPress Related Jobs?

As you can see, it takes a lot of different skills and there is much to learn in order to be a successful WordPress freelancer.

Hopefully, after reading this list of tips on what you need to know to become one, you got a better idea of the progression of WordPress skills and how they can help grow your business.

Simply having skills however is not the entirety of it. In order to start making money, you will need to find contracts. So how do you find WordPress Web development and design contracts?

Well, there’s paid ads, for which you will have to pay per click, every time someone interacts with your ad. That can be an effective way to get quick results, but you will most likely need several hundred dollars allocated to marketing every month, and that can get quite expensive.

There’s also word-of-mouth. Another good way to grow is to do a great job no matter how small the project, and let your clients know to spread the word that a new WordPress boss is in town!

The best and easiest way to grow your WordPress business is to build up your website’s organic SEO over time, and if you’re able to, target your local city or town with its name in the keywords. There’s not a ton of competition (at least where I’m from) for WordPress related searches, so I was able to reach the top of the first page in Google after a few years of organic SEO work with the keywords: WordPress Web Developer in (my City).

Another good way to get started is to look for contracts on general marketplaces like Upwork – but how much money can you really make on working markets like that?

How Much Money Can I Make Being a WordPress Freelancer?

There’s no simple answer to this question because it varies greatly from country to country, or even from city to city, but according to Upwork and Hubspot, the average freelancer hourly rate is $70/hour in the US, and around $35/hour Worldwide.

That can go up for specialized marketplaces though. My hourly rate is $80/hour Canadian (after 10 years of experience), so I’m right in there middle!


In conclusion, being a WordPress freelancer can be a very lucrative career, but much like anything else in life, it takes time and practice to acquire the skills you need to become the best in your field!

Start small, look for contracts, and let your clients know to spread the word about your services, and you’ll be making the salary you’ve always dreamed of, while having the freedom of being your own boss!