Брать og: теги, а если их нет, брать обычные?
Обычных тоже может не быть.
В обычных нет картиночек и т.д.
Максимум что можно вытащить в 90% случаев с обычными это заголовок страницы и всякую ненужную фигню типа автора/ключевых слов.
Всё остальное достаётся либо через OG, либо через поиска основного content-блока и его анализа.
Готовых решений по анализу не встречал. Только статьи с общим описанием алгоритмов поиска содержимого.
https://habr.com/post/105582/
Что-то такое, правда тут на meta и og как раз заточено.
https://github.com/dusterio/link-preview