Посоветуйте скрипт добавления nofollow к внешним ссылкам - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.2486
BTC/USD69180.2727
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 22.02.2020, 01:47   #1
Aglomerat
Шо бля?
 
Аватар для Aglomerat
 
Регистрация: 26.09.2012
Сообщений: 176
Бабло: $59485
По умолчанию Посоветуйте скрипт добавления nofollow к внешним ссылкам

Привет баблорубы, сабж.
Есть сайт на несколько 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])==)
             return 
1;
          return 
0;
       }
       for (var 
i=0i<tags.lengthi++)
       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> 
Aglomerat вне форума  
Старый 22.02.2020, 07:02   #2
Igor333
Юниор
 
Регистрация: 18.01.2018
Сообщений: 3
Бабло: $1790
По умолчанию

Как минимум нужен html страницы, чтобы видеть куда применять js

и зачем это делать через js? не проще сразу в html шаблоне выставить nofollow?
да и зачем вообще nofollow ставить?
Igor333 вне форума  
Старый 22.02.2020, 11:57   #3
Sultan
Шучу на половину
 
Аватар для Sultan
 
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
По умолчанию

Цитата:
Сообщение от Aglomerat Посмотреть сообщение
Привет баблорубы, сабж.
Есть сайт на несколько 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])==)
             return 
1;
          return 
0;
       }
       for (var 
i=0i<tags.lengthi++)
       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> 
на лету в браузере это использовать бессмысленно)) ботам похер
в переменной var wlist = у тебя строки при вхождении которых, подстановок не делается..
такой ноиндекс всего навсего комментарии, если надо закрыть индексацию части от яндекса то правильно <noindex>..</noindex>

Цитата:
Сообщение от Igor333 Посмотреть сообщение
Как минимум нужен html страницы, чтобы видеть куда применять js

и зачем это делать через js? не проще сразу в html шаблоне выставить nofollow?
да и зачем вообще nofollow ставить?
))это какой то идиотский скрипт, походу тс угорает. делается в чистом html, боты этот скрипт не учтут. nofollow командует боту, не передавать вес ссылке.
Sultan вне форума  
Старый 22.02.2020, 12:15   #4
Aglomerat
Шо бля?
 
Аватар для Aglomerat
 
Регистрация: 26.09.2012
Сообщений: 176
Бабло: $59485
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Igor333 Посмотреть сообщение
Как минимум нужен html страницы, чтобы видеть куда применять js
блок внешние ссылок с картинками
PHP код:
<section>      
<
div class="bary-r">     
<
a href="http://doc.externallink.com/catelog/catalog/page.html#buy" target="_blank">          
<
img class="bary-img" src="https://s.cdn.com/scr/00000/00000-en_01.jpg" alt=""/>     </a>     
<
img class="bary-img" src="https://s.cdn.com/scr/00000/00000-en_02.jpg" alt=""/>      
<
img class="bary-img" src="https://s.cdn.com/scr/00000/00000-en_03.jpg" alt=""/>     
<
a href="https://www.externallink.com/pge.php" target="_blank">         
<
img class="bary-img" src="https://s.cdn.com/scr/00000/00000-en_04.jpg" alt=""/>     </a>     
<
img class="bary-img" src="https://s.cdn.com/scr/00000/00000-en_05.jpg" alt=""/>     
<
img class="bary-img" src="https://s.cdn.com/scr/00000/00000-en_06.jpg" alt=""/>     
<
a href="https://externallink/page/page/" target="_blank">         
<
img class="bary-img" src="https://s.cdn.com/scr/00000/00000-en_07.jpg" alt=""/>      </a
</
div
текстовый блок с внешними ссылками
PHP код:
<div  style="padding:20px"><p style="text-indent:20px;">текст</p>
<
p><a href="https://www.exterlanlink.com/page.html" target="_blank">текст</p>
<
p><a href="https://www.exterlanlink.com/catalog/page.html" target="_blank">текст</p>
<
p><a href="https://www.exterlanlink.com/page.php"  target="_blank">текст</p>
</
div>
</
section
Цитата:
Сообщение от Igor333 Посмотреть сообщение
и зачем это делать через js? не проще сразу в html шаблоне выставить nofollow?
А как это делать на автомате? в принципе js или на php похер.
Нужно на всех существующих страницах и новых ко всем внешним ссылками добавить nofollow.
Добавить сразу в шаблон не проще, контент (картинки и текст) тянется от партнерки и я не контролирую ничего на их стороне. На одной странице есть картинки текст, на доругой могут быть только картинки.
Aglomerat вне форума  
Старый 22.02.2020, 12:19   #5
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,877
Бабло: $1862895
По умолчанию

Цитата:
Сообщение от Aglomerat Посмотреть сообщение
А как это делать на автомате? в принципе js или на php похер.
Нужно на всех существующих страницах и новых ко всем внешним ссылками добавить nofollow.
Добавить сразу в шаблон не проще, контент (картинки и текст) тянется от партнерки и я не контролирую ничего на их стороне. На одной странице есть картинки текст, на доругой могут быть только картинки.
а тебе не нужны картинки и текст, чтобы выставить nofollow, нужен пхп-код
в нём и надо делать изменения.
веломан вне форума  
Старый 22.02.2020, 12:20   #6
Aglomerat
Шо бля?
 
Аватар для Aglomerat
 
Регистрация: 26.09.2012
Сообщений: 176
Бабло: $59485
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Sultan Посмотреть сообщение
Цитата:
Сообщение от Aglomerat Посмотреть сообщение
Привет баблорубы, сабж.
Есть сайт на несколько 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])==)
             return 
1;
          return 
0;
       }
       for (var 
i=0i<tags.lengthi++)
       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> 
на лету в браузере это использовать бессмысленно)) ботам похер
в переменной var wlist = у тебя строки при вхождении которых, подстановок не делается..
такой ноиндекс всего навсего комментарии, если надо закрыть индексацию части от яндекса то правильно <noindex>..</noindex>

Цитата:
Сообщение от Igor333 Посмотреть сообщение
Как минимум нужен html страницы, чтобы видеть куда применять js

и зачем это делать через js? не проще сразу в html шаблоне выставить nofollow?
да и зачем вообще nofollow ставить?
))это какой то идиотский скрипт, походу тс угорает. делается в чистом html, боты этот скрипт не учтут. nofollow командует боту, не передавать вес ссылке.
Скрипт не мой)) я ж написал не особо шарю.
Контент тянется от партнерки и его нельзя полностью заркыть. Это нужно больше для гугла)
Aglomerat вне форума  
Старый 22.02.2020, 12:24   #7
Sultan
Шучу на половину
 
Аватар для Sultan
 
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
По умолчанию

Aglomerat, )) вот тебе нужен специально обученный человек который вставит нужную регулярку при выводе этих блоков в нужное место, так сложно гадать, что за комбайн у тебя если опишешь предметно может помогут понимающие..
а если у тебя статика то надо 1) сделать массовую замену 2) в дальнейшем на этапе генерации этих партнерских блоков регулировать
Sultan вне форума  
Старый 22.02.2020, 12:28   #8
Aglomerat
Шо бля?
 
Аватар для Aglomerat
 
Регистрация: 26.09.2012
Сообщений: 176
Бабло: $59485
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Sultan Посмотреть сообщение
Aglomerat, )) вот тебе нужен специально обученный человек который вставит нужную регулярку при выводе этих блоков в нужное место, так сложно гадать..
а если у тебя статика то надо 1) сделать массовую замену 2) в дальнейшем на этапе генерации этих партнерских блоков регулировать
да левые скрипты тут не помогут наверное.
пошел искать, специально обученного)
Aglomerat вне форума  
Старый 22.02.2020, 12:32   #9
Igor333
Юниор
 
Регистрация: 18.01.2018
Сообщений: 3
Бабло: $1790
По умолчанию

nofollow командует боту, не передавать вес ссылке

это неверное утверждение, как и то, что js не учитывается
гугл например учитывает nofollow выставленный в js
nofollow - не запрещает передавать вес, при этом теге вес также распределяется по всем ссылкам
nofollow - говорит боту (я не уверен в этом источнике и не ручаюсь за него), вес утекает с сайта, но не приходит на другой сайт

Последний раз редактировалось Igor333; 22.02.2020 в 12:38.
Igor333 вне форума  
Старый 22.02.2020, 12:42   #10
digg
$400
 
Аватар для digg
 
Регистрация: 17.05.2009
Сообщений: 14,034
Бабло: $1904260
Отправить сообщение для digg с помощью ICQ
По умолчанию

на php просто

$html = str_replace('<a href="', '<a rel="nofollow" href="', $html);

где $html это весь хтмл код страницы
digg вне форума