features

Schema Markup

How AIO Radar generates structured data to help search engines and AI understand your content.

What is Schema Markup?

Schema markup is structured data that helps search engines and AI assistants understand the content and context of your pages. It uses a standardized vocabulary from Schema.org to describe things like businesses, products, events, and more.

Why This Matters

Schema states the facts of your page in a form machines do not have to infer: who you are,

what you sell, when you are open.

Why Schema Matters for AI

Search Engines

Schema markup enables:

  • Rich snippets in search results
  • Knowledge panel entries
  • Featured snippets answers
  • Voice search results
  • AI Assistants

    AI systems use schema to:

  • Understand business context
  • Extract structured information
  • Verify facts and details
  • Recommend relevant results
  • Schema Types Generated

    AIO Radar automatically detects your site type and generates appropriate schema:

    Organization/LocalBusiness

    For all sites - describes your business:

    json
    {
      "@context": "https://schema.org",
      "@type": "TravelAgency",
      "name": "Example Travel Tours",
      "url": "https://example.com",
      "description": "Costa Rica adventure tour specialists",
      "telephone": "+1-555-123-4567",
      "email": "info@example.com"
    }

    WebSite

    Site-level information:

    json
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "name": "Example Travel Tours",
      "url": "https://example.com",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://example.com/search?q={search_term_string}"
      }
    }

    TourTrip / Product

    For tour operators and e-commerce:

    json
    {
      "@context": "https://schema.org",
      "@type": "TourTrip",
      "name": "Costa Rica Volcano Adventure",
      "description": "8-day guided tour of Costa Rica's volcanic landscapes",
      "touristType": "Adventure travelers",
      "itinerary": {
        "@type": "ItemList",
        "itemListElement": [...]
      }
    }

    Navigation breadcrumbs:

    json
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "item": {
            "@id": "https://example.com",
            "name": "Home"
          }
        }
      ]
    }

    Business Type Detection

    AIO Radar analyzes your content to detect your business type:

    Detected TypeSchema Generated
    Tour OperatorTravelAgency, TourTrip
    RestaurantRestaurant, Menu
    HotelLodgingBusiness, Hotel
    RetailLocalBusiness, Product
    Service BusinessProfessionalService
    HealthcareMedicalBusiness
    LegalLegalService
    GeneralOrganization

    Viewing Schema

    In WordPress Admin

    Go to AIO Radar → Schema to see:

  • Generated schema templates
  • Detected business type
  • Preview of JSON-LD output
  • As JSON

    Fetch schema via API:

    bash
    curl "https://aioradar.vercel.app/api/sites/{id}/schema" \
      -H "Authorization: Bearer your_api_key"

    As Script Tags

    Get ready-to-use script tags:

    bash
    curl "https://aioradar.vercel.app/api/sites/{id}/schema?format=script" \
      -H "Authorization: Bearer your_api_key"

    Returns:

    html
    <script type="application/ld+json">{"@context":"https://schema.org",...}</script>

    Implementing Schema

    Automatic Implementation

    The AIO Radar plugin can automatically inject schema into your pages:

  • Go to AIO Radar → Settings → Schema
  • Enable Auto-inject schema
  • Schema is added to page <head> automatically
  • Manual Implementation

    Copy schema from the admin panel or API and add to your theme:

    In theme's header.php:

    php
    <?php
    // Get AIO Radar schema
    $schema = get_option('aio_schema_templates');
    if ($schema) {
        foreach ($schema as $type => $data) {
            echo '<script type="application/ld+json">';
            echo json_encode($data, JSON_UNESCAPED_SLASHES);
            echo '</script>';
        }
    }
    ?>

    Using WordPress Hooks

    php
    add_action('wp_head', function() {
        $client = new AIO_API_Client();
        $schema = $client->get_schema('script');
    
        if ($schema && !empty($schema['scripts'])) {
            foreach ($schema['scripts'] as $script) {
                echo $script;
            }
        }
    });

    Schema Settings

    Configure at AIO Radar → Settings → Schema:

    SettingDescriptionDefault
    Auto-injectAdd schema to pages automaticallyEnabled
    Include WebSiteAdd WebSite schemaEnabled
    Include BreadcrumbsAdd BreadcrumbListEnabled
    Business typeOverride detected typeAuto-detect

    Validating Schema

    Google Rich Results Test

    Test your schema at Google's Rich Results Test:

  • Enter your page URL
  • Review detected schema
  • Fix any errors or warnings
  • Schema.org Validator

    Validate JSON-LD at Schema Markup Validator:

  • Paste your JSON-LD code
  • Check for errors
  • Verify data is correct
  • Best Practices

    Be Accurate

    Schema should reflect actual content:

  • ✅ Real business name and contact info
  • ✅ Accurate descriptions
  • ✅ Current pricing (if included)
  • ❌ Exaggerated claims
  • ❌ Fake reviews or ratings
  • Be Complete

    Include all relevant properties:

    json
    {
      "@type": "TravelAgency",
      "name": "Example Tours",
      "url": "https://example.com",
      "telephone": "+1-555-123-4567",
      "email": "info@example.com",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "123 Main St",
        "addressLocality": "San José",
        "addressCountry": "CR"
      },
      "openingHours": "Mo-Fr 09:00-17:00"
    }

    Keep Updated

    Regenerate schema when you:

  • Change business information
  • Add new locations or services
  • Update contact details
  • Modify operating hours
  • Troubleshooting

    Schema Not Appearing

    Check:

  • Auto-inject is enabled
  • Page is loading schema scripts
  • No caching issues
  • Wrong Business Type

    Solution:

  • Go to AIO Radar → Settings → Schema
  • Set Business type manually
  • Regenerate schema
  • Validation Errors

    Common fixes:

  • Add missing required properties
  • Fix URL formatting
  • Correct date/time formats
  • Ensure valid JSON syntax