What location information is required for an on-site job?

The Citead team, updated

In short. An on-site JobPosting uses jobLocation.address as a PostalAddress and must include addressCountry.

Definition: For an on-site job, jobLocation describes the physical place where the employee reports to work. Its address should be a PostalAddress, and Google requires the addressCountry property when jobLocation is used.

Key facts

  • Google's JobPosting documentation defines jobLocation as the business location where the employee reports, such as an office or worksite.
  • The same documentation says to include as many location properties as possible and explicitly requires addressCountry.
  • A PostalAddress can include streetAddress, addressLocality, addressRegion, postalCode, and addressCountry, as shown in Google's example.
  • Schema.org's PostalAddress definition recommends a two-letter ISO 3166-1 alpha-2 country code such as US for addressCountry.
  • For several physical sites, Google says to add multiple jobLocation properties in an array.

What does jobLocation describe?

Google's JobPosting documentation uses jobLocation for the physical location of the business where the employee will report to work. That means the location belongs to the job itself. It is different from the place where the employer published the job posting.

The value is a Place object with an address value. The address in Google's example is a PostalAddress containing a street, locality, region, postal code, and country:

"jobLocation": {
  "@type": "Place",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "555 Clancy St",
    "addressLocality": "Detroit",
    "addressRegion": "MI",
    "postalCode": "48201",
    "addressCountry": "US"
  }
}

Google says to include as many properties as possible. The documentation also states that addressCountry must be included. This is the explicit country requirement for an on-site jobLocation.

Which address fields should the markup contain?

Schema.org describes a JobPosting as “A listing that describes a job opening in a certain organization.” Its JobPosting type expects jobLocation as a Place, so the nested address follows Schema.org's address vocabulary.

The Schema.org PostalAddress definition describes streetAddress as the street address, addressLocality as the locality in which the street address is located, addressRegion as the region containing that locality, and postalCode as the postal code. These fields let the location describe the worksite at the level supported by the available address.

Google's requirement is narrower than a rule that every address component must always be present. The page explicitly requires addressCountry, while its instruction to provide as many properties as possible covers the remaining fields. Google's example supplies all five address properties, including addressCountry.

What value belongs in addressCountry?

Schema.org allows addressCountry to be a Country or Text. Its definition recommends a two-letter ISO 3166-1 alpha-2 code, with US as its example. It also documents a three-letter ISO 3166-1 alpha-3 code such as SGP and a full country name such as Singapore for backward compatibility.

Use the country of the physical worksite. Keep the country value inside the nested PostalAddress, alongside the locality and region. A country code by itself does not replace the jobLocation and address structure that Google documents.

What changes when a job has several or remote locations?

Google's multiple-location guidance says to add multiple jobLocation properties in an array when a job has several physical locations. Each location can carry its own PostalAddress and addressCountry.

For a job that may or must be performed remotely 100% of the time, Google requires jobLocationType. The documentation says jobLocation is not required when applicantLocationRequirements is present. Schema.org describes applicantLocationRequirements as the location or locations from which applicants can apply, usually for telecommuting jobs where the applicant does not need to be in a physical office. That remote-job model describes applicant geography rather than an on-site worksite.

FAQ

Is addressCountry required for an on-site job?

Yes. Google's JobPosting documentation says that addressCountry must be specified when jobLocation is used. Put it inside the PostalAddress nested under jobLocation.address.

Must you provide a street address?

Google's documentation says to include as many properties as possible and shows streetAddress in its example. It identifies addressCountry as the required property; it does not give every other address component the same explicit status.

What if the job has more than one worksite?

Google says to add multiple jobLocation properties in an array. Give each physical location its own address and country value.

Is an applicant's country the same as the job's country?

No. addressCountry belongs to the physical worksite's PostalAddress. applicantLocationRequirements describes where an applicant may be located for a remote job.

Sources

  1. Google Search Central, "Job posting (JobPosting) structured data for Job Search", 8 September 2026
  2. Schema.org, "JobPosting", n.d.
  3. Schema.org, "PostalAddress", n.d.

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark