Невидимые ссылки JavaScript для поисковых систем
Иногда хочется разместить на странице ссылки, по которым посетители могут кликнуть, но по разным причинам не хочется представлять поисковику.
Чтобы, например, не допустить, чтобы слишком много ссылок на один и тот же сайт было принято за ферму ссылок и не нанесло ущерб сайту, на котором они содержатся.
JavaScript выглядит хорошим способом для этого, но Google теперь способна интерпретировать код JavaScript и находить в нем ссылки. Чтобы избежать этого, нужно использовать шифрование, даже если оно элементарное.
Потребуется три функции JavaScript.
Функции кодировки символов JavaScript
charCodeAt
Возвращает код UNICODE символа.
Пример:
var code = machaine.charCodeAt(5);
Присваивает переменной кодирует значение юникода пятого символа строки «machine».
fromCharCode
Возвращает символ, соответствующий коду UNICODE.
Пример:
var ch = String.fromCharCode(125);
location .replace (url)
Загружает другую страницу.
Этих функций будет достаточно для кодирования и расшифровки URL.
Кодировка URL-адреса
Этот сценарий добавляет 5 к каждому коду в данной строке. Он отображает новую закодированную строку в поле предупреждения, где можно скопировать ее, чтобы вставить в переменную.
function crypt()
{
var loc = document.getElementById("loc").value;
var nl = "";
for(var i = 0; i < loc.length; i++)
nl = nl + String.fromCharCode(loc.charCodeAt(i) + 5);
alert(nl);
}
Этот сценарий помещается на страницу, за исключением отображаемых для кодировки URL-адресов.
Расшифровка URL-адреса
Этот скрипт будет встроен в страницу, где находится ссылка:
function uncrypt(loc)
{
var nl = "";
for(var i = 0; i < loc.length; i++)
nl = nl + String.fromCharCode(loc.charCodeAt(i) - 5);
return nl;
}
Функция обеспечивает расшифровку и динамически возвращает простой URL.
Сама ссылка вставляется в страницу с таким кодом для изображения :
<img src="monimage.jpg" onClick="self.location=uncrypt(loc)" />
и для текстовой ссылки:
<p onClick="self.location=uncrypt(loc)" />Ancre</p>
Также можно использовать свойство:
location.replace(uncrypt(loc))
Но это отключает возврат на начальную страницу.
Показ
На этой демо ниже отображается код для URL-адреса, который вы даете...
Введите URL-адрес: