Ещё один вариант, как скрыть ссылку от бота

1 234
Ayavryk
На сайте с 11.10.2003
Offline
209
#21
wkw:
некрасиво, с обманом, да и забанять в два счёта ... но это же приключения, а их хочется больше всего!

Я про некрасивость я говорю только в плане эстетическом. Не здорово упрятывать парные теги в комментарии вот так.

А обман совсем непричем. Яндекс, сам вводит тег noindex. А google - nofollow. Если бы обе конструкции поддерживались всеми поисковиками, и был бы html-стандарт noindex подобно META или robots, то всего этого геморроя не было бы.

Пример из практики. Есть большая онлайновая БД с телефонами и мылами (50-100 тыс. актуальных объявлений). Пока не прятали их от индексирования через ноиндекс, были постоянные жалобы от пользователей. Телефоны застревали в Яндексе и по ним звонили через несколько лет. Уже после того, как объявления потеряли актуальность.

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
wkw
На сайте с 19.10.2006
Offline
109
wkw
#22
Ayavryk:
Я про некрасивость я говорю только в плане эстетическом. Не здорово упрятывать парные теги в комментарии вот так.
А обман совсем непричем. Яндекс, сам вводит тег noindex. А google - nofollow. Если бы обе конструкции поддерживались всеми поисковиками, и был бы html-стандарт noindex подобно META или robots, то всего этого геморроя не было бы.

Пример из практики. Есть большая онлайновая БД с телефонами и мылами (50-100 тыс. актуальных объявлений). Пока не прятали их от индексирования через ноиндекс, были постоянные жалобы от пользователей. Телефоны застревали в Яндексе и по ним звонили через несколько лет. Уже после того, как объявления потеряли актуальность.

Извините, если обидел. Сам грешен, но - кто не грешит, тот не раскаивается. ☝

А вообще, IMHO noindex и nofollow вполне хватает.

Kolyaj
На сайте с 28.03.2006
Offline
69
#23
Ugnich Anton:
2Kolyaj: "вытаскивает", а не "выполняет". Из последней строки вытащит "www.yandex.ru" и перейдет по ссылке.
Хотя, говорят, уже и простые скрипты выполняет...

Именно выполняет, а не вытаскивает. Сейчас не могу найти результаты эксперимента на данную тему, по результатам которого гугл перешел по всем скриптовым ссылкам, кроме скрипта, использующего особенности рендеринга браузера, хотя в нем урл был написан без шифровки. Но в том эксперименте не использовались классы.

A
На сайте с 09.08.2004
Offline
82
#24

Чтобы скрыть ссылку от любого бота надо ее слегка зашифровать, например так:

var o='o';var a='a';var e='e';var h='h';document.write('<a '+h+'ref="'+h+'ttp://sit'+e+e+'x'+a+'mpl'+e+'.net/"> t'+a+'rget="_bl'+a+'nk">');

Затем вынести во внешний файл, и прибивать все левые запросы по реферу через mod_rewrite/htaccess примерно так:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^*.mysite.ru.* [NC]
RewriteRule ^.*js$ - [F]

То есть проверять рефер, с которого запрашивается файл .js. Если он не с mysite.ru, тогда Forbidden

Ayavryk
На сайте с 11.10.2003
Offline
209
#25
wkw:
IMHO noindex и nofollow вполне хватает.

noindex - к сожалению невалидный и игнорируется Гуглем.

Asher:
То есть проверять рефер, с которого запрашивается файл .js. Если он не с mysite.ru, тогда Forbidden

Т.е. если пришли с поисковой машины или с закладки, то скрипт отрабатвываться не будет?

A
На сайте с 09.08.2004
Offline
82
#26
Ayavryk:
Т.е. если пришли с поисковой машины или с закладки, то скрипт отрабатвываться не будет?

Нет, если пришли с рефом не от нашего сайта или вообще без него, неважно откуда, то внешний Яваскрипт не отдается.

Можно модифицировать его, определяя юзер-агент ботов по аналогичной схеме и не отдавать им .js.

Ayavryk
На сайте с 11.10.2003
Offline
209
#27
Asher:
Нет, если пришли с рефом не от нашего сайта или вообще без него, неважно откуда, то внешний Яваскрипт не отдается.

Но тогда пользователь не увидит эту ссылку. Какая-то сомнительная затея. И зачем вообще вешать JS? Проще реализовать на сервере.

Asher:
Можно модифицировать его, определяя юзер-агент ботов по аналогичной схеме и не отдавать им .js.

Зачем использовать методы, которые явно запрещены, если то же самое можно сделать вполне легально?

A
На сайте с 09.08.2004
Offline
82
#28
Ayavryk:
Но тогда пользователь не увидит эту ссылку. Какая-то сомнительная затея. И зачем вообще вешать JS? Проще реализовать на сервере.
Зачем использовать методы, которые явно запрещены, если то же самое можно сделать вполне легально?

Что пользователь не увидит и какие именно методы запрещены? Скрывать ссылку в Яваскрипте, так многие меню в нем делают.

Сокрытие ссылки от всех ботов (и от юзеров, не передающих реферер ~3-5%):

Создаем внешний файл link.js, в него вставляем код Яваскрипт:

var o='o';var a='a';var e='e';var h='h';document.write('<a '+h+'ref="'+h+'ttp://sit'+e+e+'x'+a+'mpl'+e+'.ru/"> t'+a+'rget="_bl'+a+'nk">');

В код странички вместо скрываемой ссылки вставляем следующий код:

...

<script language="JavaScript" src="link.js"></script>Текст ссылки на сайт siteexample.ru</a>
...

В .htaccess добавляем:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^*.mysite.ru.* [NC]
RewriteRule ^.*js$ - [F]

По моему все разжевано до мелочей.

В данном случае тег <a> в коде страничке не открыт, но как показывает практика, это не всегда имеет значение. Если желательно полностью соблюсти синтаксис html, то надо </a> тоже вынести во внешний файл по схожей схеме.

Ayavryk
На сайте с 11.10.2003
Offline
209
#29
Asher:
Что пользователь не увидит и какие именно методы запрещены? Скрывать ссылку в Яваскрипте, так многие меню в нем делают..

клоакинг запрещен в регламенте Яндекса. Т.е. настройка сайта раздельно под роботов и пользователей.

Asher:
Скрывать ссылку в Яваскрипте, так многие меню в нем делают..

Несколько другое. В данном случае не делается разница между пользователем отключившим скрипты и роботом.

Asher:
если пришли с рефом не от нашего сайта или вообще без него, то внешний Яваскрипт не отдается... Сокрытие ссылки от всех ботов (и от юзеров, не передающих реферер ~3-5%):

Рефер с вашего же сайта?? Ну если у вас с поиска приходит всего 3% посетителей, тогда вам точно нужно пересмотреть методы работы :)

И совершенно точно js здесь абсолютно лишний. Если вы подстраиваетесь под рефер, нафига он вообще нужен? дешевле на стороне сервера определить рефер и по нему выдать любое содержимое.

Kolyaj
На сайте с 28.03.2006
Offline
69
#30

Ayavryk, когда браузер запрашивает js-файл, он передает реферер, который равен адресу страницы, в которую вставлен соответствующий тег script. Т.е. скрипты будут отдаваться только своим страницам. А если, к примеру, просто набрать адрес js-файла в браузере, то будет 403.

Именно это пытается объяснить Asher.

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий