Для сайта клиента нужно было создать YML-фид, чтобы передавать данные об образовательных курсах в сервисы Яндекса и потенциально использовать их в рекламе. Основная сложность заключалась в том, что сайт был реализован на MODX, а страницы курсов не имели единой структуры: часть данных хранилась в отдельных полях, а часть — прямо в контенте, что затрудняло автоматическую выгрузку.
На первом этапе был проведен анализ структуры базы данных и определены параметры, которые можно выгружать автоматически. После этого разработали кастомный скрипт, который собирает данные по курсам, формирует YML-фид и обновляет его по cron-расписанию. Дополнительно реализовали кэширование, чтобы снизить нагрузку на сайт и обеспечить стабильную генерацию файла.
В процессе работы столкнулись с рядом технических нюансов: например, в фид попадала HTML-разметка из описаний (теги вроде <br>), из-за чего возникали ошибки валидации. Мы доработали скрипт и добавили очистку данных, чтобы фид соответствовал требованиям Яндекса и корректно проходил проверку.
После внедрения фид успешно сформировался и прошёл базовую проверку, однако на этапе загрузки в Яндекс Вебмастер выявились дополнительные требования — например, обязательный параметр «Продолжительность». Проблема заключалась в том, что такие данные были указаны не для всех курсов или представлены в разном формате. В результате мы предложили решение: передавать значения в унифицированном виде («индивидуально»). Это позволило привести фид в соответствие с требованиями.