Comments 58
Ок ок, мы можем добавить onclick с window.open, хотя в случае открытия в той же вкладке было бы правильнее применить location.href, да и в целом, можно было бы отказаться от js, используя под ссылку атрибут action="" и передавать данные(которых нет) в method="get"
Я про пауков мало знаю, поэтому возникли вопросы:
который поисковый робот всегда игнорирует?
Если всегда игнорирует - зачем извращения с javascript? И какова причина этого игнорирования?
сам google уже спокойно понимает такие скрипты;
Так если гугл спокойно эмулирует js, то почему он проигнорирует "window.open"?
window.open
Ну такое себе. Может откроется, а может "popup has been blocked".
браузер ее уже не замечает
И о чем это говорит? Если, например, засунуть эту ссылку в action формы или кнопки, то поведение, вроде, таким же будет.
сам тег <form> является блочным, то есть занимает всю строку
"display:inline"? Вот на этом моменте возникает вопрос: а написанное до этого вообще хоть какую-то ценность имеет?
1.) "Если всегда игнорирует - зачем извращения с javascript?
СЕОшник сказал, что это сработало.
2.)JS находится внутри формы
3.)Всякое может быть, я обычно рассчитываю на большинство пользователей. Некоторые ребята вообще запрещают исполнение js браузером, теперь без фронтенда обходиться?
4.)Просто наглядный пример.
5.)"display:inline" пробывал и ни на одном сайте, где я применял формы он не сработал. Причину не выяснял. Помогает display: contents. В этом месте указал лишь особенность, а не невозможность решить проблему.
Скорее всего гугл не кликает по кнопкам, так-как этот функционал может быть отправкой комментария или вызов Ктулху по телефону.
Я люблю ссылки открывать в новой вкладке с помощью нажатия на колёсико мыши. В данном случае это будет работать?
Нет. Как и не будет работать "Скопировать ссылку"
Ужасное решение, всякий раз сталкиваясь с такими "оптимизаторами" мучаюсь копируя ссылки.
В чём проблема использовать <noindex></noindex>
При клике автоматически ссылка будет в новой вкладке. Я это предусмотрел, чтобы посетитель не уходил с сайта: посмотрел что ему интересно, закрыл новое окно и попал снова на сайт.
Я в день лазаю по десяткам сайтов. Где-то клик (левой кнопкой мыши) по ссылке открывает страницу в новой вкладке, а где-то нет - поэтому я всегда нажимаю на ссылку колёсиком. И, нет, я не один такой. А тут получается, что при нажатии колёсиком на ссылку на вашем сайте, не произойдёт вообще ничего. По-моему, это не очень, потому что подобные SEO-вопросы не должны влиять на удобство пользования сайтом.
Иногда приходится жертвовать удобством ради достижения цели. С хорошим СЕО больше бесплатного трафика получается.
Такое ощущение, будто б вы мне сейчас из 2007-го года написали. Посмотрите топ выдачи по разным запросам и то, насколько сайты из топа не следуют "правилам СЕО" в большинстве своём. Решает, основном, нормальная работа сайта на мобильных устройствах, скорость загрузки страниц и поведенческие факторы. Всё остальное - мелочи, влияние которых ничтожно.
Я не специалист по СЕО, но ребята, с которыми я работаю стараются учесть все моменты, чтобы получить максимальный результат.
Судя по статье - далеко не все
интересно, как эти самые ребята учитывают требования поисковиков по accessibility?
Если речь идет о ведущем поставщике техники, от которого все зависят, то посетители никуда не уйдут. Проверено. Фантазии хабровчан могут быть какими угодно, но:
1.)способ сокрытия ссылок работает и это уже делает не значимым большинство комментариев под этой статьей;
2.)пользователи сайта никуда не уходят по факту;
3.)количество минусов в карму и статью показывает лишь сущность юзеров самого хабра. После такого, вряд ли, много людей захочет здесь делиться своими наработками и все профессиональные статьи пойдут в научные журналы, а не на данный сомнительный ресурс.
А тут получается, что при нажатии колёсиком на ссылку на вашем сайте, не произойдёт вообще ничего.
*Мидл клик х2* "Ага, сайт нихрена не работает нормально, кто вообще кодил" *вкладка закрывается*
Прекрасный способ потерять пользователей.
А зачем вообще скрывать ссылки?
В данном случае это полезно для СЕО
Ужас какой то. И это не ответ, кстати
По сути, здесь речь идет об увеличении бесплатного трафика на сайт через работу с СЕО.
А теперь представьте, что все сайты ссылающиеся на вас сделаю также.
Ваш сайт просто исчезнет из гугла, так как он не найдет на него ссылки.
В смысле SEO (search engine optimization), а не CEO? Или это что-то другое?
Но в любом случае это не объяснение кому это помогает (вашему сайту, или тому на который ссылаются) и как?
Это нужно когда на сайте есть большое количество исходящих ссылок на сторонние ресурсы (например страницы с контактами организаций и их сайтов) чтобы поисковики не "опускали" сайт из за этого ибо они считают такойсайт ссылочной помойкой...
Для формы можно указать target _blank также как и для ссылки
Решение проблемы простое:
кодируете ссылки в base64.
В тег с классом ссылки помещаете атрибут data-... со значением закодированной ссылки.
На класс ссылки вешаете js функцию обработчик клика на ссылку, которая выдергивает значение дата атрибута и передает его рнр скрипту в виде гет запроса с открытием новой вкладки.
рнр скрипт упомянутый выше получает закодированную ссылку, декодирует ее и генерирует код html страницы с немедленной переадресацией рефрешем по требуемой ссылке.
Вот и все. для поисковика никаких ссылок, реализованных таким образом на странице нет.. :-)
Уважаемый,
1.) Вы нарушили правило хабра "Оскорблять других пользователей, не следить за эмоциями ". Ваш эмоциональный всплеск не имеет ничего общего с этой статьей. Изложенный в ней механизм работы со ссылками на примере php работает и имеет право на существование.
2.) "Автор - учитесь делать достойные сайты вместо паразитирования на несовершенстве веба." Сайты делать я умею и не собирался на чем либо паразитировать. Ознакомьтесь с "УК РФ Статья 128.1. Клевета"
3.)Если Вы хотите всех банить за мнение и за полезные статьи, то попробуйте создать и раскрутить свой "хабр".
4.)По озвученной теме от вас не было ни одного факта и аргумента, Ваш комментарий считаю мусорным, если это не так, то обоснуйте свою позицию.
А не сделать ли все внешние ссылки через редирект на общую страничку (с параметром куда) которая уже защищена от роботов с помощью robots.txt? И никаких извращений не надо. Или по каким-то причинам не сработает?
Есть мнение, что google и яндекс не эмулируют js, а ищут ссылки в коде js. Конструкция типа const link = "htt" + "ps:/" + "/s" + "omelink." + "ru"; должна решить вопрос.
Здесь нужно очень внимательно следить за расстановкой одинарных и двойных кавычек, чтобы не было ошибки.
Раз уж пост в хабе РНР, то давайте я вам покажу, как в этом языке принято выводить НTML и вообще оформлять код, чтобы его можно было легко читать и редактировать, без всяких проблем с кавычками.
Не забывая при этом об элементарных правилах безопасности.
<?php foreach($mass as $k => $v): ?>
<br>
<form method="post">
<button class="my" onclick="<?=htmlspecialchars("window.open(".json_encode($v).")", ENT_QUOTES) ?>">
<?=htmlspecialchars($k, ENT_QUOTES) ?>
</button>
</form>
<?php endforeach ?>
Обработчик данных форм обычно пишут в отдельном файле.
Не понял. Отдельном от чего? И при чем здесь "обработчик данных форм" вообще?
Вы точно мне комментарий писали? У меня нет никакого обработчика. Я всего лишь взял ваш собственный код — я даже не знаю, где он используется, в обработчике, в форме, или где-то ещё — и показал, как его можно написать, чтобы во-первых, не путаться в кавычках, во-вторых, его было удобно читать и редактировать, и в-третьих, чтобы он был безопасным, а не как сейчас.
Вы серьезно думаете, что я всего этого не знаю? Спасибо за Ваше мнение.
Да, я серьёзно так думаю.
Во-первых, если знаете, то почему не применяете?
Во-вторых, человек обычно пишет о том, что считает важным. У вас это расстановка кавычек.
В-третьих, пользователи РНР традиционно путаются в вопросах безопасности. Буквально под каждой статьёй в этом хабе я каждый раз объясняю базовые вещи. Потому что "знать" — это одно, а понимать — совсем другое. И большинство, увы, именно что "знает", вызубрив в самом начале карьеры пару волшебных заклинаний, которые потом и применяет бездумно до пенсии, к месту и не к месту. При этом не понимая смысла своих действий, в конечном итоге всегда получишь уязвимость.
Если бы вы много работали с разными конструкторами, cms, cамописными сайтами и фреймверками, то не задавали бы этих вопросов. Для Вас ответ был бы очевидным: случаи бывают разные и ограничения тоже, поэтому я статью постарался сделать максимально простой. "пользователи РНР "? Хорошо, буду считать Вас пользователем php. Я - программист. Минусы не забудьте поставить. Не ожидал встретить столько не адекватных комментов при публикации полезного материала. Не вижу больше смысла отвечать на бесконечные и весьма сомнительные комментарии.
Интересная статья. Я, то знаю зачем ты скрываешь реферальные ссылки от выдачи ;) Сам практиковал метод просто вместо ссылки использовать <button> а в дата атрибут ложить нужный адрес, по нажатию на кнопку считывать то что в дата атрибуте и делать редирект. Твой метод избыточен, + по сути ты используешь тот же JS только засовываешь его в html исполнение, по производительности и загрузке странице не айс... правда, это сугубо логика и нельзя это ни как в SEO померять. Ещё меня в этом методе смущает, что если у тебя будет на странице +100500 таких рефовых форм, то это тоже может быть странным для поискового робота...
Сам работал SEOшником и знаю, как бывшие коллеги любят придумывать разные странные извращения, которые якобы улучшают ранжирование.
Вообще в этой сфере много домыслов и фантазий, которые возникают на фоне недостаточного понимания специалистами технической части.
На самом деле, всё SEO держится на одном простом правиле: "Делай красивый и удобный сайт для людей". Если за сайтом стоит адекватный бизнес, то сайт будет ранжироваться, а если нет - то никакое SEO не поможет.
Серые и черные схемы тоже рано или поздно будут обличены, а результаты белого способа останутся.
Цель чтобы ссылки были но их не видел робот? -:)
А как насчет это — WASM + рендеринг через canvas (по сути делать современную версию флеш-ролика). ПС такое не разберут а ссылки можно вообще как угодно оформить :)
Надежный способ сокрытия ссылок сайта от поисковых роботов