Вопрос или проблема
Мой виджет социальных значков в подвале включает атрибут nofollow в ссылках на мои страницы в социальных сетях. Я не могу найти опцию, чтобы отключить это. Как я могу удалить этот атрибут либо с помощью настройки, либо с помощью кода в functions.php?
Начиная с версии 6.1.1, я обнаружил, что это можно сделать, отключив опцию открытия каждой социальной ссылки в новой вкладке. Можно предположить, что это изменится в будущем обновлении WP.
Вам действительно нужно поместить это в внешний файл и правильно подключить его в подвале вашего сайта с помощью стандартных методов подключения WordPress, либо в вашей пользовательской теме, либо в пользовательском плагине, что вы можете исследовать, но для быстрого тестирования вы можете вставить это в самом низу подвала вашей темы.
Код должен удалить значение nofollow
, сохраняя все остальное в атрибуте rel
, учитывая, что поскольку они будут открываться в новой вкладке/окне, они должны сохранять noopener
и/или noreferrer
для избежания проблем с безопасностью:
<script>
var links = document.querySelectorAll(".social-links a[rel='nofollow']");
links.forEach(function(link) {
var relAttr = link.getAttribute("rel");
var newRelAttr = relAttr.replace("nofollow ", "").replace("nofollow", "");
link.setAttribute("rel", newRelAttr);
});
</script>
Также обратите внимание, что вам нужно будет изменить класс .social-links
на имя класса блока социальных ссылок WordPress.
Как примечание, Джон Мюллер из Google недавно подсказал, что вы должны использовать rel="me"
для ссылок на социальные профили, несмотря на другие источники, утверждающие, что это устарело много лет назад, так что может быть стоит поставить это в замене выше вместо пустой строки.
Ответ или решение
Чтобы удалить атрибут nofollow
из ссылок на ваши социальные сети в футере, вы можете воспользоваться следующим решением, которое сочетает в себе как настройку, так и код.
Шаг 1: Проверка настроек
Возможно, вы можете отключить атрибут nofollow
, изменив настройки вашего виджета социальных иконок. Если в вашей версии WordPress (например, версии 6.1.1) отключение возможности открытия ссылок в новой вкладке убирает nofollow
, попробуйте изменить эту настройку. Однако помните, что такие изменения могут быть изменены в будущих обновлениях WordPress, поэтому будьте внимательны и следите за изменениями.
Шаг 2: Использование JavaScript для автоматического удаления nofollow
Если отключение открытия ссылок в новой вкладке не является вариантом, вы можете использовать следующий JavaScript-код для удаления атрибута nofollow
из ссылок:
<script>
var links = document.querySelectorAll(".social-links a[rel='nofollow']");
links.forEach(function(link) {
var relAttr = link.getAttribute("rel");
var newRelAttr = relAttr.replace("nofollow ", "").replace("nofollow", "").trim();
link.setAttribute("rel", newRelAttr);
});
</script>
Шаг 3: Внедрение кода
Лучше всего добавить этот код в файл footer вашего сайта. Однако, для правильной работы и соответствия стандартам WordPress, рекомендуется поместить его в отдельный файл и подключить его с помощью метода enqueue в вашем собственном теме или плагине. Это обеспечит соблюдение стандартов и лучшую управляемость вашего кода.
Если вы хотите быстро протестировать код, вы можете вставить его в самом низу вашего файла footer (обычно файл footer.php
вашей темы). Не забудьте поменять класс .social-links
на актуальный класс вашего блока социальных ссылок.
Шаг 4: Дополнительные рекомендации
Обратите внимание на безопасность: поскольку ссылки будут открываться в новой вкладке, вам стоит оставить атрибуты noopener
и/или noreferrer
, чтобы избежать возможных проблем с безопасностью.
Также имейте в виду недавние советы Джона Мюллера из Google, который предложил использовать rel="me"
для ссылок на профили в социальных сетях. Вы можете рассмотреть возможность замены nofollow
на me
в коде, если это уместно:
var newRelAttr = relAttr.replace("nofollow ", "").replace("nofollow", "").trim() + ' me';
Заключение
В результате следуя этим шагам, вы сможете убрать атрибут nofollow
из ссылок на социальные сети в нижнем колонтитуле вашего сайта. Если у вас возникнут дополнительные проблемы или вопросы, пожалуйста, не стесняйтесь обращаться за помощью.