Last updated: March 22, 2026

Overview

Different industries have different schema requirements. Industry presets provide pre-configured validation profiles that know which schema types and properties matter most for e-commerce, healthcare, real estate, restaurants, and other verticals.

How It Works

1. User selects an industry preset before validation
2. The preset adjusts:
– Which schema types are expected
– Which properties are weighted as “required” vs “recommended”
– Industry-specific best practices
3. Scoring and suggestions are tailored to the selected industry

Tier Availability

| Tier | Available |
|——|———–|
| Free | No |
| Pro | No |
| Agency | Yes |
| Enterprise | Yes |

Schema Completeness Score: Scoring adjusted by preset weights
Custom Schema Types: Define your own types beyond presets (Enterprise)

Quick Start: Validate Using Industry Presets

Step 1: Choose your industry from the dashboard dropdown
Available presets:
– Local Business (restaurants, salons, plumbers)
– E-commerce (products, reviews, ratings)
– Real Estate (properties, listings, agents)
– Recipe (food blogs, meal services)
– Event (conferences, concerts, webinars)
– Course (online education, training)
– Job Posting (career pages, job boards)
– Healthcare (doctors, clinics, medical services)
– Software App (SaaS, applications)

Step 2: Validate your URL — Scoring and recommendations adjust based on preset

Step 3: Focus on preset-specific properties
For example, Local Business preset emphasizes:
– Business name, address, phone (required)
– Hours, geo coordinates, photos (highly weighted)
– Reviews, ratings (recommended)

Example:
A restaurant page with schema validates with:
Generic scoring: 72/100
Local Business preset: 65/100 (hours and openingHoursSpecification weighted as critical)

Technical Details

Available Industry Presets

1. Local Business

{
  "preset_id": "local_business",
  "name": "Local Business",
  "primary_type": "LocalBusiness",
  "subtypes": ["Restaurant", "Salon", "Plumber", "Doctor", "Store"],
  "critical_properties": [
    "name",
    "address",
    "telephone",
    "geo",
    "openingHoursSpecification"
  ],
  "weighted_properties": {
    "aggregateRating": 3,
    "image": 2,
    "description": 2
  }
}

2. E-commerce

{
  "preset_id": "ecommerce",
  "name": "E-commerce",
  "primary_type": "Product",
  "critical_properties": [
    "name",
    "image",
    "description",
    "price",
    "availability"
  ],
  "weighted_properties": {
    "aggregateRating": 4,
    "review": 3,
    "offers": 3
  }
}

3. Real Estate

{
  "preset_id": "real_estate",
  "name": "Real Estate",
  "primary_type": "RealEstateAgent",
  "subtypes": ["RealEstateProperty", "ApartmentComplex"],
  "critical_properties": [
    "name",
    "address",
    "geo",
    "image",
    "price"
  ],
  "weighted_properties": {
    "tours": 3,
    "floorSize": 2,
    "numberOfRooms": 2
  }
}

4. Recipe

{
  "preset_id": "recipe",
  "name": "Recipe",
  "primary_type": "Recipe",
  "critical_properties": [
    "name",
    "image",
    "recipeIngredient",
    "recipeInstructions",
    "author"
  ],
  "weighted_properties": {
    "prepTime": 2,
    "cookTime": 2,
    "aggregateRating": 3,
    "video": 2
  }
}

5. Event

{
  "preset_id": "event",
  "name": "Event",
  "primary_type": "Event",
  "critical_properties": [
    "name",
    "startDate",
    "endDate",
    "location",
    "image"
  ],
  "weighted_properties": {
    "organizer": 2,
    "offers": 3,
    "description": 2
  }
}

6. Course

{
  "preset_id": "course",
  "name": "Course/Education",
  "primary_type": "Course",
  "critical_properties": [
    "name",
    "description",
    "instructor",
    "provider"
  ],
  "weighted_properties": {
    "aggregateRating": 4,
    "duration": 2,
    "learningResourceType": 2
  }
}

7. Job Posting

{
  "preset_id": "job_posting",
  "name": "Job Posting",
  "primary_type": "JobPosting",
  "critical_properties": [
    "title",
    "description",
    "applicantLocationRequirements",
    "hireDate",
    "hiringOrganization"
  ],
  "weighted_properties": {
    "baseSalary": 3,
    "jobLocation": 2,
    "employmentType": 2
  }
}

8. Healthcare

{
  "preset_id": "healthcare",
  "name": "Healthcare",
  "primary_type": "MedicalBusiness",
  "subtypes": ["Physician", "Hospital", "Clinic"],
  "critical_properties": [
    "name",
    "address",
    "telephone",
    "medicalSpecialty"
  ],
  "weighted_properties": {
    "aggregateRating": 3,
    "availableLanguage": 2
  }
}

9. Software App

{
  "preset_id": "software_app",
  "name": "Software Application",
  "primary_type": "SoftwareApplication",
  "critical_properties": [
    "name",
    "description",
    "applicationCategory",
    "offers"
  ],
  "weighted_properties": {
    "aggregateRating": 4,
    "screenshot": 3,
    "featureList": 2
  }
}

Request/Response with Preset

Request:

{
  "data_url": "https://example.com/restaurant",
  "industry_preset": "local_business"
}

Response:

{
  "success": true,
  "data": {
    "url": "https://example.com/restaurant",
    "validation_id": "val_preset_abc",
    "preset_applied": "local_business",
    "preset_name": "Local Business",
    "score": 68,
    "score_breakdown": {
      "LocalBusiness": {
        "score": 68,
        "critical_properties": {
          "name": {"present": true, "weight": 1.0},
          "address": {"present": true, "weight": 1.0},
          "telephone": {"present": true, "weight": 1.0},
          "geo": {"present": false, "weight": 1.0, "note": "Critical in preset"},
          "openingHoursSpecification": {"present": false, "weight": 1.0, "note": "Critical in preset"}
        },
        "weighted_properties": {
          "aggregateRating": {"present": true, "weight": 3},
          "image": {"present": true, "weight": 2},
          "description": {"present": false, "weight": 2}
        },
        "preset_specific_recommendations": [
          "Add openingHoursSpecification for business hours",
          "Add geo coordinates for map integration",
          "Add aggregateRating (from Google reviews)"
        ]
      }
    },
    "preset_impact": {
      "score_without_preset": 72,
      "score_with_preset": 68,
      "difference": -4,
      "note": "Preset adds stricter requirements"
    },
    "errors": [],
    "warnings": [
      {
        "preset": "local_business",
        "property": "openingHoursSpecification",
        "severity": "high",
        "message": "Critical for local business preset"
      }
    ]
  }
}

Comparing Presets

You can validate against multiple presets to see which applies best:

{
  "validate_presets": ["local_business", "organization", "restaurant"],
  "data_url": "https://example.com/pizzeria"
}

Response shows scores for each preset, helping you choose the best one.

References

Schema.org LocalBusiness: https://schema.org/LocalBusiness
Schema.org Product: https://schema.org/Product
Schema.org Recipe: https://schema.org/Recipe
Schema.org Event: https://schema.org/Event
Google Vertical Search Results: https://developers.google.com/search/docs/appearance/structured-data