Schema markup generator for recruitment agencies

Recruitment agencies should use the EmploymentAgency type, a specific LocalBusiness subtype. Fill in the form and I’ll build valid JSON-LD you can paste into your site’s head.

Your details

One or two factual sentences. The same words as your homepage intro work well.
International format: +1-403-…
A real photo of you, your team or your space.
Comma-separated, e.g. Mo-Fr 09:00-17:00, Sa 10:00-14:00
Optional. A symbol range like $ or a short text range.
Comma-separated cities or regions.
Roles and services you specialise in. (knowsAbout)
Sectors you recruit for. (keywords)
Languages your team works in. (knowsLanguage)
One URL per line: Google Business Profile, LinkedIn, Instagram, directories.

EmploymentAgency JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "EmploymentAgency",
  "@id": "https://stampedetalent.example/#business",
  "name": "Stampede Talent Partners",
  "description": "A recruitment agency in Calgary placing permanent and contract talent in energy, construction and finance.",
  "url": "https://stampedetalent.example/",
  "telephone": "+1-403-555-0142",
  "email": "hello@stampedetalent.example",
  "image": "https://stampedetalent.example/images/photo.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "100 Example Street SW",
    "addressLocality": "Calgary",
    "addressRegion": "AB",
    "postalCode": "T2P 1J9",
    "addressCountry": "CA"
  },
  "openingHours": [
    "Mo-Fr 09:00-17:00"
  ],
  "priceRange": "$",
  "areaServed": [
    "Calgary",
    "Airdrie",
    "Cochrane",
    "Okotoks"
  ],
  "knowsAbout": [
    "Permanent placement",
    "Contract staffing",
    "Executive search",
    "Engineering recruitment",
    "Finance recruitment"
  ],
  "keywords": [
    "energy",
    "construction",
    "finance"
  ],
  "knowsLanguage": [
    "English",
    "French"
  ],
  "sameAs": [
    "https://www.instagram.com/stampedetalentpartners",
    "https://www.linkedin.com/company/stampedetalentpartners"
  ]
}
</script>

Paste this into your page’s head, then test it with Google’s Rich Results Test and validator.schema.org. The example values are made up: replace every one.

Want this added to your agency’s website?

Send me your site and I’ll check your current structured data and send back corrected JSON-LD for it. Free.

No newsletter. Just what you asked for, from me. Privacy

The properties that matter for recruitment agencies

Type: EmploymentAgency. Every property below is a real schema.org property.

Key schema properties for recruitment agencies
PropertyWhy it matters
@typeEmploymentAgency is a real schema.org type. It tells search tools exactly what you do.
knowsAboutExecutive search and contract staffing serve different buyers. Name the services and role types you specialise in.
areaServedList where you place people. A Calgary agency placing across Western Canada should say so.
descriptionName your sectors in the first sentence. Hiring managers and AI tools look for specialists.

Common mistakes

  • Using ProfessionalService when EmploymentAgency exists. The specific type is clearer.

  • Putting JobPosting markup on job listings that are closed. Google expects expired postings to be removed or updated.

  • Marking up candidate or client testimonials as reviews. Self-serving review markup isn’t eligible for review stars in Google.

How to add it to your site

  1. Replace every example value in the form with your own details. They should match your Google Business Profile exactly.
  2. Copy the code and paste it into your page’s <head>. Most site builders have a custom code field. On a hand-built site, it goes in the template.
  3. Test the live page with Google’s Rich Results Test and validator.schema.org, and fix anything they flag.
  4. Add the same facts to the visible page. Structured data should describe what visitors can see. My website checklist for recruitment agencies covers the rest.
FAQ

Schema for recruitment agencies: questions

  1. EmploymentAgency. It’s a schema.org LocalBusiness subtype for staffing and recruitment businesses.

  2. Yes, on each individual job page, if you keep it current. JobPosting is separate from the business schema and needs to be removed or updated when a role closes.

  3. Use knowsAbout for the roles you place and keywords for the sectors. Then make sure the visible pages say the same thing.

Keep reading

Let’s begin

Let’s build something you’re proud to share.

Let’s Talk