По мере того как я постепенно осознаю ценность изображений для SEO, я заметил, что многие мои изображения до сих пор загружаются напрямую с Imgur (hotlinking). Дело в том, что на моём старом форуме не было функции загрузки, поэтому пользователи использовали Imgur для обмена изображениями. С момента перехода на Discourse почти два года назад кажется, что большинство изображений так и не были загружены и по-прежнему размещаются на Imgur (несмотря на то, что настройка «Скачивать удалённые изображения» включена ).
Я понял, что это происходит из-за того, что количество запросов к Imgur с моего IP-адреса сервера слишком велико, и он (временно?) блокируется. Есть ли какие-либо советы, как обойти это ограничение?
Может, стоит добавить слово-фильтр, чтобы просто запрещать изображения с Imgur, или запустить кампанию, чтобы обучить пользователей просто перетаскивать изображения прямо в Discourse?
Они отображаются корректно? Может, вам это не важно?
Думаю, вы могли бы использовать прокси, который делает запросы к Imgur с другого IP-адреса. Это, возможно, немного сомнительно и, скорее всего, нарушает их условия использования.
О! Но постойте. Может, плагин, использующий API, решит вашу проблему.
Думаю, плагин мог бы это реализовать. Код, о котором идёт речь, находится в lib/file_helper.rb, начиная с def self.download. Или, возможно, стоит создать отдельную задачу, например pull_hotlinked_images, которая обрабатывала бы только файлы с Imgur, не затрагивая остальное. Возможно, после обработки накопленного объёма вы больше не будете сталкиваться с ограничениями скорости на новых сообщениях.
Кажется маловероятным, что это будет перенесено в ядро, но я не принимаю таких решений, так что не вините меня или команду, если я ошибаюсь.
Спасибо за советы! Просто уточню: мои пользователи больше не загружают изображения с Imgur. Проблема в том, что существует большой накопленный объём из импортированных постов, которые не скачиваются и не заменяются (или обрабатываются настолько медленно, что я не могу этого определить). На нашей предыдущей платформе загрузка изображений не поддерживалась.
В таком случае моя идея плагина, который создаёт задачу, использующую API Imgur для их загрузки, должна сработать. Насколько это сложно, я пока не уверен.