A recruitment agency website serves two audiences with materially different needs in the same brand. Candidates want jobs they can apply to today; clients want evidence that the agency has placed similar roles successfully and can do so again. A single homepage trying to talk to both at once typically does neither well, which is why the strongest recruitment-agency websites split the journey early and treat each path as a distinct architecture inside a shared brand.
What is different about recruitment-agency websites
Three things make recruitment-agency web design distinct from generic professional-services web design. First, the audience split is fundamental — candidates and clients have different expectations of what the homepage should deliver, and forcing them through the same journey costs conversion on both sides. Second, the job board is operationally non-trivial — JobPosting schema has to be complete and current, Google for Jobs eligibility is a real ranking layer, ATS sync needs to handle filled and expired roles correctly, and stale listings actively damage candidate trust. Third, the credibility evidence is sector-specific — "expertise in your industry" is what every agency homepage says; placed-roles lists, named clients, average placement timelines and sector-specific fee transparency are what differentiate.
What we ship for a recruitment agency
A bespoke recruitment agency website with the split candidate-and-client architecture, the live job board fed from the ATS, full JobPosting schema on every role, the candidate registration flow with CV upload routing back to the ATS, sector expertise landing pages with placed-roles evidence, named client case studies where consented, the client pitch flow with sector-specific case study download gated by a short form, a journal or content layer for sector insights, the standard contact and team block with named consultants and their specialisms, and the full EmploymentAgency + JobPosting + LocalBusiness schema graph. The build window is the standard same-day Growth-tier SLA.
The candidate path
The candidate journey starts with the job board — every live role visible, filterable by sector, location, salary band and employment type. Each role has its own URL with the full JobPosting schema. The "apply" action is a short form (name, email, CV upload, optional cover note) that routes back to the ATS as a new candidate against the specific role. The "register your interest" action for candidates not seeing a current match is a similarly short flow that creates a candidate record without an associated role. Sector landing pages exist for candidates who arrived on a "[sector] recruitment agency [city]" query rather than a specific role, with the open roles in that sector featured prominently.
The client path
The client journey starts with sector expertise — the agency’s specialisms named, the typical roles placed in each, named clients where consented to be shown, sector-specific case studies, average placement timelines and the broad fee structure (contingency vs retained, the typical fee band). The "discuss a role" action routes to a brief structured form and offers a downloadable sector-specific pitch deck or recent placements list as the second-step value. The CTA framing is "discuss a brief" rather than "get a quote" — the recruitment buying decision is consultative and the site reflects that.
The Google for Jobs eligibility
Google for Jobs is a structured-data-led layer in the Google search results that displays job listings directly in the SERP, gated by JobPosting schema. To be eligible, every job page needs: title, description (with the actual role description, not boilerplate), hiringOrganization, jobLocation (with PostalAddress), baseSalary (with currency and unit where disclosed), employmentType (one of FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, OTHER), datePosted (ISO 8601), validThrough (ISO 8601). Roles missing any required field are not eligible. The recruitment-agency builds we ship handle every required field correctly out of the gate; the typical agency-template build we audit misses two or three.
What we deliberately do not build
No bespoke ATS — Bullhorn, Vincere, JobAdder, Workable, Loxo, Crelate, RecruitCRM and Mercury xRM all cover the recruitment-operations stack better than anything we would build. No candidate-CRM gimmick — the ATS handles it, the website is the public-facing brand and conversion layer. No "AI candidate matching" widget on the marketing site — the AI matching layer belongs inside the ATS workflow, not as a marketing feature on the public site.
Pricing for a recruitment agency website
Most independent recruitment agencies with one to twenty consultants land on Growth (£899) — the split architecture with job board, candidate registration, sector landings, client pitch flow and the standard schema. Larger agencies with multiple offices, separate brand divisions (executive search vs contingency, permanent vs interim, RPO services) move to Pro (£1,499). Launch tier (£499) rarely fits a recruitment agency because the dual-audience architecture and the job-board complexity push the build past what the single-scroll architecture supports.