Сегодня SEO — это не только ключевые слова и ссылки. Поисковики всё больше учитывают технические факторы, корректность мета‑тегов, микроразметку и удобство сайта для пользователя. Современный SEO‑аудит начинается с базы: мета‑данных и разметки страницы.
Title — это главный заголовок страницы в поисковой выдаче и вкладке браузера.
Рекомендации:
Пример:
<title>Разработка сайтов на Next.js и Django • Kravchenko Web Lab</title>
Description влияет на сниппет в поисковой выдаче.
Рекомендации:
Пример:
<meta name="description" content="Разработка сайтов на Next.js и Django, скриптов и парсеров. SEO и автоматизация под ключ. Kravchenko Web Lab." />
OG‑теги важны для отображения в соцсетях и мессенджерах, а Twitter‑теги — для карточек в X (Twitter).
Минимальный набор OG:
<meta property="og:title" content="Разработка сайтов и скриптов • Kravchenko Web Lab" />
<meta property="og:description" content="Создаём сайты, автоматизируем бизнес и настраиваем SEO под ключ." />
<meta property="og:image" content="https://kravlab.ru/og-default.jpg" />
<meta property="og:url" content="https://kravlab.ru/" />
<meta property="og:type" content="website" />
Расширенные параметры OG и Twitter:
<meta property="og:site_name" content="Kravchenko Web Lab" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Студия веб-разработки Kravchenko Web Lab" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="SEO-аудит и разработка сайтов" />
<meta name="twitter:description" content="Делаем SEO и разработку под ключ. Современные стандарты, микроразметка, скорость." />
<meta name="twitter:image" content="https://kravlab.ru/og-default.jpg" />
Примечание: эти теги напрямую не влияют на ранжирование, но повышают кликабельность ссылок при расшаривании.
Canonical указывает поисковику «главную» версию страницы. Полезен при:
?page=2
),?utm_source=...
),/
и без /
.Пример:
<link rel="canonical" href="https://kravlab.ru/services/seo-audit" />
Если canonical не указан, поисковик может выбрать каноничную страницу сам — не всегда удачно.
JSON‑LD — это формат микроразметки, рекомендуемый Google и поддерживаемый Яндексом. Он позволяет «объяснить» содержимое страницы и получить расширенные сниппеты: рейтинги, хлебные крошки, FAQ‑блоки и т. д.
Практика:
<script type="application/ld+json">
(в <head>
или внизу <body>
).Article
+ Organization
).width
, height
).Зачем: улучшает навигацию в сниппете.
Яндекс: может заменить технический URL на человеко‑понятный путь на русском.
Google: показывает крошки вместо длинного URL.
Минимум полей:
@type: "BreadcrumbList"
itemListElement
→ массив ListItem
:
position
(1…N)name
(заголовок сегмента)item
(абсолютный URL)Практика:
position
строго по порядку без пропусков.name
согласуйте с заголовками на странице/в меню.Пример:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Главная", "item": "https://kravlab.ru/" },
{ "@type": "ListItem", "position": 2, "name": "Услуги", "item": "https://kravlab.ru/services/" },
{ "@type": "ListItem", "position": 3, "name": "SEO‑аудит", "item": "https://kravlab.ru/services/seo-audit" }
]
}
</script>
Частые ошибки: несоответствие иерархии, относительные URL, пропуски позиций.
Зачем: даёт расширенный сниппет (дата, автор, издатель, превью), повышает доверие и CTR.
Article
— общий тип; BlogPosting
— записи блога (оба валидны).
Ключевые поля:
headline
datePublished
/ dateModified
author
(Person
/Organization
)image
(1200×630+)publisher
(Organization
с logo
)Рекомендуемые:
description
mainEntityOfPage
articleSection
inLanguage
Пример:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"mainEntityOfPage": { "@type": "WebPage", "@id": "https://kravlab.ru/blog/seo-jsonld" },
"headline": "Современное SEO: как оформить мета‑данные и JSON‑LD",
"description": "Пошаговый гид по title, description, Open Graph, canonical и JSON‑LD схемам.",
"image": ["https://kravlab.ru/images/seo-cover.jpg"],
"author": { "@type": "Person", "name": "Никита Кравченко" },
"publisher": {
"@type": "Organization",
"name": "Kravchenko Web Lab",
"logo": { "@type": "ImageObject", "url": "https://kravlab.ru/logo-512.png", "width": 512, "height": 512 }
},
"datePublished": "2025-10-03T10:00:00+03:00",
"dateModified": "2025-10-03T12:00:00+03:00",
"inLanguage": "ru-RU"
}
</script>
Изображение должно быть доступно без авторизации; избегайте стоков с водяными знаками.
Зачем: может вывести блок FAQ прямо в сниппете (Google), увеличивая занимаемую площадь выдачи и CTR.
Где применять: на страницах с реальными ответами. Для форумов — QAPage
.
Ключевые поля:
@type: "FAQPage"
mainEntity
→ массив Question
→ acceptedAnswer
→ Answer
с text
.Пример (2 вопроса):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Что такое краулер и чем он помогает в SEO‑аудите?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Краулер — программа, которая обходит ссылки сайта, фиксируя коды ответов, мета‑данные и ошибки. Это база для точного плана исправлений."
}
},
{
"@type": "Question",
"name": "Можно ли внедрять FAQ на любой странице?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Да, если вопросы и ответы реально присутствуют на странице и полезны пользователю. Не добавляйте фиктивные блоки — это нарушение руководств."
}
}
]
}
</script>
Ошибки: переспам, вопросы без ответов, разметка FAQ там, где на странице нет видимого FAQ.
Зачем: может показывать цену, наличие, рейтинг/отзывы (rich results). Для услуг схема подходит при корректном описании.
Ключевые поля:
name
, description
image
(несколько, 800×800+)sku
/productID
(если есть)brand
(Brand
или Organization
)offers
→ Offer
(price
, priceCurrency
, availability
, url
)Рейтинг (опционально):
aggregateRating
→ AggregateRating
с ratingValue
, reviewCount
.
Пример:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "SEO‑аудит сайта",
"description": "Комплексный технический аудит с отчётом и приоритизацией задач.",
"image": ["https://kravlab.ru/images/seo-audit-card.jpg"],
"brand": { "@type": "Brand", "name": "Kravchenko Web Lab" },
"offers": {
"@type": "Offer",
"url": "https://kravlab.ru/services/seo-audit",
"priceCurrency": "RUB",
"price": "49900",
"availability": "https://schema.org/InStock"
}
}
</script>
Цена в разметке должна совпадать с ценой на странице; не размечайте отзывы, которых нет.
Зачем: помогает поисковикам корректно понимать бренд (логотип, телефоны, соцсети, география), улучшая Knowledge Graph.
Когда использовать:
Organization
— без привязки к офису.LocalBusiness
— если есть адрес/часы работы.Рекомендуемые поля:
name
, url
, logo
(ImageObject
с размерами)contactPoint
(телефоны с contactType
)sameAs
(соцсети)address
, geo
, openingHoursSpecification
Пример Organization:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Kravchenko Web Lab",
"url": "https://kravlab.ru",
"logo": { "@type": "ImageObject", "url": "https://kravlab.ru/logo-512.png", "width": 512, "height": 512 },
"contactPoint": [{
"@type": "ContactPoint",
"telephone": "+7-999-000-00-00",
"contactType": "sales",
"areaServed": "RU"
}],
"sameAs": [
"https://t.me/kravlab",
"https://github.com/kravlab"
]
}
</script>
Пример LocalBusiness (упрощённо):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "Kravchenko Web Lab",
"url": "https://kravlab.ru",
"image": "https://kravlab.ru/office.jpg",
"address": {
"@type": "PostalAddress",
"addressLocality": "Санкт‑Петербург",
"streetAddress": "Невский проспект, 1",
"postalCode": "190000",
"addressCountry": "RU"
},
"geo": { "@type": "GeoCoordinates", "latitude": "59.9386", "longitude": "30.3141" },
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "10:00",
"closes": "19:00"
}],
"telephone": "+7-999-000-00-00"
}
</script>
Логотип должен совпадать со схемой «Логотип организации» в Google.
WebSite + SearchAction (Sitelinks search box) — даёт внутренний поиск прямо в сниппете Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://kravlab.ru/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://kravlab.ru/search?q={query}",
"query-input": "required name=query"
}
}
</script>
HowTo / VideoObject / Review
HowTo
— пошаговые инструкции.VideoObject
— видео с эскизом, contentUrl
/embedUrl
.Review
— отзывы; используйте только при наличии реальных отзывов на странице.Сайт отображается обычной ссылкой, описание берётся автоматически.
Вместо https://kravlab.ru/services/seo-audit
показывается:
Главная › Услуги › SEO‑аудит
— такой формат лучше воспринимается и повышает доверие.
В выдаче появятся фото и дата публикации.
Под ссылкой могут отобразиться 2–3 вопроса и разворачивающиеся ответы.
Article
, Product
, FAQPage
и т. д.<main>
, <header>
, <article>
.Правильно внедрённый JSON‑LD — это:
Современный SEO‑аудит невозможно представить без корректных мета‑данных и микроразметки.
Минимум — title, description, OG‑теги; далее — canonical и Twitter‑теги; следующий уровень — JSON‑LD, делающий сайт богаче в выдаче.
Качественная техническая база + контент = рост видимости и доверия в поисковых системах — значит, больше кликов, заявок и клиентов.