Часто у вебмайстрів та оптимізаторів постає питання: як захистити унікальний текстовий контент від копіювання? Говорити про те, чи варто його захищати взагалі в цій статті, ми не будемо, а розберемо лише деякі із способів захисту.
Варіантів захисту (заборони) текстів від копіювання насправді не багато, і найпопулярніший з них - це заборона копіювання за допомогою скрипта, що забороняє праву кнопку миші або набір клавіш Ctrl+C. До мінусів цього скрипту можна віднести те, що часто самі користувачі для тих чи інших цілей потребують копіювання частини тексту (не для копіпасту на своїх сайтах, а скажемо для нотаток, диплома, для письма тощо) і неможливість це зробити часом дуже дратує. Що ж до досвідченого вебмайстра або контент менеджера, то йому не складе особливих труднощів натиснути Ctrl+U, і з вихідного коду скопіювати потрібний йому текст.
Я не прихильник такого методу, але якщо він вас влаштовує - ось скрипт заборони правої кнопки миші:
<script type="text/javascript">
var message="Правая кнопка мыши отключена!";
function click(e) {
if (document.all) { // IE
if (event.button == 2) { // Чтобы отключить левую кнопку поставьте цифру 1
alert(message); // чтобы отключить среднюю кнопку поставьте цифру 1
return false;}
}
if (document.layers) { // NC
if (e.which == 3) {
alert(message);
return false;}
}
}
if (document.layers)
{document.captureEvents(Event.MOUSEDOWN);}
document.onmousedown=click;
document.oncontextmenu=function(e){return false};
</script>
Я пропоную використовувати альтернативний варіант, який не завдаватиме особливих незручностей звичайним користувачам, і може навіть принести користь для SEO.
Наведений нижче Javascript, на відміну від попереднього, не забороняє копіювати текст, а при копіюванні вставляє приховане посилання на першоджерело. Звичайно, найімовірніше досвідчений копіпастер помітить її в коді, але все ж таки частина таких посилань можуть залишитися на зовнішніх сайтах принісши на ваш сайт заповітні зворотні посилання.
От власне сам скрипт дозволяє вставляти приховане посилання на сайт першоджерело:
<script type="text/javascript">
//<![CDATA[
function addLink() {
var body_element = document.getElementsByTagName('body')[0];
var selection = window.getSelection();
var pagelink = "<p>Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a></p>";
var copytext = selection + pagelink;
var newdiv = document.createElement('div');
newdiv.style.position = 'absolute';
newdiv.style.left = '-99999px';
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
window.setTimeout( function() {
body_element.removeChild(newdiv);
}, 0);
}
document.oncopy = addLink;
//]]>
</script>
Вставте цей Javascript у файл шаблону вашого сайту (кожний CMS має свій) перед закриваючим тегом </body>. За замовчуванням цей скрипт вставлятиме безанкорне посилання:
Джерело: http//адреса сайту/адреса сторінки, з якої копіюють текст
Раджу не змінювати цей вид, тому що безанкорне посилання виглядає природніше і ризики отримати фільтр від пошукових систем зводиться до мінімуму, але все ж таки якщо хочете поміняти - то "пиляйте" цю ділянку коду:
var pagelink = "<p>Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a></p>";
де другий "+document.location.href" між тегами <a></a> можете замінити на потрібний вам анкор.
- 307 переглядів