To hire a WordPress agency well, ask nine questions and listen for specifics rather than reassurance: who writes the code, what public work can be verified, how scope and price are set, what happens after launch, whether staging and version control are used, how WordPress and PHP updates are handled, who owns the code, what happens when the site breaks on a Friday, and who you will actually talk to. A good agency has a concrete answer to each because it has a process behind each. A cheap agency has a friendly answer to each because it is quoting before it has thought.
Why price is the wrong first filter
Two quotes for the same WooCommerce build can differ by a factor of three and both be honest. The cheaper one assumes a theme with the layout already in it, a junior developer, no staging, and a launch that ends the relationship. The expensive one assumes custom code, a senior developer, a review step and a warranty. The cheap quote is not a scam. It is a different product, and the difference is invisible on the invoice. The questions below make it visible.
1. Who actually writes the code?
The answer you want is a name. A senior developer who will scope the project, build it, and be reachable during it, with a second senior developer reviewing the work before it is handed over. Ask to speak to that developer before you sign, not after.
The answer that should worry you is "our team". Or a project manager who takes the brief and assigns it to whoever is free. Or an agency that will not say whether the work is subcontracted. Subcontracting is common and often fine; refusing to say who is behind the keyboard is the problem.
2. Can I see public work I can verify?
Portfolio screenshots prove that a site exists, not who built it or how well. Ask for work you can check independently. Plugins on wordpress.org are the clearest example: the listing shows the install count, the review score, the date it was first published and the date it was last updated, and the support forum shows how the developer behaves when a user reports a bug. Our own WP Responsive Menu has been listed there since March 2014 and runs on more than 30,000 sites; anyone can read twelve years of its support threads.
Worry if every example is a client site with no description of what was built, if the agency's own plugins have not been updated in years, or if references are offered but never materialize.
3. How do you scope and price?
You want a written scope listing what is included, what is excluded, and the assumptions it rests on (which theme, which plugins, classic or block checkout, which PHP version), then a fixed price against that scope, with any change quoted in writing before work starts.
Worry about a price quoted before questions were asked, an hourly estimate with no cap, or the phrase "we'll work it out as we go". Hourly is fine for exploratory work and bug hunting; for a build with a known outcome it moves all the risk to you.
4. What happens after launch?
You want a stated defect warranty period, a handover that includes documentation and every credential, and a maintenance option you can take or leave. A good WordPress development service treats launch as a milestone, not a goodbye.
Worry if the answer is vague, if support is only available as part of hosting the agency controls, or if leaving means losing access to something. Ask directly: if we part ways in a year, what do we walk away with?
5. Do you use staging and version control?
You want a Git repository, ideally in an account you own, a staging environment where every change is tested before it goes live, and a rule that nobody edits files on production. Ask what the deployment step looks like.
Worry if you hear "FTP", "the theme editor in WordPress", or a pause. An agency without version control cannot tell you what changed last Tuesday, and cannot undo it.
6. How do you handle WordPress and PHP updates?
You want code written to WordPress coding standards, using documented hooks rather than modifying plugin or core files, tested on the current PHP version, and a plan for the several core releases WordPress ships each year. Ask what happens when your host forces a PHP upgrade, because hosts do.
Worry if the advice is "don't update", if the agency edits plugin files directly ("we'll just change it in the plugin"), or if their own products list an old tested-up-to version. Code that only works on one version of WordPress has a shelf life measured in months.
7. Who owns the code?
You do, on payment, and the contract says so. Anything under the GPL (most WordPress code) is identified. Anything the agency brought in from a prior project is licensed to you, in writing.
Worry about a proprietary "framework" the agency licenses rather than sells, a builder or plugin that only the agency can renew, or hosting that only the agency can administer. Each of those is a lock, and locks are priced into the low quote.
8. What is your process when something breaks on a Friday?
You want an honest answer with mechanics. Stated office hours, a phone number, an urgent path separate from normal tickets, who picks it up, and what happens outside hours. Our office is open Monday to Friday, 09:00 to 18:00 IST. A UK client's Friday afternoon falls inside that window and a US client's Friday morning falls at the end of it, and we say so rather than promising round-the-clock cover we do not staff.
Worry if the answer is "we're always available" with nothing written down, or a generic ticket queue with no priority level. An agency that has never had a client site go down on a Friday has not been in business long.
9. Who will I talk to?
You want direct access to the developer, or an account manager who can get a technical answer within the day. Ask how many people sit between you and the person writing the code.
Worry about layers. Each handoff loses detail, and a WooCommerce requirement ("the discount applies only to the first subscription renewal") does not survive being relayed twice.
Scoring the answers
Do not add up points. Two of these questions are disqualifiers on their own: no version control, and unclear code ownership. Either one means you will eventually pay someone else to untangle what you bought, which is where most site rescue work comes from. The other seven are about fit, and an agency that answers six of them well and one honestly badly is a better bet than one that answers all nine smoothly.
For WooCommerce specifically, add a tenth. Ask the agency to explain the difference between the classic shortcode checkout and the block checkout, and which one your store uses. The classic checkout is customized with PHP hooks; the block checkout is a React application that needs JavaScript extensions. A developer who does not know which one you have will quote the wrong number. If you want that conversation with someone who has it daily, see hiring a WooCommerce developer.
Common questions
Is a cheaper WordPress agency always a worse choice?
No. For a brochure site with no integrations, a low quote from an agency that uses staging and gives you the code is perfectly sensible. The questions above are there to find out what the low price leaves out, so you can decide whether you needed it.
Should I hire an agency in my own country?
Location matters less than overlap hours and process. An agency in a different time zone with written scopes, a named developer and an urgent path will serve you better than a local one working from a shared inbox. Check the hours and the response commitment rather than the address.
How many agencies should I get quotes from?
Three is enough if you ask each the same nine questions. More than that and you spend your time comparing prices instead of comparing process. Discard any that will not put the scope in writing before quoting.
What if the agency says the questions are too much for a small project?
A small project takes ten minutes to answer them. An agency that pushes back on being asked who writes the code and who owns it is telling you how the project will go.
Next step
If you want our answers to all nine before you decide, describe the project and we will reply with a written scope and the name of the developer who would build it.







