Подписулька

Как добавить rel nofollow ко всем внешним ссылкам на сайте

Как добавить rel nofollow ко всем внешним ссылкам на сайте

Привет! Иногда бывает, что искать и править все шаблоны (особенно в Битриксе) — это очень долго, а добавить 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 для определённых ссылок!

Comments
Join the Discussion and Share Your Opinion
Add a Comment

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *