|
| Дата |
|
USD/RUB | 90.2486 | BTC/USD | 69180.2727 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
22.02.2020, 01:47
|
#1
|
Шо бля?
Регистрация: 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])==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, 07:02
|
#2
|
Юниор
Регистрация: 18.01.2018
Сообщений: 3
Бабло: $1790
|
Как минимум нужен html страницы, чтобы видеть куда применять js
и зачем это делать через js? не проще сразу в html шаблоне выставить nofollow?
да и зачем вообще nofollow ставить?
|
|
|
22.02.2020, 11:57
|
#3
|
Шучу на половину
Регистрация: 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])==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>
|
на лету в браузере это использовать бессмысленно)) ботам похер
в переменной var wlist = у тебя строки при вхождении которых, подстановок не делается..
такой ноиндекс всего навсего комментарии, если надо закрыть индексацию части от яндекса то правильно <noindex>..</noindex>
Цитата:
Сообщение от Igor333
Как минимум нужен html страницы, чтобы видеть куда применять js
и зачем это делать через js? не проще сразу в html шаблоне выставить nofollow?
да и зачем вообще nofollow ставить?
|
))это какой то идиотский скрипт, походу тс угорает. делается в чистом html, боты этот скрипт не учтут. nofollow командует боту, не передавать вес ссылке.
|
|
|
22.02.2020, 12:15
|
#4
|
Шо бля?
Регистрация: 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.
Добавить сразу в шаблон не проще, контент (картинки и текст) тянется от партнерки и я не контролирую ничего на их стороне. На одной странице есть картинки текст, на доругой могут быть только картинки.
|
|
|
22.02.2020, 12:19
|
#5
|
сыроед
Регистрация: 01.10.2015
Сообщений: 15,877
Бабло: $1862895
|
Цитата:
Сообщение от Aglomerat
А как это делать на автомате? в принципе js или на php похер.
Нужно на всех существующих страницах и новых ко всем внешним ссылками добавить nofollow.
Добавить сразу в шаблон не проще, контент (картинки и текст) тянется от партнерки и я не контролирую ничего на их стороне. На одной странице есть картинки текст, на доругой могут быть только картинки.
|
а тебе не нужны картинки и текст, чтобы выставить nofollow, нужен пхп-код
в нём и надо делать изменения.
|
|
|
22.02.2020, 12:20
|
#6
|
Шо бля?
Регистрация: 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])==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>
|
на лету в браузере это использовать бессмысленно)) ботам похер
в переменной var wlist = у тебя строки при вхождении которых, подстановок не делается..
такой ноиндекс всего навсего комментарии, если надо закрыть индексацию части от яндекса то правильно <noindex>..</noindex>
Цитата:
Сообщение от Igor333
Как минимум нужен html страницы, чтобы видеть куда применять js
и зачем это делать через js? не проще сразу в html шаблоне выставить nofollow?
да и зачем вообще nofollow ставить?
|
))это какой то идиотский скрипт, походу тс угорает. делается в чистом html, боты этот скрипт не учтут. nofollow командует боту, не передавать вес ссылке.
|
Скрипт не мой)) я ж написал не особо шарю.
Контент тянется от партнерки и его нельзя полностью заркыть. Это нужно больше для гугла)
|
|
|
22.02.2020, 12:24
|
#7
|
Шучу на половину
Регистрация: 23.01.2011
Сообщений: 5,834
Бабло: $1167860
|
Aglomerat, )) вот тебе нужен специально обученный человек который вставит нужную регулярку при выводе этих блоков в нужное место, так сложно гадать, что за комбайн у тебя если опишешь предметно может помогут понимающие..
а если у тебя статика то надо 1) сделать массовую замену 2) в дальнейшем на этапе генерации этих партнерских блоков регулировать
|
|
|
22.02.2020, 12:28
|
#8
|
Шо бля?
Регистрация: 26.09.2012
Сообщений: 176
Бабло: $59485
ТС -->
|
ТС
Цитата:
Сообщение от Sultan
Aglomerat, )) вот тебе нужен специально обученный человек который вставит нужную регулярку при выводе этих блоков в нужное место, так сложно гадать..
а если у тебя статика то надо 1) сделать массовую замену 2) в дальнейшем на этапе генерации этих партнерских блоков регулировать
|
да левые скрипты тут не помогут наверное.
пошел искать, специально обученного)
|
|
|
22.02.2020, 12:32
|
#9
|
Юниор
Регистрация: 18.01.2018
Сообщений: 3
Бабло: $1790
|
nofollow командует боту, не передавать вес ссылке
это неверное утверждение, как и то, что js не учитывается
гугл например учитывает nofollow выставленный в js
nofollow - не запрещает передавать вес, при этом теге вес также распределяется по всем ссылкам
nofollow - говорит боту (я не уверен в этом источнике и не ручаюсь за него), вес утекает с сайта, но не приходит на другой сайт
Последний раз редактировалось Igor333; 22.02.2020 в 12:38.
|
|
|
22.02.2020, 12:42
|
#10
|
$400
Регистрация: 17.05.2009
Сообщений: 14,034
Бабло: $1904260
|
на php просто
$html = str_replace('<a href="', '<a rel="nofollow" href="', $html);
где $html это весь хтмл код страницы
|
|
|
|