How to Hire a WordPress Developer: Freelancer, Agency or In-House, and the Brief to Send
Written by Usama Afzal, founder and director · Published
Hire a freelancer for a small, bounded job. Hire an agency or small team when the site earns money and needs cover for holidays, handovers and updates. Hire in-house only when WordPress work never stops. Whichever you choose, write a one-page brief first, because it lets you compare quotes like for like. Our own approach is on the WordPress development page, but this guide works with any supplier.
Which supplier fits which situation
The table below is the position we would take. The last column says when it is wrong, because every rule of thumb has exceptions.
| Your situation | Usually the best fit | Why | When that advice is wrong |
|---|---|---|---|
| One bounded job: a plugin conflict, a form, a page template | Freelancer | Little coordination, a quick start, and you pay for the task only | The site is business-critical and this person is the only one who understands it |
| New business site with a page list and a launch date | Small agency, or an established freelancer with a named backup | Design, build, content loading and testing are different skills | You already have a designer and a writer and only need the build |
| WooCommerce shop with payments, shipping rules and integrations | Agency or a specialist with shop references you can phone | Checkout and order flows need careful testing, not just building | The catalogue is tiny and a hosted shop platform would suit you better |
| Updates, fixes and small changes every month | A maintenance arrangement with a team | Continuity matters more than speed on any one task | The site rarely changes, so pay per task instead |
| New features every week, several people depend on the site | In-house developer or a retained team | Knowledge of your business builds up over time | The workload is uneven and you would pay for idle weeks |
What you really get from each option
A freelancer
You get one person's judgement and direct access. The risk is concentration: one illness, one holiday or one change of career and the knowledge leaves. A good freelancer will tell you who covers them and will document what they build.
An agency or small team
You get several skills and a second pair of eyes, at the price of more process and a project manager between you and the code. A small agency can be a good middle path, but a large one may hand your job to its most junior people. Ask who will actually write the code.
An in-house hire
You get someone who learns your business and sits in your meetings. You also take on recruitment, management, tooling and the risk that one person's skills do not cover design, security and performance. This is the right answer only when there is steady work to justify it.
One plain fact about us: Website Prism Ltd is registered in England and Wales, and the work is delivered remotely by a team in Pakistan. That suits many projects and does not suit those that need someone in your building. The founder, Usama Afzal, has delivered 800+ projects over 8+ years, mostly through Fiverr.
A one-page brief you can copy
Most disappointing WordPress projects begin with a vague request. Fill in each row below in a sentence or two and send the same page to every supplier you approach.
| Field | What to write | Why suppliers need it |
|---|---|---|
| Goal | One sentence: what the site must do for the business | Everything else is judged against it |
| Audience and main action | Who visits, and the one thing you want them to do | Decides page structure and what is left out |
| Pages and templates | A list of pages and any repeating types, such as services, case studies or products | Templates, not pages, drive build effort |
| Content | Who writes it, who loads it, and when it will be ready | Late content is the most common cause of delay |
| Design | Brand files, existing mock-ups, examples you like and dislike | Shows whether design is part of the job |
| Functions and integrations | Forms, booking, payments, email lists, CRM, anything that talks to another system | Integrations carry the most uncertainty |
| Existing site | Address, what stays, what goes, any pages that bring visitors today | Decides redirects and migration work |
| Hosting and domain | Who holds the accounts and what you already pay for | Avoids surprises about who owns what |
| Editors | Who will update the site after launch and how comfortable they are | Changes how the admin screens are set up |
| Budget band | The range you can commit to, chosen by you | Lets a supplier propose what fits instead of guessing |
| Dates | Fixed events that the site must be ready for | Separates a real deadline from a wish |
| Done means | Three to five things you will check before you accept the work | Turns an opinion into an acceptance test |
| After launch | Who looks after updates, backups and fixes | Many quotes quietly leave this out |
What a written quote should itemise
We do not publish prices, and neither should you trust a quote that is one number with no lines under it. Ask for a written quote that separates:
- Discovery or scoping, if it is a separate stage.
- Design, including how many rounds of revisions are included.
- Template and theme build, and whether it is a child theme or a fully custom theme.
- Custom functionality, listed one feature per line.
- Content entry, and who does it.
- Integrations, each with the third-party account it needs.
- Testing on phones and common browsers, and on checkout if you sell online.
- Launch tasks: redirects, backups, switch-over.
- Training or handover documents.
- The support period after launch, with a clear definition of what counts as a bug and what counts as a new request.
- Costs billed by others, such as hosting, domain and plugin licences, shown as such.
- What is excluded, and how change requests are priced and approved.
Also ask how payments are tied to milestones. A payment schedule linked to things you can check is a better protection than any promise.
Ten answers that should make you pause
Ask these questions of every candidate. A good answer is specific. The answers below are the worrying ones.
- Who owns the finished site and the code? A vague answer, or "we host it for you" with no handover terms.
- Which accounts will be in my name? Anything other than domain, hosting and admin access.
- Which plugins will you use, and why? A long list with no reasons, or paid plugins licensed to the supplier.
- Do you edit the theme or core files directly? WordPress warns that changes made to core files are lost when it updates, and a child theme exists so the parent can update without erasing your changes.
- Where do you test before going live? "On the live site."
- What happens if you are unavailable? No backup person and no documentation.
- How do updates and backups work after launch? No plan, or a plan you cannot inspect.
- Can I speak to someone who has had a similar site built? A refusal, or only screenshots.
- What do you need from me, and by when? Nothing, which means the schedule is fiction.
- What is not included? "Everything."
Own the keys before work starts
Whoever builds the site, set these up on day one:
- The domain is registered in your name, with your email as contact.
- You hold the hosting account, or you are the owner with the supplier added as a user.
- You have your own administrator login, and nobody shares a password.
- Paid plugins and themes are registered to an address you control.
- There is a staging copy for testing, and the supplier says where it is.
- Backups cover both the database and the files. WordPress documentation describes a backup as those two parts and recommends taking one before every upgrade and keeping copies in more than one place.
- Someone has actually restored a backup at least once, so you know it works.
On updates, the WordPress documentation says to check that plugins and themes are compatible before updating, and notes that there is no single update order that suits every site. That is the work a maintenance arrangement covers, and it is why continuity matters after launch. If a site is slow rather than broken, that is a separate job, covered under WordPress speed optimization.
When our model is the wrong fit
Choose someone else if you need a person on site, a supplier in your own legal jurisdiction, or live support during your local working day with no timezone overlap to arrange. Choose a hosted shop platform instead if your needs are a few products and a checkout. And if you already have a developer you trust and a brief you are happy with, keep them.
Next step
If you would like a written quote, send us your brief through the contact page. We read it, ask what is missing and quote in writing, with the lines itemised as above.
How we work: refund policy · terms of service · about Website Prism
Related Services