Задержка происходит из-за того, что роботу Facebook нужно скачать страницу вашего сайта, распарсить ее, найти картинку, скачать картинку себе и потом отдать ее клиенту. Если ваш сайт работает медленно, то это занимает значительное время.
Вы можете предварительно загонять ваши страницы в кэш Facebook, но в разумном объеме
https://developers.facebook.com/docs/sharing/openg...
Например так:
curl -X POST \
-F "id={object-url OR object-id}" \
-F "scrape=true" \
-F "access_token={your access token}" \
"https://graph.facebook.com"
Также это очень полезно в случаях обновления картинки. Актуальная вещь в каталогах товаров и интернет-магазинах.
Вы можете повесить на клик Ajax вызов, который будет выполнять запрос на сервер, фиксировать, что скрейпинг сделан (чтобы второй раз не стучаться к Facebook), затем в callback уже вызывать Share().