Вернуться к портфолио

Кейс · SEO и инженерия

Как я создал télé.guide

télé.guide — мой онлайн-гид телепрограмм без навязчивой рекламы и tracking-cookie, с разделом кино: премьеры в кинотеатрах, страницы фильмов и ежедневная аргументированная подборка вечернего эфира.

Задача

Узнать, во сколько и на каком канале смотреть футбольный матч или фильм, должно быть просто. Классические сетки часто перегружены, завалены баннерами или неполны для крупных спортивных событий. Мне нужен был быстрый, удобный на мобильных сайт с фокусом на контент — особенно на ЧМ 2026 летом.

Технологии

  • Next.js (App Router) для SSR, метаданных по страницам и лёгкого деплоя.
  • Сетки EPG XMLTV: ежедневный импорт эфирной TNT и спортивных каналов с локальным кешированием.
  • API-Football для официальных матчей чемпионата (часовой пояс Paris, стадии, команды).
  • OpenAI для контекстных текстов: страницы матчей во время ЧМ, сегодня — вечерняя подборка.
  • TMDB для обогащения страниц фильмов и программ вне спорта (актёры, синопсис, постеры).

Кино и вечер у телевизора

Раздел «Кино» собирает премьеры года, актёров, режиссёров и крупнобюджетные фильмы.

У каждого фильма одна страница в /films/, которую наполняют TMDB и EPG-сетка, когда фильм идёт по ТВ: у фильма один и тот же URL, в прокате он или в эфире. Пример: «Грешники» Райана Куглера.

Датированные страницы /ce-soir/ предлагают подборку вечерних программ с комментариями — мнения, а не копия сетки, — например вечер четверга, 1 октября 2026. Текст генерируется один раз и кешируется, а страница остаётся онлайн и после своей даты.

Чемпионат мира 2026

Во время турнира отдельный hub собирал матчи дня, со страницей для каждой встречи и для каждого игрового дня. После окончания чемпионата эти URL перенаправляются (301) на вечернюю телепрограмму, чтобы не оставлять мёртвых страниц.

Главная сложность — сопоставить EPG с реальными матчами ЧМ. Названия в сетке не нормализованы («Чемпионат мира», сокращённые команды, эфир на нескольких каналах). Я построил pipeline сопоставления, который:

  • отсекает ложные срабатывания (клубные кубки, велоспорт, не футбол);
  • сверяет название и время с fixtures API;
  • показывает логотипы каналов с fallback из EPG, если локального asset нет.

Тексты ИИ и обновления

Bootstrap-скрипт генерирует недостающие тексты; ежедневная задача обновляет те, что зависят от новых данных (результаты во время ЧМ, сегодня — вечерние программы). Каждый текст хранится в JSON-кеше с меткой времени: OpenAI никогда не вызывается во время запроса, а страницы остаются стабильными для Google.

SEO и индексируемые страницы

Динамический sitemap включает главную, сетки, раздел кино, каждую страницу фильма и каждую свежую страницу /ce-soir/. Метаданные (title, description, Open Graph) считаются по маршруту. Внутренние ссылки между сетками, фильмами и вечерними подборками образуют связную структуру под запросы вроде «что посмотреть сегодня вечером по ТВ» или «фильм сегодня вечером». Когда раздел устаревает, как раздел ЧМ, его URL перенаправляются (301) на ближайшую страницу.

Эта страница портфолио описывает проект и ссылается на télé.guide — полезно для backlinks с личного сайта умеренной авторитетности, но тематически релевантного (веб-разработка + ТВ-медиа).

Полезные ссылки

Личный проект — Laurent Remond, full-stack разработчик (Шамони и Женева).