Как добавить ссылку на источник с сохранением форматирования
Приветствую вас, коллеги. Как Вы знаете, в интернете существует проблема воровства (или так называемого заимствования) контента. Эта проблема появилась давно, и единственным 100%-ным способом борьбы с воровством – просто не вести блог.
Это, конечно, крайний метод, и он нам вряд ли подойдет.
Буквально вчера решила поставить на один из сайтов систему (скрипт или плагин), которая при копировании материала вставляет ссылку на источник.
Конечно, в большинстве случаев такую ссылку удалят, но если для копирования статей используется парсер, скорее всего, обратную ссылку никто удалять не будет, и она принесет пользу Вашему проекту.
При поисках решения на большинстве сайтов встретила скрип защиты от копирования, который вставляется в function.php или header.php темы WordPress.
Например, этот блокирует выделение текста при нажатии правой кнопкой мыши (вставьте его в шапку сайта перед закрывающимся тегом </head> (это скрипт любезно предоставил Дневник Сеошника).
<SCRIPT LANGUAGE="JavaScript"> function preventSelection(element){ var preventSelection = false; function addHandler(element, event, handler){ if (element.attachEvent) element.attachEvent('on' + event, handler); else if (element.addEventListener) element.addEventListener(event, handler, false); } function removeSelection(){ if (window.getSelection) { window.getSelection().removeAllRanges(); } else if (document.selection && document.selection.clear) document.selection.clear(); } function killCtrlA(event){ var event = event || window.event; var sender = event.target || event.srcElement; if (sender.tagName.match(/INPUT|TEXTAREA/i)) return; var key = event.keyCode || event.which; if (event.ctrlKey && key == 'A'.charCodeAt(0)) { removeSelection(); if (event.preventDefault) event.preventDefault(); else event.returnValue = false; } } addHandler(element, 'mousemove', function(){ if(preventSelection) removeSelection(); }); addHandler(element, 'mousedown', function(event){ var event = event || window.event; var sender = event.target || event.srcElement; preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i); }); addHandler(element, 'mouseup', function(){ if (preventSelection) removeSelection(); preventSelection = false; }); addHandler(element, 'keydown', killCtrlA); addHandler(element, 'keyup', killCtrlA); } preventSelection(document); document.ondragstart = test; document.onselectstart = test; document.oncontextmenu = test; function test() { return false } </SCRIPT>
Этот скрипт нужно добавить в подвал сайта перед закрывающим тегом body (это скрипт любезно предоставил Блог Евгения Москаленко). Он защищает от машинного копирования текстов путем добавления ссылки на источник.
<script> document.oncopy = function () { var bodyElement = document.body; var selection = getSelection(); var href = document.location.href; var copyright = "<br><br> Источник: <a href='"+ href +"'>" + href + "</a><br>© Блог на WordPress"; var text = selection + copyright; var divElement = document.createElement('div'); divElement.style.position = 'absolute'; divElement.style.left = '-99999px'; divElement.innerHTML = text; bodyElement.appendChild(divElement); selection.selectAllChildren(divElement); setTimeout(function() { bodyElement.removeChild(divElement); }, 0); }; </script>
Если будете использовать этот скрипт, замените копирайт © Блог на WordPress на свой.
Почему эти, казалось бы, простые решение мне не подошли? Дело в том, что при копировании текста с сайта и последующей вставке его в текстовый редактор (например, Word), не сохраняется форматирование материала. Весь текст вставляется сплошным полотном.
Возможно, для некоторых проектов такой минус будет несущественным. Но речь идет о сайте, на котором размещены бесплатные образцы должностных инструкций, которые пользователи копируют к себе на компьютер, и потом редактируют под свои нужды. Сохранение форматирования текста при копировании в данном случае принципиально.
Решение было найдено. Это плагин CopyLink. Его можно скачать и установить с диппозитория Wordpress. Настроек у плагина практически нет.
Вот что написано об этом плагине у разработчиков.
Преимущества для пользователя:
- Помогает пользователям найти оригинальный источник информации
- Упрощает процесс размещения ссылок на источник для блоггеров, ссылающихся на ваш материал
- Улучшает качество ссылок в сети
- Помогает индексации сайта поисковыми системами и служит улучшению видимости качественного контента
- Размещение ссылок не является обязательным условием для конечного пользователя
Преимущества веб-мастеров:
- Контроль над копированием контента
- Предотвращения дублирования контента
- Помощь в продвижении вашего контента и сайта в сети
- Получение ценного и релевантного трафика
- Получение естественных ссылок и улучшение SEO-оптимизации
Особенности плагина CopyLink
Можно присвоить ссылке любой префикс (например, «Источник:») прямо на странице настроек плагина. CopyLink также может отслеживать дополнительную информацию:
- IP-адрес
- дата копирования
- браузер пользователя
- ссылка на скопированный материал
Эта информация может храниться в базе данных для дальнейшего использования. Автоматически сгенерированные ссылки не являются принудительным и могут быть удалены конечным пользователем, если он решил не ставить ссылку.
При вставке скопированного текста в простой текстовый редактор (например, блокнот), ссылка на источник не будет активной.
Ссылка для скачивания плагина CopyLink: http://wordpress.org/extend/plugins/copy-link/
К сожалению, данный плагин более двух лет не обновлялся, тем не менее, работает с WordPress 4.8.