Привет! Иногда бывает, что искать и править все шаблоны (особенно в Битриксе) — это очень долго, а добавить rel=»nofollow» к ссылкам на определённый домен нужно срочно. Я столкнулся с такой задачей и решил её простым скриптом, который нашел на vc.ru
Если мне нужно добавить rel=»nofollow» ко всем ссылкам на, например, site.com, я использую такой код:
<script>
var links = document.querySelectorAll('a[href^="https://site.com"]');
links.forEach(function(link) {
link.setAttribute('rel', 'nofollow');
});
</script>
А если доменов несколько, можете делать так:
<script>
document.addEventListener("DOMContentLoaded", function() {
var domainList = ['site1.com', 'site2.com', 'site3.com'];
var links = document.querySelectorAll('a');
links.forEach(function(link) {
domainList.forEach(function(domain) {
if(link.href.includes(domain)) {
link.setAttribute('rel', 'nofollow');
}
});
});
});
</script>
Удобнее всего вставлять этот скрипт в footer сайта.
Дополнение
Если у ссылки уже есть атрибут rel со значением «nofollow», то второй раз его добавлять не нужно. Вот обновлённый вариант скрипта, который это учитывает:
<script>
document.addEventListener("DOMContentLoaded", function() {
var domainList = ['site1.com', 'site2.com', 'google.com']; // список доменов
var links = document.querySelectorAll('a'); // все ссылки на странице
links.forEach(function(link) {
domainList.forEach(function(domain) {
if(link.href.includes(domain) && !link.rel.includes('nofollow')) {
link.rel += 'nofollow'; // добавляем rel, если его ещё нет
}
});
});
});
</script>
Этот способ реально экономит время, когда нужно быстро проставить nofollow для определённых ссылок!