- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Периодически буду закидывать полезные функции и куски кода для SEO.
1. Фильтрация ботов.
На десяток сайтов прикрутил запись данных рефереров: кто, откуда, какой домен. На одном из ресурсов положил txt-файл с перечнем плохих ботов, которые создают значительную нагрузку на сервер, который периодически пополняется.
Сперва забираем перечень ботов, потом в цикле проверяем, есть ли совпадение. Если да, выводим сообщение и останавливаем генерацию страницы. Если файл по ссылке недоступен, вот его содержимое, вставляется именно так:
В инете можно найти куда большие списки, но здесь именно те, которые идут на сайты и перегружать список смысла не было.
Развивайте тему, думаю многим будет полезно
Периодически буду закидывать полезные функции и куски кода для SEO.
Для кого? Если для других, то с таким кодом как в первом скрипте - не нужно!
count внутри цикла... Да еще и с чужого сервера.
Кроме того для этой задачи лучшее решение это .htaccess
count внутри цикла...
Что не так?
Кроме того для этой задачи лучшее решение это .htaccess
Конкретно для этой задачи не лучшее. Написал же, использую для десятка сайтов сразу. Править в 10 .htaccess'ах или в одном перечне? (txt-файле)
Да еще и с чужого сервера.
Так положите на своём :)
count($bad) можно выполнить всего лишь 1 раз
.htaccess выполнит эту задачу намного быстрей.
А если сервер с файлом упадёт?
От парсеров данная конструкция не спасет, но может создать проблемы нормальным ботам и возникнет проблема с индексацией страниц 😕
count($bad) можно выполнить всего лишь 1 раз
Ок.
$bad=explode(',',$bad); // разбиваем по запятым, получаем массив слов
for ($i=0;$i<count($bad);$i++) { // циклом обращаемся к каждому слову по-очереди
if (substr_count($_SERVER['HTTP_USER_AGENT'],$bad[$i])>0) {echo 'Please leave my server forever and fuck yourself.';exit();} // проверяем вхождение слова из массива в строку, содержащую информацию о реферере. Если есть, стопорим.
}
Если же вы подразумеваете, что надо до запуска цикла переменной присвоить количество массива $bad, а потом уже эту переменную использовать в цикле, то аргументируйте, плиз, для моего просвещения.
Еще раз пишу, для 10 сайтов надо вносить правки в 10 файлов htaccess, а при данном подходе лишь в одном файле.
У меня VPS и все сайты лежат на одном сервере.
P.S.: с моего сервера не надо использовать, размещайте на своём.
---------- Добавлено 26.11.2018 в 19:13 ----------
От парсеров данная конструкция не спасет, но может создать проблемы нормальным ботам и возникнет проблема с индексацией страниц 😕
Не, цель именно нагрузку снизить. Ahrefs зашел и погнал тысячами новый сайт листить, а у меня там ~ 600k страниц, в итоге на других сайтах пошли тормоза. Или еще один, не помню какой конкретно, что-то из ссылочного, пошел сканировать с интервалом не более секунды, отсюда и текст до exit'a.
UPD: неправильно понял вашу реплику. Значит как это работает: рефереры логируются, потом я их просматриваю. Когда идут подряд запросы от одного типа бота, я ищу о нем информацию и решаю, блокировать ли. Нормальным ботам это создаст помехи, если внести их в black list.
Если же вы подразумеваете, что надо до запуска цикла переменной присвоить количество массива $bad, а потом уже эту переменную использовать в цикле, то аргументируйте, плиз, для моего просвещения.
Думаю, что речь о том, что сейчас количество слов вычисляется на каждой итерации.
Можно сделать это перед началом цикла один раз. Небольшая оптимизация. :)
Не используйте for там, где это не нужно. Есть foreach.
Тогда, наверное, можно и без foreach решить.
substr_count
Не надо там ничего считать. Достаточно substr().