Обзор
Используйте точечную нотацию, чтобы сопоставлять поля с вложенными объектами Schema.org.
Описание
Некоторые свойства Schema.org ожидают вложенные объекты, а не простые значения. Квалифицированные свойства используют точечную нотацию, чтобы указать тип объекта и свойство внутри этого объекта.
Например, цена продукта — это не просто число. Она является частью объекта Offer, который включает цену, валюту и доступность. Использование Offer.price сообщает ACF, что вложенную структуру нужно создать автоматически.
Синтаксис
{ObjectType}.{propertyName}
Примеры:
– Offer.price: цена внутри Offer
– Offer.priceCurrency: код валюты внутри Offer
– NutritionInformation.calories: калорийность в данных о питании
– HowToStep.text: текстовое содержимое шага инструкции
Как это работает
При сопоставлении поля с квалифицированным свойством ACF:
- Разбирает квалифицированное свойство на тип объекта и имя свойства
- Создаёт вложенную структуру объекта в выводе JSON-LD
- Назначает вложенному объекту соответствующий
@type - Помещает значение поля в правильное свойство
Пример: цена продукта
Сопоставление полей:
– Поле цены → Offer.price
– Поле валюты → Offer.priceCurrency
– Поле доступности → Offer.availability
Вывод JSON-LD:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Wireless Headphones",
"offers": {
"@type": "Offer",
"price": 79.99,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
Пример: питательная ценность рецепта
Сопоставление полей:
– Поле калорийности → NutritionInformation.calories
– Поле белков → NutritionInformation.proteinContent
– Поле жиров → NutritionInformation.fatContent
Вывод JSON-LD:
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Chocolate Chip Cookies",
"nutrition": {
"@type": "NutritionInformation",
"calories": "250 calories",
"proteinContent": "3 g",
"fatContent": "12 g"
}
}
Распространённые квалифицированные свойства
Продукт/электронная коммерция
| Квалифицированное свойство | Описание |
|---|---|
Offer.price | Цена продукта |
Offer.priceCurrency | Код валюты (USD, EUR и т. д.) |
Offer.availability | Статус наличия |
Offer.priceValidUntil | Дата окончания действия цены |
Offer.itemCondition | Новый, бывший в употреблении, восстановленный |
AggregateRating.ratingValue | Средняя оценка |
AggregateRating.reviewCount | Количество отзывов |
Brand.name | Название бренда |
Рецепт
| Квалифицированное свойство | Описание |
|---|---|
NutritionInformation.calories | Количество калорий |
NutritionInformation.fatContent | Количество жиров |
NutritionInformation.proteinContent | Количество белков |
NutritionInformation.carbohydrateContent | Количество углеводов |
NutritionInformation.servingSize | Размер порции |
HowToStep.text | Инструкции для шага |
HowToStep.name | Название/заголовок шага |
HowToStep.image | Изображение шага |
Мероприятие
| Квалифицированное свойство | Описание |
|---|---|
Place.name | Название места проведения |
Place.address | Адрес места проведения |
PostalAddress.streetAddress | Улица и номер дома |
PostalAddress.addressLocality | Город |
PostalAddress.addressRegion | Штат/регион |
PostalAddress.postalCode | Почтовый индекс |
PostalAddress.addressCountry | Страна |
Offer.price | Цена билета |
Offer.url | URL покупки билета |
Организация/LocalBusiness
| Квалифицированное свойство | Описание |
|---|---|
PostalAddress.streetAddress | Адрес организации |
ContactPoint.telephone | Номер телефона |
ContactPoint.email | Адрес электронной почты |
ContactPoint.contactType | Тип (продажи, поддержка) |
OpeningHoursSpecification.dayOfWeek | День недели |
OpeningHoursSpecification.opens | Время открытия |
OpeningHoursSpecification.closes | Время закрытия |
Человек
| Квалифицированное свойство | Описание |
|---|---|
Organization.name | Название работодателя |
PostalAddress.addressLocality | Город |
ContactPoint.email | Контактный адрес электронной почты |
Несколько полей, один объект
Если несколько полей сопоставлены с одним и тем же типом объекта, они объединяются в один вложенный объект:
Сопоставление полей:
– Поле улицы → PostalAddress.streetAddress
– Поле города → PostalAddress.addressLocality
– Поле штата → PostalAddress.addressRegion
– Поле почтового индекса → PostalAddress.postalCode
Вывод JSON-LD:
{
"@type": "LocalBusiness",
"name": "Joe's Coffee Shop",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701"
}
}
Примечания
- Тип объекта в квалифицированных свойствах должен быть допустимым типом Schema.org
- ACF автоматически определяет имя родительского свойства (например,
Offer→offers) - Несколько полей, сопоставленных с одним и тем же типом объекта, объединяются
- Пустые значения исключаются из вложенных объектов
- Если все свойства вложенного объекта пусты, весь объект исключается
Обновлено: 30.09.2026