Надежный способ сокрытия ссылок сайта от поисковых роботов

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

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

В чем суть проблемы? Существует несколько способов спрятать ссылку от поисковых роботов, но у них имеются свои особенности:

  1. javascript позволяет закрыть ссылку от индексации, но сам google уже спокойно понимает такие скрипты;

  2. можно добавить к ссылке атрибут nofollow – это просто, но ссылочный вес самой ссылки будет теряться и при периодическом переиндексировании снизится общий вес сайта;

  3. cамый странный метод сокрытия ссылок — это закрытие конкретных страниц от индексации при помощи мета тегов или в файле robots.txt, но происходит полная потеря ссылочного веса передаваемого странице.

Зная эти нюансы, специалист по СЕО исключил все три способа сокрытия ссылок и предложил мне попытаться найти новое решение. И оно было найдено: что, если засунуть ссылку в некий стандартный функционал на сайте, который поисковый робот всегда игнорирует?
Возьмем обычную форму с методом отправки post:

<form method="post">
    <button class="my">
       Образец экспериментальной ссылки
    </button>
</form>

При помощи класса my можно стиль формы сделать оптимальным для дизайна вашего сайта, например:

<style>
      .my{
          border:none;
          background: none;
          text-decoration: underline;
          color: blue;
          cursor: pointer;
          color:#00bceb
      }
      .form{
        width: 300px;
        margin: 50px auto;
      }
</style>

Как же добавить в форму нужную ссылку? Тут я вспомнил про javascript, теперь наша форма выглядит так:

<form method="post">
    <button class="my" onclick="window.open('https://librebook.me/the_mysterious_island');">
        Образец экспериментальной ссылки
    </button>
</form>

Как только пользователь кликнет по кнопке формы, замаскированной под ссылку, сработает форма с методом post, команда onclick выполнится и откроется новая вкладка по требуемому адресу. Задача условно решена. Однако, если таких ссылок много на странице, для каждой писать форму?

Воспользуемся PHP. Пусть у нас имеется массив ссылок, например:

$mass = [
   'Таинственный остров' => 'https://www.litmir.me/bd/?b=265607',
   'Три дня Индиго' => 'https://www.litres.ru/sergey-lukyanenko/tri-dnya-indigo/',
   'Зеленая Миля' => 'https://librebook.me/the_green_mile',
   'Герой должен быть один' => 'https://librebook.me/geroi_doljen_byt_odin',
   'Затерянный мир' => 'https://librebook.me/zateriannyi_mir_doil_artur_ignatius_konan',
];

Добавим простейшим способом все формы на страницу:

foreach($mass as $k => $v) {
   echo '<br><form method="post"><button class="my" onclick="window.open(\''. $v .'\');">'. $k .'</button></form>';
}

Здесь нужно очень внимательно следить за расстановкой одинарных и двойных кавычек, чтобы не было ошибки.

Для одной страницы задача решена, а если страниц много? Проще всего создать функцию и ее вызывать с нужными параметрами:

function s_link(string $name, string $link) {
   $res = '<br><form method="post"><button class="my" onclick="window.open(\''. $link .'\');">'. $name .'</button></form>';
   return $res;
}

$res = s_link('Yandex','https://ya.ru');
echo $res;

Чтобы еще больше упростить жизнь, если подобных ссылок очень много, можно сделать выборку всех статей из базы данных в тех разделах сайта, где требуется сделать замену ссылки на форму. Затем посмотреть вхождение конкретной ссылки в статью и поставить на нее место форму отправки данных. В этом случае придется учитывать особенности «движка» вашего сайта, количество статей и ссылок. Например, обработку данных лучше делать поэтапно: берем сто статей, производим необходимую работу, следующий массив из ста статей. Подобные скрипты запускаются обычно вечером, когда с контентом сайта никто не работает.

Теперь посмотрим, как браузер реагирует на простую ссылку: видим появление сообщения в левом нижнем углу с адресом ссылки.

После помещения ссылки в форму, браузер ее уже не замечает.


Есть небольшой недостаток внешнего вида "ссылки" у данного способа: сам тег <form> является блочным, то есть занимает всю строку. Если попытаться вставить подобные элементы в предложение, то все формы уходят на новую строку и текст становится с разрывами. Это явление лучше учитывать.

Код на гитхабе для ленивых

Уважаемые читатели! Какими методами сокрытия ссылок веб-страниц вы пользуетесь?

Источник: https://habr.com/ru/post/667016/


Интересные статьи

Интересные статьи

Суть закона подлости известна всем: если есть хоть малейшая вероятность того, что вас могут понять неправильно, то вас обязательно поймут неправильно. Это относится и к созданию сайтов. Например, зака...
Микроконтроллеры, например, те, что работают на базе RP2040 от Raspberry Pi, отлично подходят для любых проектов по созданию роботизированных устройств. Один из лучших вариантов — C...
В августе 2019 года было опубликовано исследование ныне уже несуществующего поставщика данных о посещениях Jumpshot, демонстрирующее, что 50,33% всех поисковых запросов Google заверша...
Дизайн — работа творческая, поэтому не всегда результат работы можно предугадать и не всегда он может нас устроить. Поэтому главное, составить грамотное и понятное ТЗ. Интернет изменяется букв...
Приветствую! Хотел бы обсудить, наверное, одну из самых важных тем. А давайте представим ближайшее будущее, где воплощены наиболее правдоподобные заголовки статей и миссий стартапов о чипир...