введи текст русскими буквами
|
полученный текст транслитерации
|
Мной на сайт 0S3.RU, был поставлен ява скрипт транслитерации. Онлайн сервис транслитерации предназначен для замены русских букв латинскими. Привожу сам ява скрипт транслитерации (установил в отдельный модуль):
String.prototype.translit = (function () {
var L = {
'А': 'A', 'а': 'a', 'Б': 'B', 'б': 'b', 'В': 'V', 'в': 'v', 'Г': 'G', 'г': 'g',
'Д': 'D', 'д': 'd', 'Е': 'E', 'е': 'e', 'Ё': 'Yo', 'ё': 'yo', 'Ж': 'Zh', 'ж': 'zh',
'З': 'Z', 'з': 'z', 'И': 'I', 'и': 'i', 'Й': 'Y', 'й': 'y', 'К': 'K', 'к': 'k',
'Л': 'L', 'л': 'l', 'М': 'M', 'м': 'm', 'Н': 'N', 'н': 'n', 'О': 'O', 'о': 'o',
'П': 'P', 'п': 'p', 'Р': 'R', 'р': 'r', 'С': 'S', 'с': 's', 'Т': 'T', 'т': 't',
'У': 'U', 'у': 'u', 'Ф': 'F', 'ф': 'f', 'Х': 'Kh', 'х': 'kh', 'Ц': 'Ts', 'ц': 'ts',
'Ч': 'Ch', 'ч': 'ch', 'Ш': 'Sh', 'ш': 'sh', 'Щ': 'Sch', 'щ': 'sch', 'Ъ': '', 'ъ': '',
'Ы': 'Y', 'ы': 'y', 'Ь': "", 'ь': "", 'Э': 'E', 'э': 'e', 'Ю': 'Yu', 'ю': 'yu',
'Я': 'Ya', 'я': 'ya', ' ': '-', '_': '-',
'"': '', "'": '', '.': '', ',': '', '!': '', ':': '', ';': ''
},
r = '',
k;
for (k in L) r += k;
r = new RegExp('[' + r + ']', 'g');
k = function (a) {
return a in L ? L[a] : '';
};
return function () {
var text_string = this.replace(r, k).replace(' ', '-').toString();
var literals = 'QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm-0123456789';
var newString = '';
for (var i = 0; i < text_string.length; i++) {
if (!(literals.indexOf(text_string.charAt(i)) == -1)) {
newString += text_string.charAt(i);
};
};
return newString;
};
})();
А в сам текст был установлен следущий код:
<input id="Title" onkeyup="javascript:document.getElementById('UserKey').value = this.value.translit()" name="Title" value="" type="text" /> <input id="UserKey" name="UserKey" value="" type="text" />
Одним из важнейших вопросов поисковой оптимизации является вопрос как закрыть внешние ссылки от ПС (поисковые системы) и их роботов для исключения перетекания веса с страницы. Осознав это я озадачился вопросом как закрыть внешние ссылки на своем сайте 0S3.RU.
Полный ответ на вопрос «Как закрыть внешние ссылки?», с примерами (PHP, jQuery и AJAX, просто JavaScript, теги noindex и nofollow) и анализом экспериментов читаем в статье «Как закрыть внешние ссылки?».
Две недели, (а может и больше) рылся в Google по вопросу как закрыть внешние ссылки?. На основе найденного проводил эксперименты. Итак, что у нас получается.
тег <noindex> </noindex> - закрывает текст от индексации (по факту вес по ссылке утекает, не валидный тег) для валидности пишем <!--noindex-->
Пример как закрыть внешнею ссылку №1: <!--noindex--> <a href="http://0s3.ru/" title="обучающий ресурс разработки веб сайтов">обучающий ресурс разработки веб сайтов </a><!--/noindex-->
rel="nofollow" – поисковые системы его распознают, вес с страницы уходит, но не передается (вес уходит в некуда);
Пример как закрыть внешнею ссылку №2 (с двумя этими тегами): <!--noindex--> <a href="http://0s3.ru/" title="обучающий ресурс разработки веб сайтов" rel="nofollow">обучающий ресурс разработки веб сайтов </a><!--/noindex-->
тег target=_blank - не валидный тег, да и его работа не очень хороша (указываем пользователю открыть внешнею ссылку в новом окне браузера, несрабатывание кнопки назад); валидность возможно добится используя JavaScript, а пользователя все равно хочется оставить у себя на сайте;
Пример как закрыть внешнею ссылку №3 (с тремя этими тегами): <!--noindex--> <a href="http://0s3.ru/" target="_blank" title="обучающий ресурс разработки веб сайтов" rel="nofollow">обучающий ресурс разработки веб сайтов </a><!--/noindex-->;
валидность возможно добиться используя JavaScript;
Пример как закрыть внешнею ссылку №3(а) (с двумя тегами и JavaScript вместо target=_blank): <!--noindex--> <a href="http://0s3.ru/" onclick="return !window.open (this.href)" title="обучающий ресурс разработки веб сайтов" rel="nofollow">обучающий ресурс разработки веб сайтов </a><!--/noindex--> (при отключенном JavaScript у пользователя ссылка откроется но уже в том же окне, что и сайт);
Как закрыть внешние ссылки ими? Никак, но они вроде как прикрывают ссылки. Исходя из проведенными разными оптимизаторами экспериментов и поведением Google бота Пингвин таким способом стои закрывать ссылки на весьма авторитетные ресурсы Яндек Google или другие сайты с высокими пузомерками.
Вывод №1 Как закрыть внешние ссылки Ссылке на сайты с высокими показателями ТИЦ и PR стоит закрывать по схеме: <!--noindex--><a href="http://0s3.ru/" onclick="return !window.open(this.href)" title="обучающий ресурс разработки веб сайтов" rel="nofollow">обучающий ресурс разработки веб сайтов </a><!--/noindex-->. В конечном счете ПС зачтут эти ссылки, но их реакция будет положительна и вы только выиграете от этого.
Как закрыть внешние ссылки? с помощью jQuery и AJAX. На сайт ставится библиотека jQuery, в начале страницы устанавливается скрипт и сама ссылка указывается с помощью определенного кода;
Пример как закрыть внешнею ссылку №4:
Код ссылки на странице:
<a href="#" class="link" data-link ="http://0s3.ru/" title="обучающий ресурс разработки веб сайтов" >обучающий ресурс разработки веб сайтов </a>
Скрипт, который будет обрабатывать ссылку и открывать ее:
<script>$('a.link').click(function(){window.open($(this).data("link"));return false;});</script>;
Пример как закрыть внешнею ссылку №5:
Код ссылки на странице:
<span class="hidden-link" data-link="http://0s3.ru/" title="обучающий ресурс разработки веб сайтов" >обучающий ресурс разработки веб сайтов </span>
Скрипт, который будет обрабатывать ссылку и открывать ее:
<script> $ ('.hidden-link'). replaceWith(function() {return'<a href="'+$ (this) .data('link')+'" > ' +$ (this).text()+' </a> ';} ) </script>
Надеюсь не для кого не новость, что простой и не очень JavaScript – распознаются поисковыми роботами. Есть подтверждения, что document.write разобранный на части, с вызовом внутренней функции или вызова из внешнего файла, – распознаются поисковыми роботами, плюс некоторые пользователи отключают JavaScript. В подтверждение моих слов читайте сканирование AJAX от Google.
Рассмотрим вариант с PHP. Создается PHP (например 0s3.php) файл который загружаем в корень сайта или одну из папок и закрываем её в robots.txt а ссылка вызывается из него с помощью кода на странице :
Пример как закрыть внешнею ссылку №6:
Код ссылки на странице:
<a href="/ http: //http://0s3.ru//0s3.php? url=http://0s3.ru/" title="обучающий ресурс разработки веб сайтов" >обучающий ресурс разработки веб сайтов </a>;
Текст файла 0s3.php:
<?php
$url = $_REQUEST['url'];
if(preg_match('#(http?|ftp)://S+[^s.,>)];'"!?]#i',$url)){
sleep(0);
echo "<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="0;url=$url">
</head>
<body>
В данный момент Вы будете автоматически перенаправлены на необходимую страницу...<br></br>
В случае если ваш браузер не поддерживает пере направления, нажмите тут: <a href="/$url">$url</a>.
</body>
</html>";
}
?>
Сама идея превращения внешние ссылки во внутренние, причем на PHP файл кажется мне сомнительной. И вообще есть подозрение, что ПС при нахождении url подобного текста, конструкции <a> </a> или href и http начинают усиленно сканировать данный участок. По определенным алгоритмам находят ссылку или присылают специальных ботов (имитирующих пользователей или просто отличающихся умом и сообразительностью), а в нагрузку в одном из журналов сканирования ставят вашему сайту минус за дополнительные энергозатраты.
Вывод №2 Как закрыть внешние ссылки Ссылке на сайты закрывать всякими навороченными скриптами и РНР конструкциями не стоит (не сегодня так завтра ПС поймут что именно вы наворотили). Польза от этого сомнительна, а вот бан вполне реален.
Но если вы несмотря на вывод №2 хотите запрятать ссылки (неважно внутренние или внешние, или вообще какой то текст) делаем следующим образом (предупреждаю сразу процесс нудный, замороченный и для каждой ссылке его нужно повторять), в тексте создается кнопка и только при её нажатии динамически подгружается сама ссылка (ниже её пример):
Устанавливаем библиотеку jQuery, качаем её с официального сайта нажмите запросить.
Отмечаем сжатый вариант и нажимаем скачать в зависимости от браузера у вас начнется скачка файла или откроется файл (тогда копируем все, в блокноте создаем файл jquery.js и в него вставляем скопированное). В корне своего сайта (а лучше уже в закрытой папке в robots.txt) на хостинге (сервере) с помощью файлового менеджера создаем папку jquery. Открываем её и закачиваем туда файл jquery.js (в моем случаи скаченный напрямую файл jquery-1.8.2.min.js переименовываем в jquery.js и закачиваем). Пока смотрите robots.txt добавте в него запись Disallow: /jquery/.
Далее рассказ для Joomla 2.5.8. (для Wordpress редактируем файл header.php) Смотрим в админ панели (Расширения/Менеджер шаблонов) какой стоит шаблон (допустим JSN Vintage). Возвращаемся в файловый менеджер идем (открываем папку шаблона) по пути 0s3.ru(ваш сайт)/public_html/templates/jsn_vintage_free/ находим файл index.php скачиваем его себе на компьютер (кому удобнее редактировать не посредствено на сервере бога ради, я сам так делаю). Открываем его Notepad++ либо другим подобным редактором. Обычно в них есть поиск находим </head> (его легко найти визуально) и перед ним вставляем код:
<script type="text/javascript" src="/<?php echo $this->baseurl ;?>/jquery/jquery.js"></script>(<?php echo $this->baseurl ;?> указывает корень вашего сайта, а красным выделен путь к вашему файлу jquery.js, Вы пишите свой)
сохраняем файл и опять загружаем на место. Проверим правильность подключения библиотеке jQuery, открываем в админ панели Joomla! 2.5.8 Расширения/Менеджер модулей и создаем модуль с JavaScript с выводом на одну из проверочных страниц, а в него пишем код:
<script type="text/javascript"> jQuery(document).ready(function( ) {alert(" Привет! Мне нравится уроки на сайте 0S3.RU!"); });</script> в указной странице должно появиться следующая вкладка:
Если вкладка не появилась, перечитываем заново, ищем ошибку и устраняем. Теперь усложним код в index.php:
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
<script type="text/javascript" src="/<?php echo $this->baseurl ;?>/jquery/jquery.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
проверим появляется ли вкладка.
Все удачно, тогда идем дальше, теперь создаем сам файл с ссылкой или текстом который нужно скрыть, назовем его допустим windowjquery.txt (все с помощью Notepad++, если в тексте есть кириллица, открываем вкладку Кодировка/Кодировать в "UTF-8 без BOM") :
ссылка на сайт <!--noindex--> <a href="http://jquery.com/" onclick="return !window.open (this.href)" rel="nofollow">jQuery.com </a><!--/noindex-->;
(только не считайте меня параноиком) Данный файл сохраняем в директорию 0s3.ru(ваш сайт)/public_html/jquery/ (она уже закрыта в robots.txt, Disallow: /jquery/).
Создаем файл windowjquery.js в него пишем код для динамического подключения текста (кода) из файла windowjquery.txt:
jQuery(document).ready(function(){
jQuery("#but1").click(function(){
jQuery("#par1").load("http://0s3.ru//jquery/windowjquery.txt"); }) });
Загружаем его в папку /jquery/. Опять редактируем index.php, опять перед </head> вставляем скрипт:
<script type="text/javascript" src="/<?php echo $this->baseurl ;?>/jquery/windowjquery.js"></script>
На странице в нужном месте ставим код:
<input id="but1" type="button" value="Запросить" /><span id="par1"> нажмите запросить.<br /></span>
PS Давайте посмотрим на сложившуюся ситуацию с ссылками глазами ПС. Ссылки нужны поисковым роботам для хождения между сайтами, но они почти сплошняком стали закрываться тегами, открытыми остаются только платные, в топы вылазят сайты не с нужной пользователю информацией а с большим кошельком тупо потраченным на закупку ссылок. ПС в ответ начинают пробивать noindex и nofollow, но в целом понижают вес передаваемый ссылками. В общем думайте решать в конечном счете вам.