Привіт, друзі. Давно я вас не радував новими постами, тут справи, робота, стартапи, ну, ви розумієте. Зате сьогодні буде більш ніж корисний і практичний пост про те, як закрити будь-яке посилання від індексації, зовнішню або внутрішню, не важливо, важливо, що вона не буде забирати і передавати вагу.

Не я перший і не я останній, хто експериментує з приховуванням посилань. Багато експериментів вже було, в тому числі багато неуспішних. А наш успішний 🙂 Інакше б я і не поділився з вами результатами!

Відразу хочу висловити свою подяку всім форумчанам, хто брав участь в експерименті, а особливо Паші Білоусов, ви його знаєте по ніку Пафнутій. Паша запропонував початковий варіант, я його трохи модифікував, так чи інакше, всі варіанти я викладу в пості, ви виберете потрібний. Так, заходьте в гості на Пашин блог і підписуйтесь на нього Тві йому буде приємно.

Отже, що нам знадобиться для заборони індексації посилань – підключена бібліотека jQuery (Паша каже, що потрібна версія 1.7+), HTML5 (але можна і без цього обійтися) і зовсім базові знання html і css. Коротше, все простіше простого.

Відповідна тема на форумі та обговорення — http://talk.alaev.info/topic/132/
Історія експерименту і корисна інформація — http://talk.alaev.info/topic/136/
Не соромтеся приєднуватися на форумі, в нас там періодично виникають дуже цікаві теми.

Принцип роботи методу гранично простий – при кліку на певний елемент (в нашому випадку нібито посилання) відбувається відкриття вікна, тобто те ж саме, що і при кліці на звичайну посилання. Важливо вказати, що закривається від індексації тільки посилання, її анкор буде чудово індексуватися як звичайний текст.
Отже…

Способи заборони індексації посилань

Наведу кілька варіантів, а ви вибирайте, який вам до душі.
Всі способи робітники, принципової разници між ними немає ніякої.

Варіант №1 — перший запропонований Пашею спосіб на HTML5

Код посилання на сторінці:

<a href=“#” class=“link” data-link=“http://goo.gl”>зовнішня посилання</a>

зовнішня посилання

Скрипт, який буде обробляти посилання і відкривати її:

<script>$(‘a.link’).click(function(){window.open($(this).data(“link”));return false;});</script>

$(‘a.link’).click(function(){window.open($(this).data(“link”));return false;});

У цьому варіанті вам не треба буде проводити ніяких додаткових доробок стилів css, наша посилання буде виглядати, як і всі інші «нормальні» посилання.

Варіант №2 — Альтернативний варіант від Паші без використання HTML5

Код посилання на сторінці:

<a href=“#” class=“link” rel=“http://goo.gl”>зовнішня посилання</a>

зовнішня посилання

Скрипт, який буде обробляти посилання і відкривати її:

<script>$(‘a.link’).click(function(){window.open($(this).attr(“rel”));return false;});</script>

$(‘a.link’).click(function(){window.open($(this).attr(“rel”));return false;});

Варіант №3 — Мій варіант без використання структури

Код посилання на сторінці:

<span class=“hidden-link” data-link=“http://goo.gl”>зовнішня посилання</span>

зовнішня посилання

Скрипт, який буде обробляти посилання і відкривати її:

<script>$(‘.hidden-link’).click(function(){window.open($(this).data(‘link’));return false;});</script>

$(‘.hidden-link’).click(function(){window.open($(this).data(‘link’));return false;});

Мій варіант 100% не викликає жодних підозр у пошукача, так як навіть структурно в коді немає посилання, а просто шматок тексту (він же анкор) виділено спаном , що досить часто використовується при розмітці документів.

Однак і відображатися така «посилання» буде як звичайний текст на сторінці. Доведеться пошаманити з css, щоб імітувати посилання. Наприклад, додати в свій css:

span.hidden-link {
color: #00ff00; /*-колір посилання-*/
text-decoration: underline; /*-підкреслення-*/
cursor: pointer; /*-покажчик у вигляді пальця-*/
}

span.hidden-link {
color: #00ff00; /*-колір посилання-*/
text-decoration: underline; /*-підкреслення-*/
cursor: pointer; /*-покажчик у вигляді пальця-*/
}

UPD 13 листопада 2012

Варіант №4 — Ще один варіант приховування посилання (від Діми Dimox)

Код посилання на сторінку (такий же як і в моєму варіанті):

<span class=“hidden-link” data-link=“http://goo.gl”>зовнішня посилання</span>

зовнішня посилання

Скрипт, який буде обробляти посилання і відкривати її:

<script>$(‘.hidden-link’).replaceWith(function(){return+$(this).text()+;})</script>

$(‘.hidden-link’).replaceWith(function(){return”+$(this).text()+”;})

Відмінність цього способу від мого в тому, що php-скрипт змінює на сторінці html-код «нібито» посилання на нормальну посилання після повного завантаження документа. Тому ніяких правок у css вносити не доведеться, а посилання буде відкриватися як і звичайна.
Спосіб так само пройшов перевірку експериментом — посилання не індексується і не бачиться пошуковими роботами і, соответстенно, не враховується.

UPD 18 грудня 2012

Варіант №5 — Універсальний варіант приховування будь-якого контенту, наприклад, картинок

Варіант був запропонований мені поштою одним з читачів, автором блогу www.seorubl.ru:

Натрапив на ваш пост, почав розбиратися і зіткнувся з проблемою того, що запропонований варіант Дімою Dimox, не працює в тому випадку, якщо в анкорі посилання варто картинка. А такі варіанти досить часто зустрічаються: лічильники, інформери, партнерські банери. Тому пропоную використовувати замість методу .text () метод .html (), він буде більш універсальним.

Код елемента, у даному випадку посилання на сторінці, буде такою:

<span class=“hidden-link” data-link=“http://goo.gl”>зовнішня посилання</span>

зовнішня посилання

* — Щоб закрити картинку, в коді, зазначеному вище, необхідно замінити «зовнішнє посилання» на код .

Скрипт, який буде обробляти посилання або будь-який інший елемент:

<script>$(‘.hidden-link’).replaceWith(function(){return+$(this).html()+;})</script>

$(‘.hidden-link’).replaceWith(function(){return”+$(this).html()+”;})

Як ви розумієте, відмінність цього способу від всіх інших у тому, що скрипт можна «заховати» не тільки посилання, але і картинку з посиланням або ще що-небудь. Все перевірено — все працює 🙂

NB: Тут в коментарях підказали ще більш універсальний варіант, при використанні якого на виході отримаємо картинку і посилання і тайтл заслання — #comment-13685.

UPD 6 грудня 2018

Варіант №6 — Новомодний Post-Redirect-Get спосіб

Варіант був запропонований мені в коментарі користувачем DrMax, автором однойменного блогу:

Алаич, привіт! Тривалий час (роки) відправляв на цю сторінку всіх спраглих просвітлення в плані закриття посилань скриптами від індексації.
Хочу запропонувати ще один спосіб, щоправда не скриптами, але дає 100% гарантію, що посилання не буде проіндексована.
Це новомодний Post-Redirect-Get спосіб, коли ми підсовуємо відвідувачу замість посилання кнопку від форми (привівши її за допомогою CSS до виду звичайної посилання) і відправляємо POST запит на сервер, отримуємо звідти сторінку для редиректа і виконуємо GET запит для оновлення інформації.

Повна технічна інформація з прикладами реалізації ось тут: http://drmax.su/prg-pattern-links.html.

Сподіваюся це буде хорошим доповненням до цієї прекрасної і потрібній сторінці. 😉

Залишаю тут лише посилання на пост з докладним описом Post-Redirect-Get методу, тому що процитувати його сюди не представляється можливим.

Як користуватися і живий приклад неиндексируемых посилань

Коротко про те, як користуватися всім цим господарством для закриття зовнішніх або внутрішніх посилань. «Код посилання на сторінці» — це треба вставляти в тексті, як і звичайну посилання «Скрипт» — цю конструкцію можна просто додати в кінці тексту на сторінці, або ще краще відразу додати в шапку сайту … , там, де й інші наші скрипти підключаються. Якщо раптом щось не працює, то спробуйте конструкцію зі скриптом підключити в кінці сторінки, перед закриваючим .

Тепер для наочності вставлю всі три варіанти, описаних вище, щоб ви могли їх перевірити, що все працює.

Варіант №1, посилання – зовнішнє посилання

Варіант №2, посилання – зовнішнє посилання

Варіант №3, посилання – зовнішнє посилання (посилання виглядає як текст, т. к. я не прописував стилі)

Варіант №4, посилання – зовнішнє посилання

Протикали і переконалися, що посилання працюють? Відмінно.

А що думають про це пошуковики?

Напевно вас цікавить, що ж думають пошуковики про все це насправді, зрозуміло, я покажу зараз.

По-перше, варто сказати, що ми вибрали з хлопцями піддослідний сайт, без жодного посилання на нього дивилися в панелі вебмастера). За даними на сьогоднішній день (з моменту початку експерименту пройшло вже більше 20 днів) нових посилань не з’явилося.

Сайти донори, на сторінках яких ставилися «закриті» посилання, мали наскрізну посилання, тобто посилання була на всіх сторінках і проиндексировалась в наступний же апдейт. Це можна було легко перевірити, зробивши пошук по анкору.

Я ж зі свого блогу поставив лише одне посилання з одного з постів зі своїм унікальним анкором. Поглянемо на результати!

Запит по унікальному анкору в Яндексі не дав жодних результатів, крім мого ж блогу, що свідчить про те, що наша «посилання» проиндексировалась:

Аналогічний запит в Google показує нам точно таку ж картину:

Тепер про те, що б було, якщо експеримент провалився. Очікувано було б побачити «Знайдений за посиланням».

Ось приклад для Яндекса, де я взяв звичайну посилання з того ж посту, де було посилання-експеримент і отримав наступну картину:

Аналогічно і для Google:

Сподіваюся, це звучить і виглядає переконливо, погоджуєтеся, друзі?

Тепер і ви знаєте, як на 100% успішно можна закрити посилання від індексації досить простим способом.

Що найважливіше, цей спосіб відмінно масштабується на весь сайт, наприклад, той же DLE взяти, можна в скрипті, який закриває у витоків зовнішні посилання змайструвати таку конструкцію, і ви позбудетеся від посилань повністю. Прикладів, куди це застосувати, можна знайти цілу купу, тут тільки ваша фантазія!

UPD 23.05.2014 Не дивлячись на заяви Google про те, що роботи навчилися краще розуміти і застосовувати CSS і виконувати JavaScript — Understanding web pages better — наші способи закриття посилань працюють чудово! Для цього експериментальні сторінки були завантажені в панель вебмастера Google і відправлені роботу на обробку, а після чого перевірено. Як мовиться, «Все чисто», span на сторінках видно, але посилання в ньому немає! Користуйтеся на здоров’я!

Удачі в просуванні і оптимізації, друзі!

З повагою, Олександр Алаєв