|
| Дата |
|
USD/RUB | 90.1887 | BTC/USD | 67999.1011 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
22.02.2020, 01:47
|
Start Post: Посоветуйте скрипт добавления nofollow к внешним ссылкам
|
Шо бля?
Регистрация: 26.09.2012
Сообщений: 176
Бабло: $59485
|
Привет баблорубы, сабж.
Есть сайт на несколько K страниц, на каждой странице есть внешние ссылки.
Нужно скриптом ко всем внешним ссылкам добавить nofollow.
Пробовал такое решение, но он херачет nofollow и к внутренним и noindex вокруг них
Не особо шарю в js, может посоветуете готовое решение?
PHP код:
<script>
var wlist = [
"javascript:",
"<strong>https://site.com/</strong>"
];
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
function LinksExt() {
var tags = document.all?document.all:document.getElementsByTagName("*");
function test(str) {
for (var url in wlist)
if( str.indexOf(wlist[url])==0 )
return 1;
return 0;
}
for (var i=0; i<tags.length; i++)
if( tags[i].nodeName == "A" ) {
var link = tags[i];
if ( link.href && !test(link.href) ) {
link.rel="nofollow";
link.outerHTML =
"<!--noindex-->" +
link.outerHTML +
"<!--/noindex-->";
}
}
}
addLoadEvent(LinksExt);
</script>
|
|
|
22.02.2020, 12:49
|
#12
|
Шо бля?
Регистрация: 26.09.2012
Сообщений: 176
Бабло: $59485
ТС -->
|
ТС
Цитата:
Сообщение от digg
на php просто
$html = str_replace('<a href="', '<a rel="nofollow" href="', $html);
где $html это весь хтмл код страницы
|
так это закроет и внутренние ссылки!
|
|
|
22.02.2020, 12:49
|
#13
|
Шучу на половину
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
|
Цитата:
Сообщение от Igor333
nofollow командует боту, не передавать вес ссылке
это неверное утверждение, как и то, что js не учитывается
гугл например учитывает nofollow выставленный в js
nofollow - не запрещает передавать вес, при этом теге вес также распределяется по всем ссылкам
nofollow - говорит боту (я не уверен в этом источнике и не ручаюсь за него), вес утекает с сайта, но не приходит на другой сайт
|
давай не будешь ляля
бот не воспримет js в нужном в данном случае ключе
nofollow сегодня и всегда не дает делиться мастеру весом/авторитетом/соком с реципиентом, ставится он только с этой цель..
было введено как пометка мастерами различного рода тухлых(спамных) ссылок, как продолжение сейчас есть еще 2 аналогичных тега https://webmasters.googleblog.com/20...-identify.html
|
|
|
22.02.2020, 12:50
|
#14
|
$400
Регистрация: 17.05.2009
Сообщений: 14,031
Бабло: $1903940
|
Цитата:
Сообщение от Aglomerat
Цитата:
Сообщение от digg
на php просто
$html = str_replace('<a href="', '<a rel="nofollow" href="', $html);
где $html это весь хтмл код страницы
|
так это закроет и внутренние ссылки!
|
тогда
$html = str_replace('<a href="http', '<a rel="nofollow" href="http', $html);
|
|
|
22.02.2020, 14:18
|
#15
|
Senior Member
Регистрация: 03.10.2010
Сообщений: 1,712
Бабло: $296955
|
Цитата:
Сообщение от Igor333
nofollow - говорит боту (я не уверен в этом источнике и не ручаюсь за него), вес утекает с сайта, но не приходит на другой сайт
|
вес ушел с А, не пришел на Б. А куда же он девается тогда? )) Просто минусуется такой у страницы А?
|
|
|
22.02.2020, 17:12
|
#16
|
Шучу на половину
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
|
погуглил для спортивного интереса, нигде нет норм пруфов такой практики (сам скрипт этот нашел но я в него не верю)..
метатеги можно так динамически пихать но я бы отказался от такого использования, если только по другому нельзя и сайт заскриптован
ps как вариант было бы сделать подстановку nofollow
+ редирект скрипт (redirect.php?url=https://www.exterlanlink.com/)
+ скрипт запретить директивой в robots.txt
+ на этот же скрипт можно допилить аналитику, гугл метками например
digg, а если внутряки не относительные а абсолютные
Последний раз редактировалось Sultan; 22.02.2020 в 17:18.
|
|
|
22.02.2020, 17:52
|
#17
|
hustle
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
|
Если это wordpress то есть плагины.
Если нет то нужно велосипед делать, что там за движок у тебя не понятно.
Ещё есть вариант применять изменения в базу данных, если она есть. Если только html то скриптом проходить по файлам с поиском и заменой.
Последний раз редактировалось Hector; 22.02.2020 в 17:57.
|
|
|
22.02.2020, 18:11
|
#18
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Цитата:
Сообщение от Sultan
digg, а если внутряки не относительные а абсолютные
|
то можно что то такое
PHP код:
<?php
define('DOMAIN',"https://ya.ru");
$html = <<<HTML
<a href="https://ya.ru/">ya.ru</a>
<a href="https://yandex.ru/">ya.ru</a>
<a style="pointer:cursor;" href="https://yat.ru/">ya.ru</a>
some text
HTML;
$line = preg_replace_callback(
'#<a.*?(href=[\'"].*?[\'"]).*?>#',
function ($matches) {
if(strpos($matches[1],DOMAIN)===false){
return str_replace($matches[1],'rel="nofollow" '.$matches[1],$matches[0]);
}else{
return $matches[0];
}
},
$html
);
echo $line;
__________________
|
|
|
22.02.2020, 18:20
|
#19
|
Шучу на половину
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
|
incognito, хвалю, уже надежнее)
а str_replace принципиально используете?
почему не preg_.. тоже гуглятся примеры
ps кстати, с 1 марта будет расколбас, согласно тому посту с гугл блога, как понимаю они начнут использовать описательную часть ссылок (анкор/околоссылочный текст) в ранжировании
Последний раз редактировалось Sultan; 22.02.2020 в 18:34.
|
|
|
22.02.2020, 18:28
|
#20
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Sultan, с preg_replace просто не дружу
__________________
|
|
|
22.02.2020, 18:39
|
#21
|
Шучу на половину
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
|
|
|
|
|