Жизнь онлайн-медиа под санкциями Google, часть 2
Google поиск.
Сперва нужно вспомнить, что у гугла вообще сделано для сайтов, имеющих видео: это sitemap со своей схемой данных, и микроразметка, общая задача которых получить приличный ответ в поиске, с длительностью видео, красивой обложкой, количеством просмотров и так далее, что непосредственно влияет на его кликабельность по сравнению с обычным текстовым вариантом выдачи по странице. Расширенный ответ, содержащий все это, есть в том числе и в дефолтном поиске в отдельном “колдунчике”, а не только в самостоятельном разделе “поиск по видео” - и это, как правило, создает основной трафик.
Отдельная песня - если вы хотите, чтобы в сниппете формировался анимированный снепшот из этого видео, в таком случае необходимо обеспечить доступ гугловых краулеров к исходному mp4 файлу (примечательно, что плеер, как правило, доставляет видео в форматах HLS и DASH, а исходники, все же, не доступны всем подряд на фронте). У нас не сразу получилось все это настроить, тогда единственным способом убедиться, что к вам пришел настоящий GoogleBot, было в момент запроса сделать reverse dns запрос для source ip, и если для адреса возвращалась зона *.googlebot.com, значит он валидный. Сейчас, насколько я вижу, Гугл стал публиковать json с адресами валидных подсетей, а нам пришлось разбираться с модулем rdns в nginx, который лет 8 как уже не обновляется - но все, впрочем, заработало.
А еще, раз речь пошла про анимированные сниппеты, или трейлеры, это частый предмет изысканий у аудиовизуальных сервисов, вот на последнем PlayButton от Яндекса, выступал, кажется, KION от MTS, и там прям бигдатно и так командой человек на 200 определялись по миллиону признаков статичные кадры из видео, заслуживающие стать обложками, что ли. У нас таких ресурсов нет, но вот последний наш подход к снаряду (пока не на проде) заключался вот в чем:
Флоу публикации исторически устроено таким образом, что статичная картинка-обложка, содержательно представляющая ценность для новостного видео, может быть 1) самостоятельным кадром, не встречающемся в видео вообще (условно, отдельно подготовленная яркая обложка), 2) кадром из видео, но с другим разрешением, с наложенной или наоборот снятой эфирной графикой, в общем - не точное совпадение. И вот для второго случая, который более распространен, можно попробовать исправить дефолтное поведение, когда при наведении пользователем на статичную картинку (или пролистывании в мобильной ленте) начинается проигрывание короткого снепшота, подготовленного изначально без знания о том, какой кадр этого видео был использован для обложки, таким образом, создавая рваный эффект при смене этой обложки на сцены в видео. А мы хотели создать иллюзию плавности.
В этом нам помог ffmpeg с фильтром difference и blackframe, который находит несколько подходящих кандидатов (представьте себе ведущую, которая о чем-то рассказывает, а на фоне у нее неоднократно появляется то, что у вас на обложке), а дальше на видео натравливается scenedetect, что позволяет в конечном итоге получить довольно разнообразную по содержанию “выжимку” из видео, при этом первая продолжительная сцена которого начинается с того кадра, который вы выбрали в качестве обложки.
В общем, к чему это я? К тому, что если верить Google Search Console, в один прекрасный день мы лишились всего трафика из этих расширенных видео сниппетов, а обычный трафик /для бомжей/ остался на прежнем уровне. Просто в один день стало 0, к сожалению, не сохранился скриншот, а там данные доступны только за 16 месяцев назад. А в выдаче теперь - наш же контент, но уже на пиратских источниках.
Нигде ничего про санкции было не написано, поэтому первая мысль, что что-то просто сломалось. И так и эдак - не получалось ничего. И только недавно я решился на то, чтобы поднять полноценное зеркало сайта на другом домене, чисто для эксперимента над гуглом (яндексу отдавался блокирующий robots.txt), и, что вы думаете, прекрасным образом абсолютно идентичный сайт, сайтмепы и микроразметка с первого же дня заработали как надо на новом домене.