Ответ 1
Существует решение, но как и другие решения для Google, чтобы понять его как клоакинг и запрет на их волю. Это длинный и, вероятно, понадобится дальнейшая переделка для работы в вашем случае. (Извините заранее за длину)
Настройка
В качестве примера давайте просто скажем, что:
- сайт:
www.thesite.com
и - База ImageURL:
images.thesite.com
(но база ImageURL может быть легко www.thesites.com/wp-content/uploads
)
Target
Наша цель - сделать так, (1) полноразмерное изображение отображается только с водяным знаком/наложением, если оно запрашивается из поиска изображений Google и (2) не разбивает ранее работающие вещи.
Решение
Итак, теоретическое решение таково:
1) Проверьте User-Agent и, если он содержит Googlebot
, затем откройте URL-адрес "trap". URL-адрес ловушки - это ваш текущий URL-адрес изображения, но немного изменился, поэтому вы можете относиться к нему по-другому, поэтому вместо текущего нормального:
http://images.thesite.com/wallpapers/awesome.jpg
вы должны печатать для Googlebots:
http://cacheimages.thesite.com/wallpapers/awesome.jpg
(где cacheimages
- все, что вы хотите)
2) Теперь основное блюдо; вы должны настроить таргетинг на запросы http://cacheimages.thesite.com/
и иметь script, который действует следующим образом:
If the request comes from a bot (check user-agent headers)
Then serve the normal image without watermark
Else (if the request seems to be from a normal user)
Then check the referer: If it from google (but NOT http://www.google.com/blank.html)
Redirect to the Post of the image (Note 1.)
Else if the refer is your site
Show the raw normal image
Else (any other referer, including http://www.google.com/blank.html)
Show watermarked image (Note 2.)
Примечание 1: Это произойдет, когда люди нажмут "Просмотреть исходное изображение" или само изображение
Примечание 2: Это произойдет, когда люди попытаются увидеть полноразмерное изображение из результатов поиска изображений Google (и если они каким-то образом попадут на URL-адрес ловушки изображения)
3). Вы можете перенаправить старые изображения на новую базу ImageURL, если пользовательский агент является роботом Google, так что трюк overlay/watermark быстрее работает на старых изображениях (или даже использует инструменты Google для веб-мастеров если вы используете субдомены для изображений), и вы обязательно сохраните сок SEO.
Дальнейшие действия
Если вы хотите быть серьезным, вы можете сделать больше изменений.
- Вместо того, чтобы показывать перенаправление водяного знака на более динамический url
http://cacheimages.thesite.com/preview?p=/wallpapers/awesome.jpg&r=23535
или более современное использование HTTP-заголовков без индексации:X-Robots-Tag: noindex
- Конечно, кэшируйте водяные знаки.
- Проверьте заголовки
Accept
http для случаев, которые я не думал, и соответствующим образом передавайте изображение или перенаправлять сообщение изображения.
Примечание
Возможно, вам также придется подумать о международном трафике, поэтому вместо google.com
вы хотите проверить google.[a-z-\.]+/
Заключение
Это может быть адаптировано к любой системе, я сделал это для тех, у которых есть изображения на субдомене, поэтому, вероятно, это будет не совсем то же самое для других систем, таких как wordpress и т.д. Кроме того, я уверен, что Google внесет изменения на их поиск изображений в следующие пару месяцев, чтобы исправить эту проблему.
Непроверенную примерную реализацию идеи можно найти на Github.
Disclaimers
Это не было тщательно проверено, и вы можете получить запрет, он просто предназначен для исследовательских и образовательных целей. Я не могу нести ответственность за любые убытки и т.д.