- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
видимо хорошо вы инфу на сайте собрали, раз люди так стараются.
все же очень хотелось накормить бы его леваком)
У меня на сайте в базе более 5000 страниц с информацией об изделиях.
Еще и боты официальные всякие лезут (не вредоносные которые) и много запрашивают страниц, но от них я избавился:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(Custom-AsyncHttpClient|ZoominfoBot|SurdotlyBot|AwarioBot|Go-http-client|ias_crawler|IABot|Amazonbot|AmazonAdBot|HeadlessChrome|GPTBot|ChatGLM-Spider|MJ12bot|OAI-SearchBot|SeznamBot|CriteoBot|ias-ie|ias-jp|ias-or|ias-va|AhrefsBot|BLEXBot|SemrushBot|DotBot).*$ [NC]
RewriteRule .* - [F,L]
Еще и вот этих в брандмауэре пришлось забанить сразу диапазонами, ибо тоже с них лезли и качали чуть ли не весь сайт, создавая нагрузку на процессор:
34.*.*.* - Google Cloud
35.*.*.* - Google Cloud
132.145.*.* - Oracle Public Cloud
140.238.*.* - Oracle Public Cloud
152.67.*.* - Oracle Public Cloud
47.128.*.* - Amazon Data Services Singapore
47.129.*.* - Amazon Data Services Singapore
47.130.*.* - Amazon Data Services Singapore
47.131.*.* - Amazon Data Services Singapore
47.235.*.* - Alibaba Cloud
47.236.*.* - Alibaba Cloud
47.237.*.* - Alibaba Cloud
47.238.*.* - Alibaba Cloud
47.239.*.* - Alibaba Cloud
47.240.*.* - Alibaba Cloud
47.241.*.* - Alibaba Cloud
47.242.*.* - Alibaba Cloud
47.243.*.* - Alibaba Cloud
47.244.*.* - Alibaba Cloud
47.245.*.* - Alibaba Cloud
47.246.*.* - Alibaba Cloud
Вы не сказали прямые ли это заходы, по логу сервера посмотрите.
Как бы сделал я:
1. установить клауд.
2. Написать WAF правила, которые блочат ASN сети - разными сервисами можно узнать, тем же клаудом пропустить через него и посмотреть кто ходит (логи клауда, ASN страна протокол, страница и тд).
3. Блокировка тех стран, откуда нет тарфика ну или обязательную капчу.
4. Сделать допустим вообще капчу на прямые заходы (если это прямой заход), исключив поисковики. Если прямой и HTTP 1 или 1.1 - то совместить. Чем больше данных для анализа, тем легче составить правило защиты.
А так да, есть помимо клауда - капча гугла и вообще много чего другого.
Вот такое коротенькое решение реализовал, если кому интересно:
global $post;
$IP = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$IP = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$IP = $_SERVER['HTTP_X_FORWARDED_FOR'];
};
$IP = preg_replace('/[^0-9a-zA-Z\.\:]/', '', $IP);
// инициализируем массив запросов
$requests = array();
// загружаем лог для IP в массив
$file_name = '/xxx/logs/IP/'.$IP.'.log';
$file_name_blocked = '/xxx/logs/IP/'.$IP.'.blocked';
if (@file_exists($file_name_blocked)) {
header("Location: /403.php");
die();
};
$result = @file_get_contents($file_name);
if ($result != FALSE) {
$lines = explode(PHP_EOL, $result);
$i = 0;
while ($i < (count($lines)-1)) {
$requests[] = array(
'date' => str_ireplace('DATE: ', '', $lines[$i]),
'URL' => str_ireplace('URL: ', '', $lines[$i+1]),
'postID' => str_ireplace('ID: ', '', $lines[$i+2]),
);
$i = $i+3;
};
};
// добавляем в массив новый запрос
$requests[] = array(
'date' => date('Y-m-d H:i:s'),
'URL' => $_SERVER['REQUEST_URI'],
'postID' => $post->ID,
);
// записываем массив в лог
$file = @fopen($file_name, 'w');
if ($file != FALSE) {
foreach($requests as $r)
@fwrite($file, 'DATE: '.$r['date'].PHP_EOL.'URL: '.$r['URL'].PHP_EOL.'ID: '.$r['postID'].PHP_EOL);
@fclose($file);
};
// Анализируем и блокируем
// Правило 1: обращение к advanced-search (ID=84889) три раза подряд с интервалом менее 5 секунд
for($i=0;$i<count($requests);$i++) {
$found = FALSE;
if ($i >= 2) {
if ($requests[$i-2]['postID'] == 84889 && $requests[$i-1]['postID'] == 84889 && $requests[$i]['postID'] == 84889)
$found = TRUE;
};
if ($found) {
$time1 = $requests[$i-2]['date'];
$time2 = $requests[$i-1]['date'];
$time3 = $requests[$i]['date'];
$diff_21 = strtotime($time2) - strtotime($time1);
$diff_32 = strtotime($time3) - strtotime($time2);
if ($diff_21 < 5 && $diff_32 < 5)
@rename($file_name, $file_name_blocked);
};
};
Вот такое коротенькое решение реализовал, если кому интересно:
Вот ещё идея: https://searchengines.guru/ru/forum/1082826/page2#comment_16932086