Картинка для соцсетей генерируется, но превью ссылки остаётся пустым
Next.js 15, opengraph-image.tsx, output: export · встретил 2026-09-04
Почему так происходит
Генератор запекается в файл без расширения. Веб-сервер отдаёт его как поток байтов, а соцсети и ассистенты принимают картинку только с типом image/*. Сама картинка при этом корректная — её можно скачать и открыть.
Что делать
Либо дописать тип на веб-сервере, либо не генерировать картинку маршрутом, а положить готовый файл с расширением в статику и сослаться на него в метаданных. Второе не зависит от настройки сервера.
Как убедиться, что дело именно в этом
Посмотреть, что реально лежит в каталоге экспорта: имя файла без точки и расширения — это и есть диагноз.
Чем это кончается, если не заметить
Каждая расшаренная ссылка выглядит пустым прямоугольником, хотя в разметке og:image присутствует и валидаторы разметки довольны.
Рядом
После статической сборки кириллица в /llms.txt превращается в кашуNext.js 15, output: export, route handler, отдающий текстУ всех внутренних страниц в превью показывается заголовок и адрес главнойNext.js App Router, metadata в дочерних страницахПоиск по проекту «ничего не нашёл» — а искомое в проекте естьgrep и ripgrep, кириллица и пути с ведущим слешем
