Как я могу сказать Reddit игнорировать мой логотип для миниатюры?

Когда пользователь делится контентом с моего сайта, часто изображение, отображаемое в миниатюре, является логотипом веб-сайта, а не самим изображением.

Как я могу сказать reddit игнорировать логотип?

Я много искал и нашел ответы о том, как указать, какое изображение reddit следует использовать с метатегом og image, но я не могу этого сделать, поскольку мой сайт является частью UGC, то есть я не знаю, что такое абсолютный URL для каждого изображения.

Например: reddit не вытягивает очищающее изображение в сообщении ссылки

EDIT:

Это, похоже, не работает с моей стороны. Он работает на вас?

<script>
function img_find() {
    var imgs = document.getElementsByTagName("img");
    var imgSrcs = [];

    for (var i = 0; i < imgs.length; i++) {
        imgSrcs.push(imgs[i].src);
    }

    return imgSrcs;
}var result = img_find();
$("meta[property='og:image']").attr("content", result[1]);
</script>

Ответ 1

Я нашел решение.

Добавление property="og:image" в <img> Я хочу, чтобы выбранный файл работал.

Ответ 2

Ваш код

$("meta[property='og:image']").attr("content", result[1]);

является почти решением. Сделайте последний шаг:

$("meta[property='og:image']")
    .attr("content", $('css_selector_of_the_img')[0].src);

Итак, что такое css_selector_of_the_img? Поскольку у вас есть логотип сайта, я бы предположил, что у вас есть HTML-код вокруг вашего изображения. Вероятно, изображение имеет имя класса или помещено в контейнер, например. css_selector_of_the_img может быть div.content img или img.uploaded что угодно. И выбросить вашу функцию img_find J.

Ответ 3

точка @Kosh. Ответ: установить тег og:image с первым изображением на вашей странице с помощью jQuery, но это зависит от возможности скребка reddit, который может содержать скребок javascript.

другое решение - использовать регулярное выражение для анализа изображений в UGC и использовать его как ваш URL og:image в вашем генераторе страниц.

надеюсь, что это поможет.