XooCode(){

Country

Country is a direct AdministrativeArea subtype for sovereign states. It has no unique properties, but it is one of the most widely referenced types on the whole web: every address chain ends in a Country, every shipping policy names Country codes, and every jurisdiction-aware Offer, JobPosting, or PostalAddress resolves through one.

The single most important thing to get right is the name / identifier strategy. Google and most graph consumers prefer ISO 3166-1 alpha-2 codes (US, GB, DE), but schema.org itself accepts any Text for addressCountry. To keep machine and human consumers both happy, use the alpha-2 code in addressCountry (and in eligibleRegion on Offers) while giving the human name and sameAs link on any standalone Country node.

Full example of schema.org/Country json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Country
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Country",
  "@id": "https://xoocode.com/reference/country/US",
  "name": "United States",
  "identifier": "US",
  "sameAs": [
    "https://en.wikipedia.org/wiki/United_States",
    "https://www.wikidata.org/wiki/Q30"
  ],
  "containsPlace": [
    { "@type": "State", "@id": "https://xoocode.com/reference/state/US-PA", "name": "Pennsylvania" }
  ]
}
</script>

Where Country appears in a graph

  • Inside PostalAddress: addressCountry as either alpha-2 text or a nested Country node.
  • On Offer / Demand: eligibleRegion / ineligibleRegion for shipping policies.
  • On JobPosting: applicantLocationRequirements for remote-work country lists.
  • Under Place.containedInPlace: to anchor a city or region inside a country.

Country vs addressCountry

You do not need a standalone Country node every time. Inside a PostalAddress, the simple "addressCountry": "US" string is preferred; the full Country node is for when the country itself is the subject (knowledge panel, shipping zone, jurisdictional clause).

Minimal valid version

The smallest markup that still produces a valid Country entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/Country (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Country",
  "name": "United States",
  "identifier": "US"
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • No dedicated rich result (used for knowledge graph and jurisdictional context)
    Google docs

Common Country mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Spelling the country out in addressCountry

    Wrong
    "addressCountry": "United States of America"
    Right
    "addressCountry": "US"

    Alpha-2 codes are unambiguous and match Google's preferred format. Long-form names still validate but force consumers to normalise them.

  2. 02

    Wrapping Country when alpha-2 text will do

    Wrong
    addressCountry: { @type: Country, name: United States } on every address
    Right
    Plain ISO 3166-1 alpha-2 text inside PostalAddress, standalone Country node only when Country itself is the subject

    Nesting a Country node inside every address bloats payloads with no consumer benefit.

  3. 03

    Using Country for a state or province

    Wrong
    Country on California or England
    Right
    State for US/AU/IN/DE first-order divisions; the sub-national regions of the UK are AdministrativeArea

    Country is reserved for sovereign states; sub-national entities go on State or AdministrativeArea.

Also mentioned in 22 other examples

Country also appears in ActionAccessSpecification, AdministrativeArea, Audience, Canal, CollegeOrUniversity, ContactPointOption, DeliveryChargeSpecification, Demand, and 14 more. See the full Country schema page for every reference.

About the example data

The United States as a standalone Country node, referenced by Xoo Code's headquarters address and by its shipping-zone Offer.

Comments

Loading comments...

Leave a comment