МТС - Битые ссылки
Проблема
Часто для улучшения своего сайта, вебмастера и владельцы сайтов используют видео с YouTube. Видео обычно более интересные и привлекательные, чем текст или изображения. Они могут помочь рассказать историю, показать продукт или услугу в действии или просто развлечь посетителей сайта.
Однако при внедрении видео YouTube на страницы вашего сайта могут возникнуть некоторые проблемы: ухудшение скорости загрузки страниц, ошибки воспроизведения видео, ошибки дизайна сайта после встраивания, проблемы с правами интеллектуальной собственности.
Отсутствие решения для этих проблем может привести к потере трафика, снижению конверсий и юридическим проблемам. Поэтому важно убедиться, что сайт соответствует всем техническим и юридическим требованиям, прежде чем размещать видео YouTube на страницах сайта.
Задача
Автоматизировать процесс проверки доступности видео Youtube, которые прикреплены в карточках товаров, на страницах новостей, акций и обзоров.
Основным требованием клиента была возможность своевременно находить страницы с видео, где ссылки стали недоступны, чтобы все карточки имели рабочие видео на странице. Результаты проверки необходимо было отправлять на email в едином письме. Периодичность отправки согласовали раз в сутки.
Реализация
Различные элементы сайта в административной части содержат отдельные поля, в которых размещаются ссылки на видео-обзоры, презентации и прочие материалы с Youtube, позволяющие определиться с выбором товара.
Нами был разработан алгоритм работы будущего модуля
Сгенерировать список всех ссылок на видеоматериалы, размещенные на страницах
Проверить все ссылки из списка: рабочие они или нет
Если ссылка нерабочая, она добавляется в список для клиента
По завершении проверки список отправляется на почту
После согласования алгоритма приступили к работе
Зарегистрировали новое приложение Битрикс24 и получили ключ для доступа к API.
После получения ключа проверили, можно ли использовать его для отправки данных, а также для получения валидных данных обратно
Убедившись, что все работает корректно, приступили к написанию модуля
Проверка корректности ссылок
В карточках товара ссылки на видео размещаются в соответствующем свойстве "Дополнительное описание в карточке". Однако помимо ссылок на видео данное поле содержит и стороннюю информацию.
Поэтому для того чтобы проверить корректность размещенных ссылок необходимо спарсить из данного поля ссылки на конкретные видео, и только после этого проверять их на корректность. В новостях, акциях и обзорах аналогично, только на подобных страницах iframe с видео размещается в свойстве “Детальное описание”. Поэтому скрипт ищет ссылки видеоматериалов в двух свойствах: “Детальном описании” и “Дополнительном описании в карточке”.
Результат работы модуля
Из указанного инфоблока извлекаются все элементы (в нашем случае ссылки на видео). Происходит проверка статуса ответа для каждой полученной ссылки и возвращение результата проверки. Если статус ответа корректный, т. е. отдает 200, ссылка считается корректной. В случае, если видео недоступно, статус ответа меняется на 403, 404 или 301. Этот параметр и позволяет определить стоит добавлять ссылку в список для отправки или нет.
После проверки всех ссылок, модуль составляет письмо, в котором указаны некорректные ссылки на видео, а также элементы в административной части сайта, где они размещены. Это письмо отправляется на почту клиента, где он может просмотреть список этих ссылок и исправить их.
В модуль также был добавлен агент, который дает возможность настроить частоту проверки и отправки письма. В данном случае агент запускается один раз в сутки.