Ворклог по задаче "Настроить Open Graph / meta-теги для корректных превью страниц в мессенджерах"

18 сент. 2026 г., 22:22:43

Усилена проверка og:image после ошибок Google

Google сообщил для части карточек ошибку «Недопустимый URL в поле image». Предполагаемая причина — исходные пути к изображениям содержали незакодированные кириллические символы и пробелы, которые прежняя проверка не выявляла.

Доработан скрипт agent/scripts/check-page-image/index.ts проекта happybaby2000.ru:

  • проверяется исходное значение og:image до какой-либо нормализации;
  • URL должен быть абсолютным HTTP(S)-адресом с хостом;
  • выявляются незакодированные пробелы, кириллица, управляющие и другие недопустимые символы;
  • проверяется корректность %-escape-последовательностей;
  • выявляются незакодированные квадратные скобки в path/query/fragment и повторный # во фрагменте, при этом IPv6 в квадратных скобках допускается;
  • проверяются все og:image на странице, а не только первый;
  • диагностика указывает номер изображения, исходный URL и причину ошибки; для недопустимых символов также выводятся Unicode-код и позиция;
  • при ошибках скрипт возвращает код 1, при успехе — 0.

Рядом добавлен постоянный тест agent/scripts/check-page-image/index.test.ts на Vitest. Конфигурация Vitest расширена на scripts/**/*.test.ts. Набор покрывает 28 сценариев, включая валидные и невалидные URL, encoded-символы, IPv6, отсутствие изображения, несколько og:image и точность диагностики.

Проверка проходит успешно: 28 тестов пройдены, ESLint, Prettier и git diff --check — без ошибок.

Команда теста:

npm run test -- scripts/check-page-image/index.test.ts

Ограничение проверки: она валидирует синтаксис URL из og:image, но не проверяет доступность самого изображения и не гарантирует принятие URL сервисами Google. Автоматического исправления URL скрипт не выполняет.

16.09.2026

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