Как защитить контент на WordPress: без ущерба юзабилити? JavaScript-решение
Задумывались ли вы когда-нибудь о том, как защитить контент вашего сайта на WordPress от несанкционированного копирования? Под контентом я подразумеваю именно текстовые материалы.
Сразу хочу отметить, что добиться 100% защиты контента от копирования практически невозможно. Любые ограничения, которые вы установите на своем сайте, можно обойти. Например, просто открыв исходный код страницы комбинацией клавиш «Ctrl+U» и скопировав нужную информацию оттуда. Однако есть несколько причин, почему стоит все же задуматься о защите:
- Хотя обход защиты и возможен, это требует дополнительных усилий.
- Не все пользователи знают, как обойти такую защиту.
- Наличие защиты показывает, что вы следите за своим контентом и потенциально можете отследить его незаконное использование.
Таким образом, меры по защите контента на WordPress — это скорее предупреждение для недобросовестных пользователей и барьер для простого копирования.
Зачем что-либо запрещать пользователю, когда можно произвести подмену контента в буфере обмена?
Это решение не ограничивает функциональность сайта для пользователей (например, не отключает правую кнопку мыши), что несомненно позитивно сказывается на вовлеченности пользователя и, соответственно, на конверсии в дальнейшем.
Вот как это работает:
Добавьте следующий код JavaScript в файл header.php вашей дочерней темы перед закрывающим тегом (или используйте плагин для добавления сниппетов):
<script type="text/javascript">
function addCustomText() {
var selection = window.getSelection();
if (selection.rangeCount > 0) {
var range = selection.getRangeAt(0);
var selectedText = range.toString();
// Проверяем, является ли выделенный текст ссылкой
if (range.startContainer.nodeType === Node.TEXT_NODE &&
range.startContainer.parentNode.tagName === 'A') {
return; // Если это ссылка, не изменяем копируемый текст
}
// Ваш заранее заданный текст
var customText = "Этот текст будет вставлен вместо скопированного содержимого. " +
"Источник: " + document.location.href;
var clipboardData = event.clipboardData || window.clipboardData;
clipboardData.setData('text/plain', customText);
event.preventDefault();
}
}
document.addEventListener('copy', addCustomText);
</script>
Этот скрипт выполняет следующие действия:
- При попытке копирования текста запускается функция addCustomText.
- Проверяется, является ли выделенный текст частью ссылки. Если да, копирование происходит без изменений.
- Если выделенный текст не является ссылкой, он заменяется на заданный вами текст.
- В customText добавляется URL текущей страницы.
Я протестировал это решение на своих проектах и получил приятный фидбэк от клиентов. Даже внедрил его на своем личном блоге.
Этот метод позволяет защитить контент, не ухудшая при этом пользовательский опыт на сайте. Он может стать эффективным инструментом в борьбе с необдуманным копированием вашего уникального контента.
Хотите защитить свой сайт не только от копирования контента, но и от ботов? Узнайте больше о моих услугах или пишите в мессенджеры.