XooCode(){

ContactPage

ContactPage is a direct WebPage subtype for the site's primary Contact page. No unique properties; the value is the typed classification plus the mainEntity link to an Organization carrying ContactPoint entries (customer support, sales, press, technical support).

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

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

schema.org/ContactPage
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ContactPage",
  "@id": "https://xoocode.com/contact#page",
  "name": "Contact Xoo Code",
  "url": "https://xoocode.com/contact",
  "mainEntity": {
    "@type": "Organization",
    "name": "Xoo Code",
    "contactPoint": [
      { "@type": "ContactPoint", "contactType": "customer support", "email": "support@xoocode.com", "availableLanguage": ["en"] },
      { "@type": "ContactPoint", "contactType": "sales", "email": "sales@xoocode.com" },
      { "@type": "ContactPoint", "contactType": "press", "email": "press@xoocode.com" }
    ]
  }
}
</script>

Minimal valid version

The smallest markup that still produces a valid ContactPage 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/ContactPage (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ContactPage",
  "name": "Contact Xoo Code",
  "mainEntity": { "@type": "Organization", "name": "Xoo Code" }
}
</script>

Google rich results this unlocks

ContactPage is a structural type. It does not produce a rich result on its own.

Its value comes from combining it with a primary type whose markup earns a rich result (Article, Product, Event, and so on). ContactPage becomes the trunk that the primary type branches off viamainEntityorbreadcrumb. Include it on every page as the backbone of your markup.

Common ContactPage 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

    Missing mainEntity on ContactPage

    Wrong
    ContactPage with no Organization link
    Right
    mainEntity linking to the Organization with contactPoint entries

    Without the link, the contact data is orphaned; consumers cannot attach it to the business.

About the example data

Xoo Code's Contact page with three ContactPoint entries: support, sales, and press.

Comments

Loading comments...

Leave a comment