В настоящее время сайты — один из главных компонентов успешного бизнеса. Они используются для рекламы, предоставления информации о продуктах и услугах, онлайн-продажи товаров. Однако с развитием технологий появляются и новые угрозы: например, парсинг и скрапинг, в процессе которых роботы копируют информацию с чужих веб-ресурсов. При парсинге извлекаются данные из открытых источников, однако затем они могут использоваться и для добросовестных целей (индексации), и для злонамеренных: таких, как кража контента. В связи с этим защита от парсинга является важной задачей для любого веб-мастера. О том, какие существуют методы защиты сайта от парсинга текстов и изображений, рассказываем в статье.
Что такое парсинг простыми словами
Под парсингом понимается сбор информации с веб-сайта посредством специальных программ (парсеров). Парсер читает код страницы и извлекает данные, соответствующие заданным в его настройках параметрам: например, текст, изображения, ссылки или любой другой контент, вплоть до структуры ресурса и элементов дизайна. Целью парсинга является автоматизация копирования и обработки больших объемов неструктурированных сведений. Программы не только собирают данные, но могут также систематизировать их по таблицам, создавая удобную базу, или сразу наполнять ими веб-страницы других ресурсов.
Информация, собранная в процессе парсинга, часто используется для анализа конкурентов, исследования рынка, проверки цен на продукцию. Однако чаще с сайтов парсят контент, который впоследствии выдают за свой. Это приводит к нарушению прав на интеллектуальную собственность, серьезным финансовым потерям (например, когда чужой магазин с вашими уникальными товарными описаниями переманивает клиентов) и ухудшению поисковой оптимизации. Защита от парсинга сайта — важный шаг для обеспечения безопасности вашего веб-ресурса и его эффективного продвижения в интернете.
Полностью защитить себя от копирования невозможно, поскольку все радикальные меры, которые стопроцентно будут действовать на ботов, также затронут и пользователей, и краулеры поисковиков, а без них любой сайт будет лишен смысла. Ниже мы рассмотрим несколько способов защиты, которые позволят вам уберечь текстовый и графический контент от примитивных инструментов парсинга.
Как защитить сайт от кражи текстов
Как мы уже сказали, полностью защититься от парсинга текстов нельзя, но стоит предпринять хотя бы минимальные меры по обеспечению их безопасности. Зачем это нужно? Текстовые материалы составляют основу поискового продвижения: по ним системы поиска определяют релевантность страниц, их пользу для посетителей. С помощью текстов люди понимают, что за ресурс перед ними, какие товары и услуги предлагает компания, насколько она компетентна в тех или иных вопросах. Как видите, речь идет не только о статьях, но и об описаниях в каталогах, информации в разделе «О нас», отзывах клиентов и т. п. Все это легко парсится с сайта, поскольку размещено в открытую. Если ваши уникальные тексты украдут и добавят на другой веб-ресурс, велика вероятность, что при его индексировании ваш сайт просядет в позициях из-за дублированного контента.
Устранять подобные проблемы гораздо дольше и сложнее, чем заранее озаботиться защитой от копирования. Мы опишем четыре технических решения, которые помогут обезопасить тексты хотя бы на базовом уровне.
Запрет на выделение текста
Чтобы скопировать определенный фрагмент текста со страницы, его нужно выделить — запретите это действие, и тогда неопытные копипастеры не смогут спарсить данные вручную. Установить запрет можно с помощью стилей CSS. Например, можно добавить в код страницы следующие строки:
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none; user-select: none;
}
Вы можете внедрить подобный CSS-код самостоятельно или обратиться к специалистам, ответственным за работу вашего сайта. Этот способ очень прост в реализации, но обладает малой эффективностью, поскольку автоматические программы-парсеры сканируют HTML-код веб-страниц, а не их «пользовательскую» версию. Если данные извлекаются напрямую из кода, запрет выделения работать не будет. Еще один минус в том, что об этом знают и люди, систематически ворующие контент. Они также могут легко залезть в код и скопировать текст оттуда.
В общем, как защита от парсинга это сомнительное решение, но в некоторых случаях действительно поможет отвадить плагиаторов. Главное, понимать, что запрет будет распространяться и на обычных пользователей. Внедряйте этот способ, только если он не скажется на лояльности вашей аудитории.
Запрет на копирование в буфер обмена
Другой способ защиты от кражи текстов — это выключить функцию добавления в буфер обмена. Так называется временное хранилище, куда помещается информация при командах «Вырезать» и «Копировать». Если вы запретите использование этого буфера, ручное копирование текстовых материалов с веб-страницы будет невозможно. То есть человек сможет выделить слова, дать нужную команду, но самого действия не произойдет: буфер обмена останется чист, и извлекать оттуда будет нечего.
Для установки такого запрета потребуется использовать JavaScript. Внедрите в код страницы следующий скрипт:
document.addEventListener('copy', function(e) {
e.preventDefault();
});
Если вы не разбираетесь в языке JS, лучше доверить работу разработчикам/администраторам вашего сайта. Лишние скрипты могут нарушить исполнение основного кода, поэтому рисковать понапрасну не стоит. Тем более, что в качестве противодействия парсингу этот метод не эффективнее, чем предыдущий. От ручного копирования неумелыми руками поможет, но программного парсинга избежать не получится.
Добавление ссылки при копировании текста
Данный метод не защитит контент от кражи, но поможет усложнить жизнь копипастерам и, возможно, даже улучшить SEO вашего сайта. Его суть заключается в том, что вы не запрещаете выделять и копировать слова, но привязываете к скопированному фрагменту ссылку, ведущую на вашу страницу. То есть в буфер обмена помещается дополнительный текст с указанием оригинального источника, и когда человек вставляет его куда-либо, туда же автоматически вставляется ссылка — обычно посреди или после выделенного текста.
Реализуется такая защита через JavaScript-код. Например, можно использовать такую конструкцию:
document.addEventListener('copy', function(e) {
var selectedText = window.getSelection().toString();
var textWithLink = selectedText + ' (Источник: example.com)';
e.clipboardData.setData('text/plain', textWithLink);
e.preventDefault();
});
Где «(Источник: example.com)» — это текст и ссылка, которые вы хотите добавить в буфер обмена копирующего. В результате плагиатору придется либо вычищать каждый скопированный текст, либо оставлять ссылки и тем самым увеличивать ссылочную массу вашего ресурса, либо найти для копипаста другую жертву. Это также действенно против парсинга примитивными ботами, которые заполняют украденным контентом другие площадки, где качество информации никто не проверяет.
Использование скрипта автозамены символов
Еще один способ защиты от ручного парсинга текстов состоит в подключении специального JS-скрипта, который автоматически меняет символы в скопированном тексте, чтобы на выходе получалась нечитабельная бессмыслица. Здесь потребуются чуть более глубокие знания в программировании, поэтому рекомендуем использовать прием только при их наличии. Вот пример кода, который можно применить для автозамены знаков:
function replaceCharacters(event) {
event.preventDefault();
var selection = window.getSelection().toString();
var replacedText = selection.replace(/a/g, '@').replace(/e/g, '3').replace(/i/g, '1').replace(/o/g, '0');
event.clipboardData.setData('text/plain', replacedText);
}
document.addEventListener('copy', replaceCharacters);
Такой скрипт будет заменять букву «а» на «@», «е» — на тройку, «i» — на единицу, и «о» — на ноль. Копипастеру придется повозиться, чтобы все исправить, поэтому он с большей вероятностью обратиться к другому источнику и оставит ваш сайт. А если парсить будет бот, который отправляет данные на автозаполняемые ресурсы, уникальность вашего контента также останется в безопасности.
Как защитить сайт от копирования изображений
Графический контент также представляет большой интерес для парсеров и любителей плагиата. К сожалению, «картинки в интернете» очень часто не воспринимаются людьми, как объекты авторского права, их постоянно копируют и распространяют по разным площадкам, не упоминая источники. Многие даже не понимают, что тем самым нарушают закон. Однако гоняться за каждым таким копипастером и грозить судом всем подряд неэффективно и слишком затратно. Лучше сразу обеспечить защиту от парсинга изображений: сделать их копирование проблематичным или принудительно добавлять информацию об авторстве. Это поможет защитить иллюстрации, фотографии товаров и другую оригинальную графику, присутствующую на вашем сайте.
Водяные знаки
Одним из наиболее распространенных и эффективных методов защиты изображений являются водяные знаки или вотермарки. Это текст или логотип, который накладывается поверх фотографии с целью защитить ее авторство. Обычно вотермарки делают полупрозрачными, чтобы они не сильно отвлекали пользователя от самого контента, но при этом были заметны и легко распознавались. В идеале такой знак нужно размещать на видном месте, но без нарушения основной композиции и так, чтобы его нельзя было обрезать или закрасить.
В данном случае, каким бы образом изображение не было спарсено (вручную или автоматически), убрать упоминание автора будет сложно. То есть от самого парсинга вы контент не убережете, но украсть у вас авторство уже не получится: при необходимости вы сможете легко доказать, что изображение было скопировано, и ваш сайт является первоисточником.
Добавление вотермарок — несложный процесс, но нужно уметь пользоваться фоторедакторами вроде Photoshop. Если проект работает на CMS, то можно установить специальные плагины, которые будут автоматически создавать водяные знаки на всех ваших картинках.
Отключение функции сохранения картинок
Этот метод уже технический и защищает от парсинга в том смысле, что делает копирование и скачивание картинок привычными способами невозможным. Достичь такого результата можно с помощью скриптa JavaScript, который запрещает вызов контекстного меню:
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
Благодаря этому коду, когда человек будет кликать правой кнопкой мыши по странице или изображению, он не сможет вызвать меню с командами. Это исключит и обычное действие «Скопировать» (именно через ПКМ, но не сочетание клавиш), и «Сохранить изображение как…». Отключение контекстного меню — вполне рабочая защита от плагиаторов, хотя закрыть сайт от парсеров это не поможет. А если человек умеет выключать исполнение скриптов в браузере, то и ручной скрапинг будет возможен. Вопрос только в том, захочет ли потенциальный воришка возиться с вашим сайтом или предпочтет менее защищенный ресурс.
Фиксирование авторства через метаданные
Фотографии, сделанные при помощи современного цифрового оборудования, обладают дополнительной информацией, которая «вшивается» в них в момент съемки. Например, снимки в вашем смартфоне могут рассказать о том, когда, где, на какую камеру, с каким разрешением и настройками объектива они были сняты. То же самое и с любыми другими цифровыми изображениями. Такие метаданные могут помочь вам с защитой от кражи авторства: добавьте в них информацию об авторе с помощью компьютерной программы, и она будет копироваться так же, как и остальные данные, вместе с картинкой. Это не спасет от парсинга, но по крайней мере позволит доказать, что именно ваш сайт был первоисточником. Полезная возможность при разбирательствах с копипастерами и хороший аргумент для жалобы на плагиат в поисковые системы.
Дополнительные методы защиты
Кроме вышеперечисленных, существуют и другие способы, которые используются для защиты сайта от парсинга и кражи контента. К примеру, вы можете:
- Внедрить капчу, т. е. проверять, является ли посетитель человеком или роботом. Для этого можно подключить специальный сервис (например, reCAPTCHA) или написать тест самостоятельно (понадобятся навыки программирования). Делайте проверку всех пользователей или только тех, что ведут себя подозрительно: нажимают в одну и ту же точку на кнопке, посылают слишком много запросов или чересчур быстро для человека и пр.
- Блокировать доступ к сайту для определенных IP-адресов. Это хорошее противодействие парсерам, но нужно быть уверенным, что с конкретного адреса приходят лишь боты. Иначе есть риск заблокировать реального посетителя.
- Брендировать контент, делать его более персонализированным, чаще упоминать название компании или сайта. Это позволит сделать информацию не подлежащей копированию.
- Попросить людей не копировать данные, напомнить об авторском праве и предупредить о возможных последствиях плагиата.
- Подключить сторонние антипарсинговые сервисы или заказать соответствующую услугу у своего хостинг-провайдера, если он предоставляет такую возможность.
Заключение
Защищать сайт от парсинга необходимо, чтобы усложнить кражу интеллектуальной собственности и сохранить ценность и уникальность контента. В статье мы рассмотрели стандартные методы, которые помогут уберечь графические и текстовые материалы от недобросовестного копирования.