# From Schema.org

> This guide helps you understand the relationship between Schema.org and Yuba Schema, convert existing LocalBusiness markup, and run both in parallel.

***

## When to Use This Guide

* You have JSON-LD LocalBusiness markup on your site and want to also use Yuba for AI discovery
* You want to understand how Yuba Schema maps to Schema.org
* You want to run both Schema.org (for search engines) and Yuba (for AI platforms) side by side

## Key Principle

**Schema.org and Yuba complement each other.** Schema.org is optimized for web search crawlers. Yuba is optimized for AI platforms. You can — and should — use both.

***

## Field Mapping: Schema.org ↔ Yuba

| Schema.org Property              | Yuba Field                                           | Notes                                                                                               |
| -------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `name`                           | `name`                                               | Direct mapping                                                                                      |
| `description`                    | `description`                                        | Yuba supports longer, AI-optimized descriptions                                                     |
| `address` (PostalAddress)        | `address` (street, city, state, country, postalCode) | Flatten PostalAddress to Yuba fields                                                                |
| `geo` (GeoCoordinates)           | `coordinates` (lat, lon)                             | Direct mapping                                                                                      |
| `telephone`                      | `phone`                                              | Direct mapping                                                                                      |
| `email`                          | `email`                                              | Direct mapping                                                                                      |
| `url`                            | `website`                                            | Direct mapping                                                                                      |
| `openingHoursSpecification`      | `hours`                                              | Convert from Schema.org format (dayOfWeek, opens, closes) to Yuba format (day keys with open/close) |
| `image`                          | `logo` (primary), `photos` (array)                   | Schema.org uses single `image`; Yuba separates logo and photos                                      |
| `priceRange`                     | (not directly mapped)                                | Can include in description or services                                                              |
| `aggregateRating`                | `averageRating`, `totalReviews`                      | Separate fields in Yuba                                                                             |
| `@type` (e.g. Restaurant)        | `category`                                           | Map Schema.org subtypes to Yuba categories                                                          |
| `hasOfferCatalog` / `makesOffer` | `services` (name, description)                       | Simplified in Yuba                                                                                  |
| (no equivalent)                  | `exclusiveContent`, `insiderTips`                    | Yuba-only: AI-exclusive content fields                                                              |
| (no equivalent)                  | Upstream metrics                                     | Yuba-only: AI visibility analytics                                                                  |

### Category Mapping

| Schema.org @type          | Yuba Category                          |
| ------------------------- | -------------------------------------- |
| `Restaurant`              | `restaurants`                          |
| `LodgingBusiness`         | `hospitality`                          |
| `MedicalBusiness`         | `healthcare`                           |
| `ProfessionalService`     | `professional_services`                |
| `Store` / `LocalBusiness` | `retail` (or default `local_business`) |

***

## Code Example: Schema.org → Yuba Profile

### Schema.org JSON-LD (Input)

```json
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Sakura Sushi",
  "description": "Authentic Japanese sushi restaurant in downtown Portland.",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 45.5155,
    "longitude": -122.6789
  },
  "telephone": "+1-503-555-0123",
  "url": "https://sakurasushi.com",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "11:00",
      "closes": "22:00"
    }
  ],
  "image": "https://sakurasushi.com/logo.jpg"
}
```

### Equivalent Yuba Profile

```json
{
  "name": "Sakura Sushi",
  "description": "Authentic Japanese sushi restaurant in downtown Portland.",
  "category": "restaurants",
  "address": {
    "street": "123 Main St",
    "city": "Portland",
    "state": "OR",
    "postalCode": "97201",
    "country": "US"
  },
  "coordinates": {
    "lat": 45.5155,
    "lon": -122.6789
  },
  "phone": "+1-503-555-0123",
  "website": "https://sakurasushi.com",
  "hours": {
    "monday": { "open": "11:00", "close": "22:00" },
    "tuesday": { "open": "11:00", "close": "22:00" },
    "wednesday": { "open": "11:00", "close": "22:00" },
    "thursday": { "open": "11:00", "close": "22:00" },
    "friday": { "open": "11:00", "close": "22:00" }
  },
  "logo": "https://sakurasushi.com/logo.jpg"
}
```

***

## Best Practices

### Run Both

Keep Schema.org on your website for search engines. Use Yuba for AI discovery. They serve different audiences and complement each other.

### Use Specific Types

Prefer specific Schema.org types (`Restaurant`, `LodgingBusiness`) and specific Yuba categories over generic `LocalBusiness` / `local_business`. More specific types improve both search and AI discovery.

### Validate

* **Schema.org**: Validate with [Google Rich Results Test](https://search.google.com/test/rich-results)
* **Yuba**: Validate through the platform's profile validation (built into the dashboard)

### Export JSON-LD from Yuba (Planned)

Yuba will support exporting your profile as Schema.org-compatible JSON-LD that you can embed on your website. This means you can manage your business data in Yuba and automatically keep your Schema.org markup in sync.

***

## Get Help

* [GitHub Discussions](https://github.com/gugga7/aidp/discussions)
* Email: <support@aidp.dev>

***

**Last Updated**: February 22, 2026
