Как повторить
1. Google Search Console. Нажмите Add property. Тип Domain охватывает весь домен с поддоменами и подтверждается только записью TXT в DNS у регистратора (или CNAME, у некоторых провайдеров автоматически). Без доступа к DNS выберите URL-prefix: хватит HTML-файла в корне, мета-тега в <head> или уже стоящих Google Analytics либо Tag Manager. Охват у него уже: один протокол и один хост. После подтверждения откройте Sitemaps и отправьте sitemap.xml.
2. Яндекс.Вебмастер. Нажмите «+ Добавить сайт», укажите адрес с протоколом. Сервер по нему должен отвечать кодом 200. Права подтверждаются HTML-файлом в корне, мета-тегом, записью TXT или через Яндекс Тег Менеджер либо GTM. Затем откройте «Индексирование», «Файлы Sitemap» и укажите адрес карты.
3. robots.txt положите в корень домена:
User-agent: *
Allow: /
Sitemap: https://домен/sitemap.xmlНа SPA (сайте, который собирает страницы в браузере) на Vite или React файл кладут в public/. Если хостинг на любой путь без расширения отдаёт index.html, /robots.txt может попасть под это правило и вернуть HTML вместо текста.
4. sitemap.xml, карту сайта, тоже кладут в корень:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://домен/</loc>
<lastmod>2026-08-25</lastmod>
</url>
<url>
<loc>https://домен/раздел</loc>
<lastmod>2026-08-25</lastmod>
</url>
</urlset>На многостраничном SPA список адресов удобнее генерировать скриптом из тех же данных, по которым строятся маршруты.
5. JSON-LD вставляют как <script type="application/ld+json"> в <head>. На SPA его кладут в статический HTML или добавляют через prerender, то есть заранее собирают страницы в готовый HTML. Тип выбирайте по тому, что продаёте:
- личный сайт или эксперт:
PersonилиOrganization; - разовая консультация или менторинг:
ServiceилиProfessionalService. Для Google курс означает серию лекций с образовательным результатом, и консультация, выданная за курс, ближе к спаму разметки; - три программы и больше, у каждой модули:
Courseна странице каждой иItemListна общей.
Для Course обязательны name и description, provider рекомендован. Рекламные формулировки и цену в название курса не ставьте.
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Название программы",
"description": "Краткое описание, Google показывает примерно 60 символов",
"provider": {
"@type": "Organization",
"name": "Название организации",
"sameAs": "https://домен"
}
}{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "url": "https://домен/programs/one" },
{ "@type": "ListItem", "position": 2, "url": "https://домен/programs/two" },
{ "@type": "ListItem", "position": 3, "url": "https://домен/programs/three" }
]
}6. title и description задайте свои для каждой страницы:
<title>Конкретная фраза, ~50-60 символов</title>
<meta name="description" content="Что на странице и зачем кликать, ~150-160 символов">На SPA управляйте <head> под каждый маршрут или используйте prerender. Иначе поисковик увидит один и тот же title во всех разделах.
Как проверить результат
curl https://домен/robots.txt должен вернуть простой текст. Если пришёл HTML главной, сработало правило хостинга из шага 3. curl https://домен/sitemap.xml должен вернуть валидный XML. Тест расширенных результатов должен найти блоки JSON-LD без ошибок парсинга, превью у одиночного Course без ItemList при этом не появится. Данные об индексации и запросах подтянутся в кабинетах через срок от нескольких дней до пары недель.
Как это устроено
Кабинеты на ранжирование не влияют. Через них поисковик сообщает, проиндексированы ли страницы, по каким запросам идут показы, есть ли санкции и ошибки разметки. JSON-LD повторяет содержимое страницы в машиночитаемом виде, чтобы поисковик понял, что на ней: курс, отзыв или организация. Одной сессии хватает, если DNS под вашим контролем и страницы не собираются только в браузере без prerender: Google скрипты в основном исполняет, но не все боты и AI-краулеры делают это надёжно.
Ссылки
- Google Search Console: кабинет Google для подтверждения сайта и отправки карты.
- Яндекс.Вебмастер: такой же кабинет у Яндекса.
- Тест расширенных результатов: показывает, находит ли Google разметку на странице.
- Schema.org Validator: проверяет JSON-LD по всем типам schema.org, шире списка Google.