Удалённые изображения (решение проблемы с недоступными картинками)
Как часто мы подключаем изображения со сторонних сайтов? Теоретически, мы их не используем, а работаем только с изображениями которые находятся на нашем сервере. Сей вариант вполне подходит простому сайту, но вероятно не подойдёт для блога в котором реализована своя собственная система комментариев. О том, как подключить тот же Gravatar я уже писал. Но, что делать, если сервис Граватаров станет недоступным, или вдруг вы использовали Pavatar с сайта комментирующего человека и этот сайт тоже вдруг исчез? Неужели шерстить всю базу данных и менять аватарки на какие-нибудь дефолтные? Да и вообще, я думаю это совершенно не реально актуализировать все аватары в блоге на живучесть. Ведь бывают моменты, что сайты недоступны временно. Что делать в том случае если сайт человека заработал после того как ему удалили аватарку? Неужели ничего нельзя сделать для автоматизации подобного процесса?
Можно! Дело в том, что у тэга img есть интересное свойство onerror. С его помощью можно выполнить почти любой JavaScript. В качестве примера приведу замену Gravatar на Pavatr.
<img src="http://www.gravatar.com/avatar/d32bd9ab1df9fcbc74b0444c36ae4e0c?s=50&d=identicon&r=G" onerror="this.src='http://www.orcinus.ru/pavatar.jpg';" />
В этом примере получится так, что если не будет доступен сервер Gravatar, то произойдёт ошибка и сработает скрипт, который подменит изображение на Pavatar с моего сайта.
А ларчик просто открывался.
Возможно, в дальнейшем, я воспользуюсь подобным решением дабы поставить заглушки на аватарки пользователей. А вы можете использовать это решения для любых ваших проектов. Как вариант, если вы часто вставляете фотографии со сторонних файловых хранилищ, то этот вариант вам подойдёт как никогда.
Эту идею можно развивать и дальше. Например, подключать не просто картинку, а подключать скрипт который сначала сделает запись в БД и потом сделает редирект на подставную заглушку. А потом можно будет проанализировать недоступные картинки и принять определённые меры.
Но что бы вы ни делали, всегда нужно быть близко к своим пользователям. Если есть возможность уберечь пользователя от просмотра недоступной информации, то нужно его как-то предупредить об этом.
Будьте ближе к пользователю и пользователь к вам потянется.
Тэги: SEO
Отредактировано:2020-09-26 09:32:55