Become a Freelance WordPress Developer: How to Make a Career of It
This article explains what I’ve needed to know to work as a freelance WordPress developer.
People often tell me that they don’t know how to become a WordPress developer—even if they have many of the technical skills to do so. Most often, their hope is to start working as a full-time WordPress freelancer, and they’re stuck not knowing how to actually take the plunge into doing it. Making that transition isn’t all about your technical abilities: there’s a lot else to think about.
In this article, I list and describe the most important things I’ve needed to learn to work as a successful freelance WordPress developer. They break down into three categories:
- Strategic: What you have to know about the industry, and consider about your personal situation, to make your work as a freelance WordPress developer a success.
- Practical: The nuts-and-bolts in terms of equipment and services you’ll need to actually open up shop as a WordPress freelancer.
- Technical: The technology topics you need to understand to become a WordPress developer.
Below, I’ve listed out as much as I could to get you started in each category. These are the questions that you really need answers for—or at least need to have thought deeply about—to know how to become a WordPress freelancer the right way. (Editors note: this article is regularly updated, but was originally published in 2018–as you might notice from the comments. We think it’s still as accurate and up-to-date as ever 😊)
Serious About Learning WordPress Development?
Up and Running is our complete “learn WordPress development” course. Now in its updated and expanded Third Edition, it’s helped hundreds of happy buyers learn WordPress development the fast, smart, and thorough way.
“I think anyone interested in learning WordPress development NEEDS this course.
Before I purchased Up and Running, I had taught myself some WordPress code, but lacked direction. Watching the course’s videos was like a bunch of lights being turned on.
I went from being vaguely familiar with how themes, functions and WordPress itself worked to mastering these. Everything became much clearer.
I very happily recommend this course to anyone willing to listen.”
–Jason Robie, WordPress developer
Take the next step in your WordPress development journey!
One thing is worth clarifying: the “Strategic” section is written with WordPress freelancers in mind. By “WordPress freelancers,” I’m thinking primarily of developers like myself who focus on client work, and who are either self-employed or are part of very small agencies. In my experience, this is the most numerous category of professional WordPress developers.
Of course, freelancing isn’t the only answer for how to become a WordPress developer. You could work for a large agency, you could sell premium plugins, you could work in tech support for a hosting company, and so on. Knowing very little about those jobs, I’d say the “Technical” section of this article will definitely be relevant to you no matter what route in professional WordPress development you choose, and the “Practical” section will be somewhat relevant, but the “Strategic” section may not be.
Becoming A Freelance WordPress Developer: Core Strategic Considerations
Establishing Clear Motivations and Expectations
Your motivations for and expectations about working as a freelance WordPress developer need to be clear and realistic.
Like anything else, working in WordPress has its advantages and disadvantages, ups and downs. Your motivations for and expectations about becoming a WordPress developer need to be crystal-clear and realistic. I’ll start by telling you how the job has been for me.
What I’ve Loved about WordPress freelancing:
- Location- and Schedule-flexibility. My entire business fits into a backpack, with plenty of room for clothes. Because of this, I was able to follow my now-wife to New Orleans when she wanted to move here, and I’m able to visit my parents in Hawaii for long periods four or five times a year, without putting any sort of dent in my business. And since I’m my own boss, I can take as much vacation and travel time as my own income can tolerate.
- The feeling of mastery. I’ve been doing WordPress development professionally since 2012, and I now feel very, very good at my job. When people need help with any technical topic touching WordPress, I can usually either do it much faster than they were expecting, or give them outstanding advice for moving forward. That’s very gratifying—especially when you’re rehabilitating a $100K WooCommerce business that an incompetent previous developer totally messed up, or helping massively update and improve the web presence of an organization you really care about. WordPress development is a real trade, and being good at it is a great feeling.
- It can be fun. Freelance WordPress development is a lot of managing people, a lot of light-to-moderate problem-solving, a lot of Googling, and a lot of getting to use your creativity. Once you’re experienced, the technical side of the work is a lot like spending your day doing Sudokus and building model planes. Not a bad gig.
- General usefulness. Almost everybody has, needs, or wants a website for something or other, and most of the time WordPress is the right choice (see below). So your abilities in WordPress development fit in very nicely with any other project you might get involved in.
Downsides of WordPress freelancing:
- Trading time for money. The initial experience of billing work at a decent hourly rate feels awesome: I can’t believe I just made $500 for an afternoon’s work. It is awesome, but over time you realize the flip side: if you don’t get up the next day and do the same thing, the money stops. In fact, the money stops anytime you close your laptop. It’s a bit like flying a kite in no wind: if you stop running, the kite stops flying. This can get to be a huge drag over time if you happen to be susceptible to any of the following conditions: boredom, burnout, loneliness, overwhelm, illness, life events, hobbies, vacations.
- No safety net. When I get paid at the end of the month, it’s because of work I did for specific people during that month—people I converted into clients. If your lead-generation methods dry up, or if you randomly have a bad month, you very well might not make money. In other words, you have no job security, except what you provide yourself. Once you get into a rhythm—build your professional network, find marketing methods that work for you, start getting regular repeat and referral business—then you can almost always find work, and these worries becomes more abstract. However, unless and until you’re in that rhythm, and especially in your first year or two as a full-time WordPress freelancer, closing enough business to pay your bills can be very scary, stressful, and uncertain.
- You’re on call. I kind of dislike it when the phone rings or I get an email, because a lot of the time it’s a client with a scary (or at least scary-looking) problem that they need me to fix. People are counting on me. There are ways to properly manage client expectations, but they don’t remove the underlying stress of being responsible for helping fix any issues that might arise across dozens of sites. Thank goodness I’m good at my job; from experience, having people counting on you in this manner can be absolutely brutal if you don’t know what you’re doing.
- Working within clients’ budgets. My way of doing business is fairly small and informal—very different from a large agency taking on multi-year, $100K+ projects—and tends to attract small business owners, who are the people I like working with anyway. In that context, and especially when the client is coming out of pocket on a project that is not yet profitable, budgets are limited. That creates a real feeling of pressure and responsibility around every dollar you bill that is quite different from “my salary requirement is $170K and yes, I think Amazon/Facebook/Google can afford that,” or even from working in a larger agency setting with richer clients and more predictable financials. It is draining to do technical work on projects that I believe have underlying strategic problems that I’m not able to help the site owners address: it can feel like helping people spend money foolishly.
- Lots of bad WordPress projects. Most clients don’t find me at the beginning of their web journey; they find me in the middle, and they’ve been disappointed by multiple (often cheaper 😉) half-competent developers along the way. Their sites are glued-together piles of bad technical choices. From what I see, most WordPress sites are a bad experience for their end users—because relatively few WordPress “developers” are actually qualified, and some of the worst parts of the WordPress ecosystem are also the best-marketed—and that can be a bummer to see day after day, even if you’re part of the solution.
That’s just me. The point is: You should understand what you’re getting into, and why. Talk to other people who do what it is you want to do, and make sure it’s a good fit. In the case of WordPress freelancers, you can often find lots of them at your local WordPress meetup. Just offer to buy them coffee or lunch; most of them will be excited to talk.
I’d also strongly recommend reading this article from Carrie Dils on the perks and un-perks of being a freelance WordPress developer.
WordPress Freelancing Might Not Be for You If…
As a final point on this topic, I would not recommend going into freelance WordPress development if you are not strong in either of the following skills:
- General technical problem-solving. To illustrate this: can you make your way through tricky technical projects (like “jailbreak my phone”) by Googling and tinkering? If no, I’d urge caution on diving into WordPress freelancing. Bonus points if you like reading documentation, scrolling troubleshooting forum threads, tinkering around with technical systems, and ultimately “making stuff work,” because you’re going to be doing those things a lot.
- Customer service. Do you like dealing with people? If you don’t want to deal with people, often find yourself in arguments, don’t understand what they want, or hate patiently explaining to people next steps that benefit them, WordPress freelancing might now be a good role for you.
If you’re weak in one of these areas and you have a partner who’s strong, that’s okay too—in fact, “have a business partner whose skills complement yours” would be one of my strongest pieces of advice if you’re able to follow it. But if it’s just you trying to build a WordPress freelancing business on a foundation which lacks one of these two tenets, it’s going to be difficult.
Your Personal Timeline and Time Commitment
How and where does WordPress development fit into your life situation?
What is your life situation currently—in terms of both free time and your financial picture—and where does becoming a freelance WordPress developer fit into it? Do you want to do WordPress development full-time? If so, what’s the timeline for getting there, and how will you support yourself during the transition?
People’s situations are so different that I won’t try to give advice for any one particular case. Rather, here are some pieces of the puzzle that you’ll want to consider no matter what your present circumstances:
- You’re going to have a hard time getting enough billable hours until your marketing methods start to get dialed in, and your client pipeline starts to fill up with leads. If you’re going as a freelance WordPress developer full-time, this probably means at least three months of very meager revenue, maybe up to six—and quite likely a full year or more where you’re not confident month-to-month that you’ll be taking home a middle-class salary.
- A lot of the groundwork you can lay to get clients—go to networking events, get your portfolio site up, leverage your existing network (see below)—has a significant lag time between when you start and when clients come through. You’ll want to become a part of the local tech scene by going to at least a few meetups, with no unrealistic expectation of paid work falling into your lap immediately. Your portfolio site will probably just sit there with no traffic for a while, until your ways of getting traffic to it come online, and these range from a few weeks to set up properly (AdWords) to maybe six months (SEO). In other words, it’s hard to make “get clients” a full-time job unless you’re okay with using outbound sales tactics like cold-calling local businesses.
- You will likely be shaky technically for at least a year. This means you’ll be regularly confronted with problems you don’t know how to solve. Look at “who’ll bail you out” below for more suggestions about this, but the main suggestion is just to alert you to get ready for an awkward period and some scary moments. I’m not sure if you’re better off making it through this period as a full-time or part-time WordPress developer—it may actually be better full-time, because you have no choice but to get through obstacles as you encounter them. In either case, I mention it here because you should budget for a relatively long period of time where you market yourself as a professional WordPress developer, but you feel pretty squishy and uncertain at many parts of the job.
To sum up, becoming a freelance WordPress developer often starts slow. Ideally, you should either have a fair amount of personal savings, or keep at least one foot in your existing commitments, until you’re sure your work in WordPress has enough momentum to sustain you.
Of course, I didn’t do that and it turned out okay: the back-to-the-wall, deep-end-of-the-pool approach I took was great for fast learning, but not very fun at the time.
How to Set Your Rates
Unless you have a strong reason to do otherwise, I’m in favor of hourly rates for WordPress development work. Lots of people don’t like hourly rates—they prefer project rates or value pricing instead—but I personally have found anything other than hourly rates to be too complicated to implement with most freelance clients.
Specifically, project pricing leads to long processes of generating estimates and going back and forth with clients. And value-based pricing ensnares you too much in the client’s broader business. If you’re really going to be deeply involved for years in steering many aspects of the business’s broader strategy, okay; but if you’re mostly there to offer technical solutions for one element of the business (often true for freelance projects), then project pricing becomes like a plumber saying, “I don’t yet fully understand what’s wrong with your home’s plumbing because I haven’t crawled under your house, but anyway let’s agree that you’ll pay me exactly $2,000 when every part of the plumbing is perfect.” Value pricing becomes like that plumber being paid in home equity. The plumber should bill hourly; better that way.
General Rate Guidelines
Here are some general guidelines for WordPress development hourly rates, for a US-based freelance WordPress developer.
- You should never charge less than $50 per hour for freelance WordPress development services. I mean, literally, never: under no circumstances. “But it’s my cousin and I’m just starting out” is an example of a circumstance in which you should charge your cousin at least $50 per hour.
- $50 or $60 is a suitably humble starting rate; but you should be up to at least $75 within a year, and up to at least $100 within two years.
If you’re like most people, there’s a part of you that read the above bullet points but didn’t listen to them. You’re super-psyched to start earning $30 an hour. (Compared with your job in retail, that sounds like a huge raise!) You’ve done the math and $30 times eight hours is $240 a day, which is $1,200 a week, which is $54,000 a year even with seven weeks of yearly vacation! You don’t need to be a millionaire like all other freelancers apparently are—the numbers above look fine to you, at least as a starting point. Why has no one else thought of this?
What you likely won’t understand without experiencing a lot of personal sadness are the realities that make the above math wrong, and make experienced, non-greedy, merely sane professionals bill $100 and up:
- As a freelancer, especially a solo freelancer, at least half of your work hours will be spent on non-billable things: nurturing leads, tweaking your personal site, adding portfolio items, sending over proposals, “getting to know you” meetings with additional stakeholders, writing blog posts, fiddling with Google Analytics, writing invoices, following up on invoices, monthly bookkeeping, filing your taxes, responding to clients who are dragging their feet on sending you their site content, attending networking events, learning new skills, updating software—the list goes on. If you just bought yourself a new USB drive and then got some coffee, that took you 90 minutes that no one’s paying for. If you made yourself a grilled cheese sandwich and washed your plate and frying pan, that was 20 minutes that no one’s paying you for. This is nothing like salaried work.
- You can only do so many hours per day of fully-focused billed work. Your clients are paying you for full, not partial, focus on their technical problems, and after a solid year (or five) as a freelancer you may find that you can’t stare at badly written WooCommerce function library documentation for twelve hours a day like you used to.
- If you compete on price, you are in a race to the bottom with no bottom. WordPress freelancing is a global marketplace with freelancers whose selling point, like yours, is “build the WordPress website you’ve always dreamed of, for super-cheap!” But people in low-cost-of-living countries comparable hourly rate will not be $30, or $20: it will be $2, or $6, or $12. Even your balloon math won’t be able to make those numbers work.
You’ll also eventually learn that higher-paid developers are often worth the extra expense—and far more—to the client. What matters is how good you are at the things you get paid hourly to do. After seven years, I charge between $125 and $200 an hour, and I’m both immensely better and much cheaper than a developer who’s just starting out at $30 an hour. How is this possible?
Those developers will quite literally cost you thousands of dollars in bad solutions: they’ll get stuck on a problem for dozens of (billable) hours, put the entirely wrong solution in place, and then give up or get fired, leaving the client to pick up the pieces. Around 80% of the freelance projects I work on involve me spending hours undoing the work of incompetent prior developers: rickety and self-incompatible towers of 50 plugins, horrible technology stacks (HostGator/Divi/hundreds of ACF settings/Visual Composer why not), actual site-breaking bugs, SEO nightmares, and so on.
Always Be Raising Your Rates
So as you get further up the ladder of confidence and competence, your rates need to climb accordingly. I can’t give you a specific curve for how and when you change your rates, but I will say: just raise your rates. Clients don’t care nearly as much as you think they do, and the extra money you’ll make is very real.
Here are some good resources to get you started understanding the financials of becoming a freelance WordPress developer, and where you should set your own hourly rate:
- Costs for custom WordPress development
- How long WordPress projects take
- “How much a plugin costs” (dealing with open-ended client questions about cost)
- A good guide to pricing strategies that don’t undercut you as a contractor
- A free email course on freelancer pricing
How You’ll Find Clients
For a freelance WordPress developer, “How do I get clients?” is the question that means you eat or don’t.
For a freelance WordPress developer, “How do I get clients?” is the question that means you eat or don’t.
I can also offer, as headlines, the major rules that I think work when you’re just starting out:
- In-person networking events
- Use your existing personal network
- Specialize (see above) and network on that basis
- Look for any referrals you’re able to generate from your first few clients—and even from past jobs, internships, volunteer projects, etc.
Talk, person-to-person, to anyone you can, in or out of your existing network.
To sum up those four elements: talk, person-to-person, to anyone you can, in or out of your existing network. Longer-term strategies, like content marketing and social media marketing, can be great but they’re unlikely to be a source of leads in the short term.
Who’ll Bail You Out When You Get In Too Deep
My secret weapon in WordPress development has always been David: a consistently stronger developer who’s always been 12 to 24 months ahead of me technically. I’ve handled a lot of the business strategy and client relationships, and to this day I know if I get “in too deep” on a technical topic (complex Git commands is a good recent example), David will be there to bail me out.
For those of you who don’t have a gifted software engineer as a business partner, you will 100% need some way of “swimming” rather than “sinking” when you hit a technical topic you don’t understand on a client project.
What do I recommend? Honestly, there’s nothing solid and well-established right now that is a safety net for a working WordPress freelancer. Here are my three best suggestions you can do today:
- Get worked into your local WordPress Meetup scene. Meetups are full of developers who’ll be happy to help you learn things you don’t know—or even things you don’t know you don’t know.
- Join IWP and AWP on Facebook and use them freely.
- I’d recommend you try to make a relationship with an existing established developer in your area: offer to pay his or her full hourly rate for access to tech troubleshooting as needed.
None of these will get you the perfect solution every time. But you’ll probably be able to combine the best features of each to solve most issues you encounter.
How You’ll Specialize
It’s not so easy to be “just a WordPress developer”: that’s pretty narrow. Great, you installed the right plugin, but now it looks super-ugly; can you make it look more sleek and modern and aligned with our brand identity? They tell us we’re supposed to have a blog section, but I have no idea what to write about; do you help with content writing strategies at all? I want SEO for my site—can you “get it” for me? Should we have a newsletter? Do we need an Instagram account, and what should go on it? When does the site start making sales?
All these questions point to skillsets beyond the core technical toolkit of WordPress development. You will be a much more attractive package in the marketplace if you can be genuinely helpful in multiple areas.
Within the technical confines of WordPress development itself, the best niche I know of is e-commerce—specifically WooCommerce. It really is a world unto itself, and there’s a lot of money to be made there since (wonder of wonders) the clients themselves are making money. My only suggestion is to approach beginning to take on WooCommerce clients with humility: WooCommerce takes a couple hundred hours to understand well because of all the edge cases customers will come at you with, and if you just forge ahead without understanding what you’re doing you’ll be damaging real businesses that often drive thousands of dollars in monthly sales through their websites.
Complementary Skills to WordPress Development
The best thing to do, in my opinion, is to develop a skillset outside WordPress development, and sell your services as a package. The major job descriptions other than “WordPress developer” that most clients need include:
- SEO expert
- Web and graphic designer
- Digital marketing: email marketing, social media marketing, and/or content marketing
- Copywriter (requires a deep understanding of both SEO and content marketing)
If you’ve got visual flair, being a designer-developer is amazing. If you’re good at general problem-solving, learning SEO as a profession is probably less complicated than learning WordPress development, and it makes an outstanding combination. If you’re outgoing, so many clients have no idea how to market themselves and are in absolutely desperate need of help with business development. If you can write, great—but you’re also going to want most of the things I listed above.
Identifying the Intangibles that Set You Apart
What elements of the way you do business make working with you the right choice for your potential clients?
Many people have had a lot of really bad experiences with WordPress developers. How do you set yourself apart with respect to that baseline? Are you especially friendly? Especially responsive? Are you a partner in your clients’ strategy (as opposed to someone who just builds what people say they want)? Do you have especially clear and transparent pricing? Unusually quick and reliable turnarounds? An uncommon ability to stay under-budget?
Ideally all these things are a “yes,” but the point is to spend some time understanding exactly why a client should be happy they hired you, as opposed to hiring someone else at the exact same price for the exact same thing. What are the intangibles about the way you do business as a WordPress freelancer that make working with you the right choice for your potential clients? When you’re clear on these intangibles—and when you back them up with the way you interact on the phone, how your portfolio and testimonials look, and so on—then people really start to pay attention.
Finding Complementary Contractors
The truth is that no one person, or even two people, can provide all the skills that an average client needs to make their project really work out in the marketplace. So whatever skills you don’t have in-house, you will benefit from finding a professional connection for. You’ll refer business to these connections, and what’s great is that they’ll refer you business back!
Just to recap, the roles you’ll need to be able to source include:
- SEO professional
- Web and graphic designer
- Digital marketing: social media marketing, content marketing
- Copywriter (this person needs a deep understanding of both SEO and content marketing)
If you don’t know where to start finding these people, go to a local Meetup organized around the skill you’re looking for.
Becoming A Freelance WordPress Developer: Core Practical Considerations
This section is the least important of the three: the concrete stuff you do to get set up as an actual freelance WordPress developer business.
In general, the attitude you should take here is speed and simplicity: do the simplest, cheapest thing you can, because this is all overhead relative to you finding the right clients (strategic) and offering them the right value (strategic and technical) to get your work rolling.
Let’s dive in.
Maybe Registering Your Business
I’d put this off until you’re serious, but once there’s real money coming in being incorporated has both tax and liability advantages. We registered ourselves as an S Corp through Rocket Lawyer (LegalZoom is a similar service) and it was relatively cheap, less than $500. In general, the less attention you’re able to pay to corporate structure, the better in our experience.
Getting Your Portfolio Site Built
As a freelance WordPress developer who’s just starting out, you’ll want your portfolio site to meet three criteria:
- It looks professional
- It positions you as you want to be positioned
- It’s cheap and quick to build
You should not tunnel in on your portfolio site as an extremely important piece of your business. Make it your goal to get something professional-looking that represents your brand properly—not something wildly original, completely built from scratch (to prove you can do it, perhaps?), and so on. If you don’t know where to start, I’d recommend one of the theme shops listed below.
It wouldn’t be crazy to pay a good designer a few hundred dollars for a logo and design advice if you’re not strong in that area. But this whole project, overall, should be cheap and simple. It should also be focused on content: how are you positioning yourself? Are visitors to your site being persuasively delivered the unique argument for why they should choose you?
As the social-proof element of this content, your site will need a portfolio section. If you’re brand-new to development, this is where you get creative: did you volunteer at your local library and make some improvements to its website? Put it on your portfolio. Even two or three portfolio items are enough to start out as a WordPress freelancer with some ability to point to prior experience in interacting with clients.
The most important thing I can tell you here is that gear doesn’t matter.
By “gear,” I mean the equipment and hardware you need for your business. The most important thing I can tell you here is that gear doesn’t matter.
Here’s a full list of the equipment I use to run my WordPress freelancing business:
Almost any laptop made in the past 10 years will suffice. I use a Windows machine. If you prefer, Macs are typically a bit more comment with developers. (Historically, technical people hated Windows, and so they write tutorials assuming you’re on a Mac.) Command-line stuff is particularly bad on Windows. But most of this will only become a real issue well into your career, when you’re spending real time on the command line, and even then Windows has improved dramatically in this area with the WSL.
I just lost my old phone, so I’ve got a $30 Walmart replacement. But you need a phone.
Really good ones, Bose noise-cancelling. Cheap earbuds are fine if you’re on a budget.
A Blue Yeti. I use it maybe twice a month, to record videos or if my sound is bad on a Zoom or Slack call. Definitely an expense you can postpone.
Practical Software Needs
These software tools don’t help you do WordPress development directly, but they’re important for your business.
You need to know how you’re spending your time, both to maximize your billable time and to know how much to bill your clients. Toggl is popular and good for this.
Bookkeeping and Payroll
QuickBooks Online is good software for bookkeeping and invoicing. You can also use it for payroll if you want. We use a local CPA firm, which is really helpful because they do all our withholdings and taxes and we know it’s being done right. Our costs are $60 a month for payroll, and around $700 yearly for taxes.
Zoom is outstanding. Skype used to be good but is now seemingly competing with itself to be worse every week. Slack and Microsoft Teams are both getting more popular, but I still find Zoom much easier for clients.
I love both Dropbox and Google Drive. Dropbox Premium is worth paying for if you’re not completely cash-strapped.
Trello is great. Good for you alone, for projects within your team, and also for client projects.
If you’ve got a business partner, you’ll probably want a free Slack account to collaborate. Though both Microsoft Teams and Discord are increasingly popular alternatives.
Basic image manipulation really does turn out to be important—at least a few times a week in my case. GIMP is a very good free Photoshop knockoff that I’d recommend you get and learn at a basic level.
Becoming A Freelance WordPress Developer: Core Technical Considerations
This is the section you probably thought the whole article would be about: the part where you learn what coding skills you’ll need to have to start marketing yourself as a WordPress freelancer. And this section is extremely important, for sure—otherwise there’s no meat in your freelancer sandwich.
Right off the bat, I’m going to make a cheerful plug: buy Up and Running. It’s our absolute best work in terms of presenting the technical backbone of WordPress development as a coherent and easy-to-learn package. If you’re serious about learning WordPress deeply enough to launch a career as a freelance WordPress developer, you will be 100% grateful that you made the purchase.
The Best Way to Learn WordPress DevelopmentUp and Running is our complete “learn WordPress development” course. Now in its updated and expanded Third Edition, it’s helped hundreds of happy buyers learn WordPress development the fast, smart, and thorough way.
Here’s what they have to say:
“Other courses I’ve tried nearly always lack clear explanations for why WordPress does things a certain way, or how things work together.
Up and Running does all of this, and everything is explained clearly and in easy-to-understand language.”
–Caroline, WordPress freelancer
“Up and Running really brought everything together for me. I already knew of some of the pieces, but the course filled in the gaps and provided a proper understanding of how WordPress really works.
I found it easy to follow, delivering just the right depth of knowledge in the right sequence.”
–Hugues, freelance web developer
With that encouragement offered, here’s a high-level overview of the core technical elements of WordPress you need to understand as a freelance WordPress developer.
What WordPress is Good For, and Why and When to Use It
What makes WordPress useful? Why is it better than Joomla! and Drupal? Why should I use it for my site? My boss said it’s insecure, is that true? GoDaddy has its own page builder, why not use that? Isn’t Wix a lot cheaper once you factor in hosting and stuff?
You need smart answers to these questions, not only for your clients but to understand what you yourself are offering in the marketplace. Knowing what software to use is a technical question: understanding clearly what the software does, what it doesn’t do, and how it stacks up to other solutions.
The following articles are a good introductory guide to why and when to use WordPress. The first is a flowchart that gives a simple and helpful outline of the kinds of projects for which WordPress is the right or wrong solution:
The next is a good high-level article from David that starts to answer the question, “Why WordPress?”
And this introduction to Squarespace (the best among the “hosted builders,” Wix and Weebly being two other big ones) describes the circumstances in which Squarespace is a better choice than WordPress and vice versa:
The software you use to interact technically with WordPress should be very simple.
This is an extension of “gear doesn’t matter,” above: the software you use to interact technically with WordPress should be very simple.
Pippin Williamson once told me that he simplifies what’s on his laptop to the extent that he can throw it in a lake and be up and running on a new one 30 minutes later. Coming from the lead of a multi-million-dollar WordPress plugin company, that really means something—a WordPress freelancer can certainly follow suit.
For a typical client project, I need:
- Sublime Text for text editing
- FileZilla for FTP
- WAMP, XAMPP, or Local by Flywheel for local development (MAMP for Macs)
- A browser, I like Chrome and the Chrome developer tools
For most clients, that’s honestly it. It’s all free and none of it should take more than an hour to learn at a basic level.
Background in Technical Languages
To some extent, you may be able to learn PHP “by osmosis” as you learn WordPress’s core systems.
So if you don’t know PHP, my recommendation would be to learn PHP as you learn to code in WordPress, not separately: WordPress only uses a small subset of PHP, and what it does use is heavily and uniquely flavored. In other words, you’re better off just learning to build swimming pools than you are getting your architecture degree so you can come in and build swimming pools (if that makes sense).
If you try to pick up WordPress development tutorials and find yourself absolutely lost, you may want to get remedially up-to-speed on whichever language is tripping you up. Other developers will kill me for this, but I like W3Schools’s introductions to each language. If you have any sort of technical background, I’d say a week of solid learning of PHP, HTML, and CSS should be more than enough to get you into the meat of the topic, which is learning WordPress development itself.
WordPress Development Fundamentals
This is the actual substance of a WordPress developer’s skills: the technical backbone that we mean when we say “WordPress development.”
We’ve already identified what these fundamentals are: anything we view as fundamental is in Up and Running, and anything that isn’t isn’t. Tab down to “What Will I Learn” on the Up and Running sales page and you’ll see what that includes.
A Quick Familiarity Test
For an informal test of your own level of progress in WordPress development, here’s a stream-of-consciousness cloud of WordPress terms. Everything in this cloud should instantly light up an experienced WordPress developer’s brain with lots of associations, experiences, memories, and ideas.
add_action, add_filter, functions.php, stylesheet, customizer, wp_enqueue_script, wp_enqueue_style, the Loop, get_template_part, add_image_size, get_post_meta, get_the_content, get_the_ID, the_title, new WP_Query, template hierarchy, $args, foreach, is_singular, get_header, get_footer, Plugin Name: , Template: , while, wp_reset_postdata, update_option, get_option, add_shortcode, do_shortcode, get_the_terms
If everything in that list feels like an old friend, you’re definitely a WordPress developer of some sort. The more items from that list are mysteries to you, the more it indicates you’ll need further study and experience on your way to being a fully-powered WordPress developer.
Disclaimer on this exercise: these are some informally chosen key terms that any WordPress developer should know—not a list of all, or even most, of the key concepts in WordPress development. Also, a developer needs to know how any given development concept fits into WordPress’s overall technical system to be able to use it properly. The exercise is just an informal test of familiarity with some of the most common patterns in WordPress development.
Key Third-Party Technical Tools
These are the pieces of external WordPress technology—themes, plugins, hosting, and so on—that directly affect your ability to offer value to clients. You should have a go-to solution for each one.
You should always know what host to recommend your clients. For almost any client you’ll be getting as a WordPress freelancer, you should default to SiteGround (or to Kinsta or Flywheel if the client needs or requests managed hosting, or possibly to Cloudways if you’re smart and fancy). We give a lot of detail on each of those recommendations, and on which hosts to avoid and why, in our full WordPress hosting review:
You should also know when a hosting move is and isn’t worth recommending to a client. In general, a hosting transfer becomes more attractive if:
- There’s only one site on the hosting account
- The site is early in its lifecycle—so you won’t be migrating dozens of email accounts, for example
- The issues with the current host are actually holding the site back from succeeding, not just annoyances
The third bullet point is important: painfully slow hosting, SSL mixups, bad or unaccountable tech support, and so on are all major annoyances, but it’s only sometimes the case that these issues represent strategic impediments for the site. If bad hosting is impeding strategy, go ahead and transfer—if it’s just an annoyance, live with it. Knowing the difference is a judgment call that you’ll get familiar with over time.
Forms are probably the most common method of user interaction on a WordPress site. Contact forms are an obvious example, but forms can handle everything from event registrations to complex user interactions like volunteering to adopt a pet.
My go-to is Gravity Forms. There’s stuff it doesn’t do, but it’s a strong first choice for almost any form need until the project convinces me otherwise. Ninja Forms is good too. Contact Form 7 is great (and free) for contact forms. I would be very suspicious about relying on any form plugin not on this list: as unfair as that is to those projects and their developers, these are the widely recognized good choices, and it’s fairly unlikely that choosing something else is going to magically solve a problem that these won’t.
Every WordPress freelancer should get and learn Beaver Builder now.
There is now one very, very good WordPress page builder plugin, and it has revolutionized the way I work in WordPress. That page builder is Beaver Builder. In my opinion, every WordPress freelancer should get it now, learn how to use it, and make it the go-to solution any time a client has a page that needs a custom layout.
A lot of people love Elementor, too, and in general it’s pretty good while also being more ambitious and feature-rich than Beaver Builder. However, I also find it harder to use and buggier (and reliability is everything in a page builder), and it also has a slightly intense hyper-commercial energy that Beaver Builder lacks, and that makes me nervous.
All other page builders are bad until proven otherwise. I’ve heard the Oxygen builder is good, but never tried it. Divi and WP Bakery (Visual Composer) are bad, and you should never use them in your WordPress client work unless forced to by a previous developer’s choices.
If you want to know in more depth why I prefer Beaver Builder to WordPress’s other paid page builders, I’ve written a very detailed comparison:
What about Gutenberg? And what about hosted builder solutions like Squarespace? I’ve always been passionate about the authoring and editing experience in WordPress, and so I’ve written a lot over the past couple of years on the topic—especially on the complex interactions between specific technologies like Squarespace, Beaver Builder, and Gutenberg. Here are key points:
- Gutenberg is still not a fully functioning page builder in my eyes. I honestly feel that Gutenberg has grown a lot in the last few years, but I still miss some of my favorite page-builder features. Perhaps its down to familiarity, but I still use Beaver Builder.
- Squarespace is still a slightly more elegant authoring experience than Beaver Builder (and is a much simpler technology than WordPress overall, factoring in hosting and so on), and is a good choice for very simple sites. However, Beaver Builder is now almost as easy and good as Squarespace, so the only people I’d recommend Squarespace to now are people who would have a hard time setting up WordPress itself on hosting and choosing a theme.
Go-To Theme or Theme Shop
Good themes are tricky to find: the theme marketplace is horribly bloated and distorted by market forces that prioritize empty display over substance and craftsmanship. Starting your site on a bad theme is also one of the easiest ways to make the project go horribly.
I can recommend the following boutique theme shops, and you should definitely find your own—staying, in general, off ThemeForest in the process:
With page builders getting so much better, you may want to opt largely away from commercial themes altogether. I like Understrap as an all-purpose starter theme, and Storefront as a WooCommerce starter theme. But be warned: Understrap is very “developer-y” (it has like 8,000 files as dependencies and is all hooked into task runners, dependency managers, compiled Sass stylesheets, and so on), and Storefront is extremely (to me, maddeningly) hook-based.
It’ll also be good to learn tools for evaluating a theme before purchase:
You should also know to stay away from two kinds of themes: the thousands of monstrous “everything themes” from ThemeForest—the X Theme is a great example, and most top themes on ThemeForest are too—and (sorry guys) any theme from Elegant Themes, including and especially Divi. Our guide to choosing themes has more detail on spotting poorly built themes.
Backup and Migration Solution
I’m not personally as diligent about manual backups as I “should” be, especially because SiteGround has always managed to save my bacon with its own backups on the rare occasions I really have messed something up. (WP Engine‘s outstanding automatic backup system is worth mentioning as a major rationale for their services, and is now copied by almost all managed WordPress hosts.) But backups are important, and BackupBuddy is a good default choice.
For a backup and migration solution that I absolutely love, check out All-in-One WP Migration. I can vouch for the “migration” half of it, which has been an absolutely incredible timesaver. And since it’s taking full snapshots of your site it’s a complete backup solution just about by definition.
And That’s How to Get Started as a Freelance WordPress Developer
Don’t be overwhelmed: you’ll pick up a lot of these things over time rather than needing to have absolutely everything planned out in advance.
That’s a lot, right? Don’t get overwhelmed: you’ll pick up a lot of these things over time rather than needing to have absolutely everything planned out in advance. So this article is a bit like a guide to “moving to Italy and living a happy life there”: there’s a ton to think about, but not all at once and not necessarily before-the-fact.
What I do hope is that this article shows you the way forward to becoming a freelance WordPress developer, and that it also alerts you to any blind spots you might have. Many of the things covered in this article are topics I ignored until I had no choice but to deal with them, and my own path as a WordPress freelancer has been slower and bumpier as a result.
And again, one more cheerful and sincere plug: If you want to start a career as a freelance WordPress developer, you should buy our “learn WordPress development” guide, Up and Running. You will be very happy you did, because it makes WordPress make sense.
The Best Way to Learn WordPress DevelopmentUp and Running is our complete “learn WordPress development” course. Now in its updated and expanded Third Edition, it’s helped hundreds of happy buyers learn WordPress development the fast, smart, and thorough way.
Here’s what they have to say:
“The clarity of your teaching in the course and the specific path you take me through gives me a solid understanding, step by step, how WordPress works. I’m developing a conceptual grasp as well as learning the specific functional code.
You have a fine product that stands out in the WordPress learning environment.”
If you want to know more about the practicalities of being a freelance WordPress developer, you can watch a free video Q&A we did on the topic:
Anything I missed about how to get started as a freelance WordPress developer? Let me know in the comments below!