Защита текста от копирования на WordPress сайте значительно усложнит возможность воровства вашего контента, хотя на 100% обезопасить себя от этого просто невозможно.
Рассмотрим несколько способов, как можно защитить сайт на WordPress от копирования теста с помощью плагина, либо с помощью кода.
Защита контента с помощью плагина
Это самый простой и не требующий никаких навыков программирования способ. Просто скачиваете плагин и активируете.
Плагин BISArts Copy Protection "Защита сайта от копирования" отключает на сайте возможность выделять и копировать текст, а также отключает вызов правой кнопкой мыши просмотра кода страницы.
Плагин платный, но его стоимость чисто символическая.
Защита текста с помощью кода
Варианты прописать код есть разные, но мы рассмотрим самый простой, который не требует установки никаких дополнительных плагинов.
Весь код будем прописывать в файле functions.php, поэтому лучше всего использовать дочернюю тему, чтобы код не пропал после обновления.
function bis_copy_protection() { ?> <script type="text/javascript"> // Отключить выделение текста document.addEventListener('mousedown', function(e) { if (e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA') { e.preventDefault(); } }, false); // Отключить копирование document.addEventListener('copy', function(e) { e.preventDefault(); }, false); // Отключить вызов меню правой кнопкой мыши document.addEventListener('contextmenu', function(e) { e.preventDefault(); }, false); </script> <?php } add_action( 'wp_enqueue_scripts', 'bis_copy_protection' );
Так будет выглядеть код после вставки в файл.
Добавить ссылку на источник
Если вы не хотите запрещать копирование текста с вашего сайта, но хотите чтобы указывалось ваше авторство, то в этом поможет следующий код. При копировании текста с вашего сайта он автоматически добавит ссылку на ваш ресурс.
Код нужно разместить в файле functions.php
add_action( 'wp_enqueue_scripts', function () { if ( !current_user_can( 'manage_options' ) ) { $source_text = __( '<br><br>Источник: %link%' ); $source_text = str_replace('"', '\"', $source_text); echo '<script>'; echo 'document.oncopy = function () {'; echo 'var bodyElement = document.body;'; echo 'var selection = getSelection();'; echo 'var link_url = document.URL;'; echo 'var page_link = "' . $source_text . '";'; echo 'page_link = page_link.replace("%link%", " " + link_url + " ");'; echo 'var copy_text = selection + page_link;'; echo 'var divElement = document.createElement("div");'; echo 'divElement.style.position="absolute";'; echo 'divElement.style.left="-99999px";'; echo 'bodyElement.appendChild(divElement);'; echo 'divElement.innerHTML = copy_text;'; echo 'selection.selectAllChildren(divElement);'; echo 'window.setTimeout(function() {'; echo 'bodyElement.removeChild(divElement);'; echo '},0);'; echo '}'; echo '</script>'; } });