Паттерн · TypeScript
Расширение JSON-LD Organization и WebSite в корневом layout
Связанные @id в @graph: организация, персона, сайт — основа для остальных сущностей.
Уровень: среднийОценка времени: ~45 мин
Корневой граф задаёт стабильные @id; страничные типы ссылаются на них через author, publisher, provider.
- Один Organization на домен
- Person и Organization связаны worksFor/founder
- дочерние сущности используют {\"@id\": \"...\"} вместо дублирования полей
Страницы услуг, статей и паттернов не должны заново описывать организацию целиком. Достаточно сослаться на
@idиз корневогоlayout.
Код
Паттерн: функция собирает массив для <script type="application/ld+json">:
const site = 'https://example.com'
const orgId = `${site}#organization`
const webSiteId = `${site}/#website`
export function buildRootLayoutSchemaGraph() {
return [
{
'@type': 'Organization',
'@id': orgId,
name: 'Example Co',
url: site,
},
{
'@type': 'WebSite',
'@id': webSiteId,
url: site,
name: 'Example',
publisher: { '@id': orgId },
},
]
}
На дочерней странице:
const softwareLd = {
'@type': 'SoftwareSourceCode',
author: { '@id': `${site}#person` },
provider: { '@id': orgId },
}
Проверка
- Валидатор не показывает дублирующихся конфликтующих Organization с разными URL на одном домене.
- Все ссылки
@idразрешаются на объекты в том же или родительском@graph.
Первоисточники
Другие паттерны
- JSON-LD
BreadcrumbList в JSON-LD для внутренних страниц
Единый хелпер для хлебных крошек в разметке, согласованный с UI.
Открыть паттерн - Разметка и правила
FAQ и HowTo в JSON-LD: когда разметка уместна
Избегайте разметки «ради звёздочек»: только видимый контент, один смысл на страницу, гайдлайны Google.
Открыть паттерн
Материалы блога
- Маркетинг
«Сайт есть, заявок нет»: где ломается не код, а смысл
Почему технически рабочий сайт не даёт лидов: шаблонный текст, язык не покупателя, слабое УТП и нет сценария от первого экрана до заявки. Чеклист самопроверки для владельца.
Читать статью - SEO
SEO-архитектура: почему сайт не продает без структуры
Разбираем, как правильная структура сайта влияет на продажи и позиции в поиске. Почему дизайн вторичен, а семантика первична.
Читать статью
Нужно внедрить под ваш домен и стек?
Короткая форма: имя, телефон и сайт. После отправки — ответ с порядком работ и ориентиром по этапам; задачу уточняют при контакте.