Стратегии обхода ограничений на запросы в Imgur

По мере того как я постепенно осознаю ценность изображений для SEO, я заметил, что многие мои изображения до сих пор загружаются напрямую с Imgur (hotlinking). Дело в том, что на моём старом форуме не было функции загрузки, поэтому пользователи использовали Imgur для обмена изображениями. С момента перехода на Discourse почти два года назад кажется, что большинство изображений так и не были загружены и по-прежнему размещаются на Imgur (несмотря на то, что настройка «Скачивать удалённые изображения» включена :check_mark:).

Я понял, что это происходит из-за того, что количество запросов к Imgur с моего IP-адреса сервера слишком велико, и он (временно?) блокируется. Есть ли какие-либо советы, как обойти это ограничение?

Может, стоит добавить слово-фильтр, чтобы просто запрещать изображения с Imgur, или запустить кампанию, чтобы обучить пользователей просто перетаскивать изображения прямо в Discourse?

Они отображаются корректно? Может, вам это не важно?

Думаю, вы могли бы использовать прокси, который делает запросы к Imgur с другого IP-адреса. Это, возможно, немного сомнительно и, скорее всего, нарушает их условия использования.

О! Но постойте. Может, плагин, использующий API, решит вашу проблему.

curl --location -g 'https://api.imgur.com/3/image/{{imageHash}}' \
--header 'Authorization: Client-ID {{clientId}}'

Imgur API.

Думаю, плагин мог бы это реализовать. Код, о котором идёт речь, находится в lib/file_helper.rb, начиная с def self.download. Или, возможно, стоит создать отдельную задачу, например pull_hotlinked_images, которая обрабатывала бы только файлы с Imgur, не затрагивая остальное. Возможно, после обработки накопленного объёма вы больше не будете сталкиваться с ограничениями скорости на новых сообщениях.

Кажется маловероятным, что это будет перенесено в ядро, но я не принимаю таких решений, так что не вините меня или команду, если я ошибаюсь. :slight_smile:

Спасибо за советы! Просто уточню: мои пользователи больше не загружают изображения с Imgur. Проблема в том, что существует большой накопленный объём из импортированных постов, которые не скачиваются и не заменяются (или обрабатываются настолько медленно, что я не могу этого определить). На нашей предыдущей платформе загрузка изображений не поддерживалась.

В таком случае моя идея плагина, который создаёт задачу, использующую API Imgur для их загрузки, должна сработать. Насколько это сложно, я пока не уверен.

Да, подход с API/плагином кажется наиболее жизнеспособным вариантом, теперь вопрос лишь в том, стоит ли затраченных усилий создание плагина :grinning_face_with_smiling_eyes:

Это был мой вопрос с самого начала!