Георгий Маслов georgiymaslov
Визитки, сайты на WordPress, боты, 1С, SEO, серверы, Python+AI
Рейтинг
21 229
№ 43 в каталоге
Отзывы
Профессионализм
10/10
Коммуникация
10 /10
Город
Москва
На сайте с
2017 года
Юридический статус
Самозанятый
Эксперт
Национальной Гильдии Фрилансеров
Безопасная сделка
Деньги списываются после приёмки

SEO видеохостинга: диагностика Google Search Console и возврат видео в индекс Google

Используемые навыки Django HTML Python SEO Веб-разработка

Описание

У заказчика — действующий публичный видеохостинг. В какой-то момент Google практически перестал индексировать его видео: Search Console показывал ошибку «Видео находится не на странице просмотра» на 124 страницах, ролики выпадали из поиска, органический трафик не рос.

До меня заказчику уже предлагали типовые рецепты «из интернета» (noindex на embed-страницы, canonical-теги) — по сути, лечение симптомов наугад. Задача: найти настоящую причину, починить её на живом продакшне и подтвердить результат инструментами Google, ничего не сломав по дороге.

Решение

Разобрал, как Google на самом деле понимает видео-страницы: он читает структурированную разметку schema.org/VideoObject (JSON-LD) на странице просмотра. Оказалось, что настоящая причина — не embed-страницы и не canonical: многострочные описания видео подставлялись в JSON-LD как есть и разрывали блок разметки. Google молча выбрасывал разметку целиком и считал, что видео на странице нет.

Что сделал:
1. Починил формирование JSON-LD: корректное экранирование описаний, дата публикации в машинном формате, длительность в ISO-8601, прямая ссылка на видеофайл mp4 (поисковый робот не умеет забирать HLS-поток).
2. Добавил разметку вертикальным роликам — 34 коротких видео вообще не имели VideoObject и физически не могли попасть в видеопоиск.
3. Обновил sitemap с датами изменения страниц.
4. Написал автоматическую проверку: скрипт прошёл по всем 154 страницам просмотра и проверил валидность разметки на каждой — а не «на паре страниц вручную».

5. Отдельно привёл в порядок внутренний поиск сайта (это «SEO для своих»): починил ранжирование по релевантности, обновил протухшие поисковые индексы после смены имён профилей, убрал фильтр стоп-слов, который молча ломал короткие запросы.
6. Сделал embed-плеер с диалогом генерации кода вставки (размеры, соотношение сторон, старт с таймкода) — видео с хостинга можно корректно встраивать на другие сайты, что тоже работает на видимость.

Стек: Python/Django, JSON-LD (schema.org VideoObject), Google Search Console, sitemap.

Результат

Ошибка воспроизводилась на 124 страницах — после фикса разметка валидна на всех 154 страницах просмотра, включая вертикальные ролики. Заказчик подтвердил исправление по Google Search Console, страницы ушли на переиндексацию.

Отдельная ценность для заказчика: диагноз поставлен по фактам (как именно робот читает страницу), а не по чужим догадкам — это сэкономило переделку сайта по неверным рецептам.

Сайт живой, можно посмотреть: https://sawonce.com

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Feasibility-анализ крипто-арбитража между двумя биржами — проверка гипотезы до написания боевого кода
Feasibility-анализ крипто-арбитража между двумя биржами — проверка гипотезы до написания боевого кода
40
Веб-разработка и IT ИИ-агент проверки заявок на закупку в 1С:Предприятие 8.3
ИИ-агент проверки заявок на закупку в 1С:Предприятие 8.3
24
Веб-разработка и IT Агент анализа спортивной статистики: агрегация коэффициентов из нескольких источников, Telegram-бот + Flask API
Агент анализа спортивной статистики: агрегация коэффициентов из нескольких источников, Telegram-бот + Flask API
37
Веб-разработка и IT Снятие паразитной нагрузки на WordPress и WooCommerce
Снятие паразитной нагрузки на WordPress и WooCommerce
28