Free toolsSchema markup generator

Schema markup generator for service businesses

Describe your firm or one office, and get JSON-LD to paste into the page. It knows the fields an accountancy practice, law firm, recruiter or IT support company needs: business type, services, areas served, offices, accreditations and contact details.

What are you describing?
    Paste this into the page’s HTML
    
            

    Reading your result

    For a whole firm, Google lists no required fields. It asks for as many true ones as you can give, so the panel counts how many of the useful ones you have filled. For one office, Google needs a name and an address, and the panel marks each as present or missing.

    Valid code isn’t the same as a rich result. The markup can pass every check and Google may still show your listing exactly as before. What it does do is state your services, offices and accreditations in a form machines read without guessing.

    Paste the code into the page, publish it, then test the live URL in Google’s Rich Results Test and the Schema Markup Validator.

    Which markup goes on which page

    Most service business sites need two kinds: one block for the firm on the homepage, and one for each office on its own page.

    • Homepage or About pageOrganization
    • Each office or branch pageLocalBusiness
    • Service and location pagesService
    • Guides and news postsArticle
    • AccreditationshasCredentialInside Organization, and only for certificates you hold today
    Which schema type goes on which page of a service business website, whether you are accountants, solicitors, recruiters or freight forwarders. This tool writes the first two.

    Put each office on its own page with its own address, phone number and services, then give that page its own LocalBusiness block. One page listing six offices is harder for a search engine to tie to a town than six pages with one each.

    How the generator builds the code

    Every property it writes is checked against schema.org. The business type you pick sets @type: a more specific type such as AccountingService, LegalService or EmploymentAgency where one fits, and plain Organization or LocalBusiness where none does, as for IT support, cleaning or freight firms. Services become makesOffer, each an Offer of a named Service. Areas become areaServed. Offices become location, each a Place with a PostalAddress, and the first office is also the firm’s address.

    Accreditations such as ISO 9001, Cyber Essentials or CHAS become hasCredential, which schema.org allows on an Organization. Each one is an EducationalOccupationalCredential whose recognizedBy is the body that issued it. Professional and trade bodies such as ICAEW, the REC or BIFA go in memberOf, because membership isn’t a certificate.

    Blank fields are left out. Each < in your text is written as \u003c, so nothing you type can close the script tag early. Country is set to GB on every address.

    Only mark up what the page shows. Google’s guidance is plain: “Don’t mark up content that is not visible to readers of the page.” If an accreditation is in the code, it should be on the page too, and it should still be current.

    Example: a made-up accountancy practice

    The tool opens on Example Accountants LLP, a firm we made up, at example.co.uk. It is set up as an AccountingService, with four services, two offices in Leeds and York, two accreditations and two professional bodies. Its phone numbers come from the range Ofcom keeps for TV and radio drama, so they reach nobody.

    Switch to “One office or branch” and you get a branch of a different made-up firm, Example Recruitment in Bristol, set up as an EmploymentAgency. Clear the postcode and the address check turns Missing: Google needs a full address for a local business.

    • nameThe office or business name
    • addressA full PostalAddress
    • telephoneRecommended, not required
    What Google asks for in local business markup. Source: Google’s local business docs.

    Does schema help you get named by AI?

    Not on its own. Google says of AI Overviews and AI Mode: “There’s also no special schema.org structured data that you need to add.” The same page lists “Making sure your structured data matches the visible text on the page” among its basics.

    So treat schema as a tidy, machine-readable copy of facts that are already on your pages. Getting named when a buyer asks ChatGPT for a payroll bureau in Leeds takes pages that answer that question, on a site crawlers can read. Our guides on what AI visibility is and getting named in ChatGPT cover that, and the robots.txt checker shows whether AI crawlers can reach your pages at all.

    FAQ

    What does schema markup do for a service business?

    It states facts about your firm in schema.org’s shared vocabulary: what kind of business it is, what you offer, where you work, where your offices are and which accreditations you hold. Search engines can then read those facts directly instead of working them out from your page copy.

    Should accreditations like Cyber Essentials or ISO 9001 go in schema?

    Yes, if they are current and shown on the page. This tool writes them as hasCredential, with the issuing body as recognizedBy. Remove one as soon as it lapses, because AI tools repeat what your site says.

    Do I need a separate block for every office?

    Yes, if each office has its own page, which it should. Put the firm’s Organization block on the homepage and a LocalBusiness block on each office page, with that office’s own address and phone number.