
Key takeaways
- βPick the channel by your deadline: about 9 days to a first merged commit through a vetted network, 18 through a US agency, 55 through an in-house job post.
- βUS PHP rates run $30 to $110 an hour on vetted marketplaces, $100 to $185 at agencies, and $85,000 to $150,000 in base salary.
- βA $120,000 PHP salary loads to about $90 an hour of productive time, the same as a senior contractor.
- βWordPress work and framework work are different markets at different prices; naming the job shape first removes most mismatches.
- βThirty minutes on a real code sample predicts the first month better than any profile rating or trivia interview.
One number decides the best place to hire PHP developers: how many days you can wait until working code lands in your repository. For a screened mid-level developer merging commits inside two weeks, a vetted talent network does it in about 9 days at $52 to $80 an hour. A US agency, if you want a whole project delivered and managed, starts in about 18 days at $100 to $185 an hour. When PHP is the core of a product you will run for years, a full-time hire at $85,000 to $150,000 base is roughly 55 days away and, with the salary loaded, costs about $90 an hour of real work.
PHP makes that choice harder than it needs to be, since "PHP developer" covers four separate jobs at four separate prices. A single job post draws in a WordPress plugin specialist, a Laravel product engineer, a Symfony architect and someone who has kept a custom 2012 codebase alive for a decade. Each of the four is a PHP developer. Only one fits your work, and the channel you source from decides how likely you are to meet that person at all.
Name the PHP job before you pick the place
Channels specialize quietly: each place you can hire from is dense in one kind of PHP work and thin in the others. Naming your shape first removes most of the mismatch risk before you spend a dollar.
WordPress and WooCommerce work. Themes, plugins, checkout behavior, a page builder someone regrets. It is the largest and cheapest slice of the PHP market, and open freelance boards are packed with people who do it well. The expensive mismatches also start here: ask a plugin developer to build a multi-tenant SaaS application and it fails slowly, politely, and six weeks in.
Framework product work. Laravel or Symfony, plus queues, scheduled jobs, an admin panel, billing and a JSON API. Here vetted networks and community referrals are at their strongest, since the ecosystem puts good engineers on display through published packages, conference talks and public code.
Legacy rescue. A business system that works, written in procedural PHP or an abandoned framework, and that has to become maintainable with no big-bang rewrite. It is a genuine specialty that pays at the top of the senior band, and those who are good at it are almost never bidding on open boards.
Performance and database work. Slow pages, a rising database bill, a scheduled task that times out. Nine times in ten the cause is query behavior, not the language, and fixing it takes somebody who reads execution plans rather than somebody who proposes a rewrite in another stack.
Put your shape down in a single paragraph that states the current PHP version, the deploy target and what "done" means. When the work is general PHP maintenance, say so, and you will pay less for a better match. For framework work, the Laravel hiring page is a shorter route than a generic ad, and our Laravel hiring playbook covers the framework-specific screen.

The six places you can hire PHP developers, side by side
Nearly every PHP hire in the US runs through one of six channels. Their differences on quality are smaller than buyers expect, and much larger on who does the screening and how quickly the work starts.
| Channel | Typical US cost | Who screens | Days to first commit | Best for | Where it fails |
|---|---|---|---|---|---|
| Open freelance board | $25 to $55 per hour | You, entirely | About 5 | Small, fully specified tickets | Screening is yours and the failure mode is silent |
| Vetted talent network | $30 to $110 per hour, no placement fee | The network screens, you confirm | About 9 | Deadlines, budget control, trying before committing | You still own the technical decision |
| Community referral | $60 to $110 per hour | Reputation does | About 14 | Specialists and long-running products | Slow or empty if your network is not already in PHP |
| US agency or PHP shop | $100 to $185 per hour | The agency | About 18 | Whole projects with a manager attached | Bench swaps, and junior hours billed at a blended rate |
| Offshore dedicated team | $25 to $60 per hour | The vendor | About 25 | Steady long-term volume at a predictable monthly cost | Thin overlap hours, turnover, context lost on rotation |
| In-house job post | $85,000 to $150,000 base | You, plus a recruiter if you use one | About 55 | Core product you will maintain for years | Two months before any code, and a recruiter fee on top |
Those day counts are planning numbers measured from a signed brief to a first merged commit, not to a signed contract. Nearly all of the gap is sourcing. Interviewing takes everybody roughly the same week, whereas building the shortlist takes 2 days on a network and 6 weeks through a job post. With a deadline inside a month, that line alone decides the channel.
One honest note on the cheapest column: an open board is not worse talent, it is unscreened talent, and the spread is wide. Fine for a 20-hour ticket with a clear acceptance test. For anything touching payments, authentication or a schema you cannot roll back, you pay for the screening with your own weekends.

What PHP developers actually cost, and the number buyers forget
On a vetted US marketplace, PHP developers bill $30 to $52 an hour at junior level, $52 to $80 at mid level and $80 to $110 at senior level. Agencies charge $100 to $185 an hour for a blended team. Full-time base salaries land between $85,000 and $150,000 depending on city and seniority. The full breakdown by seniority sits on our PHP developer rate page.
There is one reason PHP prices below most other back-end stacks: the global pool is huge and the entry bar is low, so the junior end gets compressed hard while the senior end is barely touched. Modern PHP fluency (recent language versions, strict types and a test suite that runs) is a separate market from the one pulling the average down.
Taken at the middle of each band, one mid-level PHP developer costs roughly $38 an hour on an open board, $45 through an offshore team, $66 on a vetted network, $75 through a community referral, $90 as a loaded US salary and $140 through an agency. Planning figures, not quotes, but close enough to build a budget on.

The number most buyers forget is what a salary costs per hour of work. Take a $120,000 base, add roughly 32 percent for payroll taxes, benefits and equipment, then divide by the hours a salaried engineer actually spends on your code once paid time off, holidays and ramp-up come out. You get about $90 an hour.
That changes the comparison. A full-time hire at $120,000 and a senior contractor at $90 an hour cost the same per productive hour. The difference is commitment and context: the contractor stops costing you money the week the work stops, while the employee accumulates knowledge of your codebase you cannot buy back later at any rate. Choose on that axis, not on the sticker.

The code sample tells you what the profile cannot
Platform ratings measure delivery and politeness. They do not measure whether the code will still be affordable to change in a year, which is the thing you are actually buying. Ask every shortlisted candidate for 150 to 300 lines of real PHP they wrote and shipped, with permission to share it, then spend 30 minutes on five signals. This works on any channel, which is why it matters more than the channel.
Signal 1: does the query ask for the columns it needs? Weak PHP commonly loads full objects plus all their relations when the code downstream uses two fields. That passes review and passes tests, then becomes the slowest endpoint in the product once the table reaches a million rows. A strong candidate names the columns and joins the tables rather than letting the framework fetch everything and filter in memory.

This is the same query after review: two named columns, an explicit join, a filter the database resolves by itself. Nothing about it is clever, which is the point. What you check for is care, not brilliance.

Signal 2: is a value that changes once a day queried once a day? Caching discipline divides engineers who have run something in production from those who have only built features. A holiday calendar, a settings row, a country list: none of these should hit the database on every request. Look for a cache key that includes the date, and for a real answer when you ask how the cache is invalidated.

Signal 3: is work done only when it is needed? Watch for identifiers, timestamps or objects that get generated at the top of a loop yet are used in just one branch. In isolation, that costs almost nothing. As a habit, though, it marks someone who writes code by shape instead of by what the machine will do.
Signal 4: does the log line come after the write? A surprising share of production PHP announces success ahead of the insert that could fail. If a sample does this, ask about it. From the answer you learn whether the candidate thinks about failure paths, and that predicts how your on-call weeks will go.
Signal 5: does the candidate argue about cost rather than elegance? Hand them a scenario where a scheduled task runs every minute and makes two database queries, then ask whether that is a performance problem. You want to hear no, followed by a question about what else is running, since two queries a minute is nothing beside an endpoint doing twenty queries a second. Engineers who optimize whatever sits in front of them burn budget on the wrong code. The ones who ask where the time actually goes save you quarters.
Buy one bounded week before you buy a quarter
The same contract protects you on every channel: pay for one bounded piece of real work before you commit to a quarter. On a vetted network this is a standard trial. With an agency, ask for a paid discovery ticket rather than an unpaid proposal. For a full-time candidate, a paid weekend project beats a fifth interview.
Build the trial so luck cannot pass it. Choose a real backlog ticket that touches the database, has a visible acceptance test and fits inside 15 to 20 hours. Provide read access, a written brief and a single 45-minute kickoff call. After that, stop helping and watch.
Four things matter more than the finished ticket. Did they ask clarifying questions before writing code, or guess? Is the pull request small and readable, or one 900-line commit? Did they touch files unrelated to the ticket? When you left a review comment, did the reply explain the tradeoff or just apply the change? A developer who argues well in a pull request is one you can keep for two years.
Budget roughly $1,000 to $2,000 for a trial at mid-level rates. Against a bad quarter at $66 an hour, which runs past $30,000, it is the cheapest insurance in the process.
Six mistakes that put PHP buyers in the wrong place
Treating WordPress experience as framework experience. The skills sit next to each other in the same language, yet they are distinct markets at different rates. Hiring across that line, in either direction, is the most common and most expensive PHP mismatch.
Screening on language version instead of database behavior. Familiarity with the newest PHP syntax is a weak signal. Understanding why a page slowed down after the table grew is a strong one, since almost all PHP performance problems live there.
Buying a team when you need one senior. What agencies sell is capacity, which arrives with a project manager, a weekly status call and a blended rate that folds in junior hours. On a bounded feature in an existing codebase, a single senior contractor usually ships faster and for less.
Choosing on rate alone at the bottom of the market. The $25 an hour developer is not a scam, but the variance is enormous and a profile cannot measure it. If you go there, go with a tiny, fully specified ticket first.
Hiring before you have somewhere to deploy. Nothing burns a new developer's first week like no staging environment and no deployment story. Set that up before they start, or pay senior rates for infrastructure archaeology. Our walkthrough on setting up a staging environment pays for itself immediately.
Leaving no handover. On whichever channel you use, put it in the contract that documentation and a recorded walkthrough are part of "done". A PHP hire's real cost is never the hourly rate but what the next person pays to understand what was built.
What to do this week
Put the decision in this order and it takes an afternoon. Name which of the four PHP jobs you are buying. Pick the channel from the date you need code, not from the rate: inside a month means a vetted network, a managed project means an agency, a decade-long product means a full-time hire. Ask your top three candidates for a real code sample and run the five signals. Then pay for one bounded week before you sign anything longer.
If your deadline is inside the next few weeks, start with a screened shortlist rather than a job post: tell us the shape of the work and the PHP version you are on, and you can be reading a code sample in days rather than weeks.
Frequently asked questions
What is the best place to hire PHP developers?
Most US buyers with a defined scope and a deadline inside a month get the best balance from a vetted talent network: candidates are screened before you see them, the first commit lands in about 9 days, and rates run $30 to $110 an hour with no placement fee. On small, fully specified tickets, open freelance boards win. An agency comes out ahead when you want the whole project managed, and a full-time hire wins when PHP is core to a product you will run for years.
How much does it cost to hire a PHP developer in the US?
Between $30 and $110 an hour on a vetted marketplace, depending on seniority, $100 to $185 an hour through an agency, or $85,000 to $150,000 in base salary for a full-time hire. A salary needs roughly 32 percent on top for payroll taxes, benefits and equipment, so a $120,000 hire comes to about $90 an hour of productive time.
Should I hire a freelance PHP developer or a development agency?
Hire a freelancer when the scope is bounded, you own the technical decisions and you want to control the rate. Hire an agency when you need a whole project delivered with a manager attached, several roles at once, or continuity cover while people take holiday. The agency premium of roughly $60 to $90 an hour buys coordination, not better code.
How do I tell whether a PHP developer is really senior?
Read 150 to 300 lines of their actual code. A senior names the columns being queried rather than loading whole objects, caches values that change once a day, generates work only when a branch needs it, logs after the write instead of before, and argues about where the time actually goes instead of optimizing whatever sits in front of them. A trivia quiz on language syntax tells you close to nothing.
Hire vetted talent