• Как организовать защиту от парсинга сайта?

    Написал довольно много различных парсеров и автоматизаций веб разной сложности, и могу сказать, что единственный вариант - это не публиковать информацию вообще. Думаю следующее поможет отбить желание парсить сайт или как минимум повысит стоимость разработки\поддержки парсера:
    1. Система мониторинга поведения пользователя (движение мышки, координаты нажатия на кнопки и т.п.) для того чтобы вычислять ботов.
    2. Не использовать Id и name или другие атрибуты, по которым можно вычислить контент.
    3. Обфусцировать СSS и делать имена классов динамическими.
    4. Динамически добавлять различный мусор в разметку.
    5. Использовать веб-фреймворк, и не светить методы наружу.
    6. Использовать капчу, от разных вендоров и с динамически генерируемым url, причём загружать её так, чтобы её нельзя было вытащить из кэша браузера (от перехвата запроса это не спасёт, но жизнь автоматизаторам подпортит).
    7. Переодически менять вёрстку.

    Загружать контент через Ajax я бы не рекомендовал: перехватить реквест от браузера не такая уж большая проблема, зато сразу сужается область поиска контента.
    Ответ написан
    Комментировать
  • Где хром сохраняет информацию о редиректах?

    bitver
    @bitver
    Во вкладке Network есть чекбокс Preserve log.
    Нажмите и будет вам
    Ответ написан
    Комментировать
  • Как уменьшить скорость загрузки сайта - time-to-first-byte?

    MedVedar
    @MedVedar
    e-commerce developer
    Тоже задавал на тостере подобный вопрос:
    Как вы оптимизируете скорость загрузки сайтов на WordPress?
    Народ развернул там неплохую дискуссию и ответ на свой вопрос я получил, хоть и не прямой.

    1. Монстроуозные универсальные темы с темфореста очень сильно проседают по производительности.

    2. Вижуалкомпозеры, уберменю и т.п.
    Например, на одном сайте, с которым пришлось иметь дело, отключение WPBakery Page Builder и UberMenu снижало TTFB с 2х до 1й секунды.

    2. Версия php.
    Переход с php5.6 на php7 cнизил TTFB с 2х до 1.2 сек.

    3. Хостинг.
    Демо сайта было размещено на шаред-хостинге с оптимизациями. TTFB главной страницы ~1.3. Перенесли этот сайт на VPS (без оптимизаций) от DO и получили TTFB ~0.2c.

    4. Оптимизируем тему.
    Есть достаточно плагинов, которые позволяют выявить узкие места. Query Monitor, например. Смотрите дорогие запросы к базе и думаете, что с ними можно сделать. Также можно прикрутить всякие профайлеры.

    5. Оптимизируем VPS
    Если у вас VPS, а не шаред-хостинг. То лучше отказаться от кеширующих плагинов и настроить все средствами веб-сервера. Например:
    https://deliciousbrains.com/hosting-wordpress-your...
    https://deliciousbrains.com/page-caching-varnish-v...
    Ответ написан
  • Как лучше захватить два ВЧ запроса для продвигаемой ниши на одной странице?

    На само деле все очень просто сейчас, если ваша страница удовлетворяет пользователей, которые пришли по 2 запросам, то вы будите в топ-1 и там и там
    https://yandex.ru/korolev/
    Ответ написан
    Комментировать
  • Как выбрать SEO компанию?

    Kadzi
    @Kadzi
    Ом
    Существует сто плохих способов запускать SEO и один хороший.
    Этот способ я называю лестница мудрости.

    Обычно, процесс разработки выглядит так:

    Рисуется говнодизайн → ыыыы надо прадвигадь! → приходит сеошник, в лучшем случае, не расп*здяй и сообщает: структура не полная, нужны новые разделы → оказывается, что так называемый дизайнер в принципе не учел, что такое может быть и вёрстка ломается, нужно дорисовывать и учитывать это в том числе, в мобильной версии (которая обычно, в 90% случаев выглядит как ГОВНО) → и вот долгожданный трафик! Прошло 3 месяца, стало миллиард посетителей, нооооооо.... продажи увеличились на 0 целых х*й десятых. Тут, внезапно всех осенило: хммм, дело в юзабилити и текстах! (при этом мало кто понял, что за юзабилити) → ищется копирайтер-редактор-маркетер-контентщик, который прочитал Ильяхова ииииии.... проходит ещё пол года, пока уважаемый клиент согласует текста → последний этап это осадок: клиент не доволен. Исполнитель сливается/его сливают. Рекламная кампания с горе пополам окупается, но не более того, а если более того, то все равно не устраивает клиента.

    У настоящего исполнителя всегда есть свой личный метод. Доверять нужно тем, кто проявляет заботу, озвучивает неудобную правду и, проактивен.

    Настоящий исполнитель понимает, что клиент пришёл с негативным опытом и кашей в бошке. Его задача, провести за ручку и объяснить, как так вышло.

    Лестница мудрости:

    Собрать СЯ → ключи разбить на разделы по экономике, доступности и логике, что не было в ключах — понять, дописать → понять, что важно в первую очередь экономически, создать смысловую карту всех разделов и услуг → найти нормальный хостинг, учесть рост трафика с технической точки зрения, придумать хорошее доменное имя, при покупке — проверить историю и громоздкость → составить экономику контента: в чем полезное действие? сроки, стоимость → проектирование взаимодействия: дизайнер получает от семантика кластеризацию запросов и структуру сайта, которую клиент утвердил с семантиком. Рисуются макеты, изначально учитывающие такие ситуации как: расширение структуры меню и разделов, переполнение контента, добавление в структуру страниц новых блоков, мобильный трафик. Изначально готовится гайдлайн для фронта: чтобы изначально весь код был оптимизирован для SEO → вёрстка с учётом скорости загрузки страниц (+уже заранее нашли норм хостера) → настройка админки (изначально согласовать оптимальный вариант под проект) → запуск любой рекламы

    Такой подход позволяет изначально делать сайт конкурентным, повышая изначально успех рекламной кампании.

    С одной из компаний работал 2 года. Паралельно велся контекст с другой компанией. По SEO за это время трафик вырос до 4,5 к посетитилей.


    если сайт коммерческий, то все эти миллионы-миллиарды трафика не имеют никакого смысла. Мерило успеха: заинтересованность и конверсии. Не пишу, что конверсии продаж, так как странно требовать конверсию продажи от сеошника, есть факторы: цена у клиента дорогая, сайт говно, продукт параша и т. д.

    Те кто в ТОП в Украине говорят, надо больше 12 месяцев для вывода сайта на позиции 5к, другие говорят, что уже за 5 месяцев я получу много трафика, а их клиенты обычно выходят в окупаемость за 2 - 6 месяца.


    Окупаемость чего? сео продвижения? Это в мире исполнителя, а не клиента. Клиенту от этого 0 пользы.

    Так же есть страх, что если SEO компания обладает своей сеткой сайтов, на которых они закупают для меня анкорные ссылки, то при прикращении работы с ними, все продвижение улетил в небытие.


    В свое время я сказал клиентам: закупать все ссылки будем с ваших аккаунтов, но, если вы будете каждый раз спрашивать за каждую ссылку, все перенесем обратно на свой аккаунт и, будем присылать скриншоты по запросу. В этом был рычаг: сеошники ругаются с клиентом и уносят все наработки с собой, в том числе контекстная реклама.

    На какие критерии отриентироваться?


    Ориентироваться на вопросы со стороны исполнителя. По вопросам станет понятно, с кем имеем дело. Нет вопросов, но есть обещания — звоночек. В 2019 уже очевидно, что просто SEO не достаточно, нужно решать проблемы скоростей сайта, говнодизайна и доступности.

    Настоящий исполнитель знает, что он НЕ умеет делать. Например:

    — Митрофан, мы посмотрели тематику сайта и спрос. SEO решит такую-то задачу, но сейчас сайт не подготовлен: страницы весят много, грузятся долго, текст паршивый а интерфейс непонятный (прикладываем пруфы). Год назад мы работали с аналогичным сайтом 7 месяцев и не показали результат: трафик был, а конверсия не выросла. Мы разобрались что нужно было сделать и предлагаем сначала отработать то-то а потом SEO. Мы заметили, что услугу спрашивают вконтакте, но мы не занимаемся SMM

    и так далее.

    Если клиент с коммерческой жилкой он сразу чует: ему не пытаются продать и впарить.
    Если клиент зомби, то никакие здравые аргументы в замусоренное сознание не дойдут: смотреть будет только стоимость, только сроки и только обещанные триллионы никому нахрен не нужного трафика.

    Люблю приводить пример с палаткой на рынке. Вот ваш сайт это палатка фруктов на рынке. Вот вы поставили задачу: приведите 100500 клиентов. Привели.

    Лампочка перегорела, продавец хам, фрукты плохо расставлены и не свежие, ценники не весят. Весы поломаны. Что тут решает трафик? Ничего. Все как пришли, так и ушли. Сначала подготовить ресурс, потом любая реклама (-:
    Ответ написан
    2 комментария
  • Почему в нынешнее время работодатели предъявляют высокие требования за маленькую ЗП?

    edinorog
    @edinorog
    Троллей не кормить!
    нормальная такая рабочая вакансия. сидел чел. разворачивал то что считал нужным. прокачивал навык. потом нашел работу покруче и свалил. работодатель оставлен перед фактом. делов то. жизнь работодателю покажет что и как)
    Ответ написан
    Комментировать
  • Adblock частично блокирует Google Analytics: есть ли решение по разблокирове?

    mak7t
    @mak7t
    Интернет-маркетолог, аналитик
    Поставьте GA на сайт с помощью Google Tag Manager
    Ответ написан
    Комментировать
  • Как реализовать региональность сайта в WordPress?

    goodee
    @goodee Автор вопроса
    начинающий веб-разработчик
    Повозился немного и решил проблему.
    Сначала проблема с одинаковыми слагами страниц в WordPress:
    Все до смешного просто, создаем страницы, а у нужных выбираем "Родительский элемент".
    Например:
    site.ru/moskva/article
    site.ru/kazan/article
    где moskva и kazan - это родительские страницы соотвественно двух разных страниц article.
    С этим всё просто и понятно.

    Далее я создал "произвольные поля" у страниц городов - "tel" и "address".
    В functions.php темы WordPress добавил следующие строчки:
    // узнаем самый первый родительский элемент (страницу города)
    function parent_postID() {
    	global $post;
    	$postID = $post->ID;
    	if ($post->post_parent) {
    		$anc = get_post_ancestors($postID);
    		$root = count($anc)-1;
    		$parentID = $anc[$root];
    	} else {
    		$parentID = $postID;
    	}
    	return $parentID;
    }
    
    // узнаем самую корневую страницу
    function show_gorod() {
    	global $post;
    	$postID = $post->ID;
    	$parentID = parent_postID();
    	if (!is_front_page() and ($parentID or $postID)) {
    		$city_name = get_the_title($parentID);
    		$city_link = get_the_permalink($parentID);
    		$city_class = 'gorod';
    		$city_string = '<a class="'.$city_class.'" href="'.$city_link.'">'.$city_name.'</a>';
    	} else {
    		$city_name = 'Выберите город:';
    		$city_class = 'gorod small';
    		$city_string = '<p class="'.$city_class.'">'.$city_name.'</p>';
    	}
    
    	return $city_string;
    }

    После чего на любой дочерней странице и странице города отображалась информация записанная в родительской странице.
    Достаточно было указать в шаблоне <?php echo show_gorod() ?>
    и выводилась нужная информация.

    Так что всем спасибо за ответы-советы *sarcasm*.
    Ответ написан
    Комментировать
  • Похожие товары - какая логика реализации?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    В 3 этапа.
    1. Ближайшие цифровые характеристики у имеющихся товаров относительно отсутствующему: каждая по-отдельности вверх и вниз, формирование списка с весами релевантности.
    2. Подстановка текстовых переменных и поиск по списку (из п.1) с использованием алгоритма расстояния Левенштейна с формированием СВОЕГО списка весов релевантности.
    3. Объединение этих двух списков с суммированием весовых показателей и последующей сортировкой по весовым значениям: самый максимальный вес - будет самым похожим товарозаменителем.
    PS: если у Вас в БД: "желтый", "yellow", "песочный", "sand", "светло-жёлтый", "светлый песок" - то тут Вы должны использовать синонимайзер, написанный вручную для использования до п.2.
    Ответ написан
    Комментировать
  • Как правильно настроить "Ускорение сайта CDN" в Битрикс?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    1. CDN не панацея и не таблетка скорости. Включать и тестить надо грамотно, в некоторых случаях он может даже замедлять работу.
    Чтобы проверить его работу посмотрите в исходный код страницы, все выводимые изображения у вас должны начинаться с CDN bitrix
    Пример
    c09327c71f184ed4881d2de2446f65d8.png
    2. CDN должен включаться практически сразу.
    3. Я думаю вам нужно решать проблему другим функционалом если вам не помогло:
    • Проверьте настройки кеширования компонентов на сайте, найдите "толстые" страницы из-за которых у вас может проседать общий показатель. Закешируйте все что необходимо, хитов в БД лишних быть не должно.
    • Посмотрите в сторону композитного сайта
    • Проверьте не тормозит ли у вас front-end (возможно back-end у вас уже летает, а загвоздка в толстом фронте). Сделать lazyload.
    • Напишите индексы в БД по самым нагруженым запросам.
    • и т.д.
    Ответ написан
    1 комментарий
  • Какими методами можно узнать доставлено ли email письмо?

    1. Основной метод контроля доставки - слежение за ошибками отправки (bounce). Ошибка чаще всего дается непосредственно в SMTP-сессию. В некоторых случаях сервер получателя принимает письмо, но в дальнейшем формирует сообщение о невозможности доставки (NDR).
    По стандартам, выдача сообщения о невозможности доставки в SMTP-сессию или отправка NDR являются обязательными, если ваше письмо прошло авторизацию (SPF и/или DKIM) - вы можете быть уверены, что получите баунс в SMTP-сессию или NDR если письмо не будет доставлено практически на 100%. Поэтому если на письмо в разумное время не получено отлупа, можно считать его доставленным. Сообщения о невозможности доставки идут на адрес отправителя SMTP-конверта (envelope-from). Чтобы точно знать, на какой адрес какое письмо не было доставлено, можно для каждого отправляемого письма формировать уникальный envelope-from.

    2. Есть расширение SMTP которое называется delivery status notification
    https://tools.ietf.org/html/rfc3461
    при отправке письма можно запросить, чтобы подтверждение доставки письма в ящик или на сервер получателя, не поддерживающего DSN пришло в явном виде. Подтверждения формирует MTA без участия пользователя. Поддерживается не всеми (например, postfix поддерживает, exim нет).

    3. Есть нестандартный заголовок Return-Receipt-To, который работает примерно так же как DSN. Но поскольку он нестандартный, его поддержка крайне ограничена.

    4. Есть стандартный (RFC 3798) заголовок Disposition-Notification-To упомянутый выше, это не уведомление о доставке, а уведомление о прочтении. Запрос на это уведомление как правило показывается пользователю и требует его подтверждения. Не надо использовать этот заголовок, если вы не хотите, чтобы вас прокляли.

    5. Пиксель в письме - не поможет проверить доставляемость, но в некоторых случаях позволить узнать что письмо было прочитано.

    6. (привет модератору). Таки есть службы типа postmaster.mail.ru и postmaster.yandex.ru, которые позволяют отслеживать доставляемость писем получателям данных сервисов, а это порядка 70-80% всех получателей. В данных службах можно смотреть статистику по доставляемости писем, попаданию в папку спам, действия с письмами (чтение, помечания спамом, удаления с прочтением/без прочтения). Причем можно задавать категории писем через специальный заголовок или селекторы DKIM и получать статистику раздельно по категориям писем. Это позволяет получить информацию даже по отдельному письму, задав ему отдельную категорию. Но делать так массово не стоит.
    Это основной источник данных по попаданию в спам / удалению без прочтений, etc.

    Немного не в тему, но может помочь:

    7. Можно (и нужно, если вы организуете массовые рассылки) завести ящики-ловушки на разных сервисах, добавлять их в рассылки и отслеживать доставляемость писем до этих ящиков, в частности попало ли письмо в inbox.

    8. Почти все крупные сервисы поддерживают FBL. Вы можете в реальном времени узнавать, если на вашу рассылку идут жалобы пользователей.
    Ответ написан
    2 комментария
  • Куда податься девушке в IT?

    risik
    @risik
    Программист
    Есть факторы объективные. Например, объективный фактор привел Сергей - молодые девушки могут внезапно уйти в декрет. Поэтому на долгосрочный проект, в котором 1-3 разработчика девушек берут с неохотой.

    А есть множество субъективных факторов. Один из них, мужской шовинизм.

    Увы, с проявлением мужского шовинизма сталкивался многократно.

    Иногда он был обусловлен реальным личным опытом руководителей и неправильным обобщением. Например, взяли девочку - не потянула, вывод - все девочки не тянут. Там была ситуация, что те задачи, которые дали той девочке, с той моделью управления проектом (то есть, вообще без управления), она не потянула. Зато потом нашла себя в другой области разработки с другим подходом к управлению проектами.

    Мне приходилось под личную ответственность настаивать, чтобы взяли девочку. Я-то точно знал, что девочка - супер, она одна стоит половины имеющейся команды (чисто мужской на тот момент). Убедил, переломил сознание руководства. Потом еще нескольких девочек взяли, правда не все они были столь же успешными, как первая. Потом, когда половина мальчиков разбежалась девочка до последнего тянула проект. Но в другой раз (в другой компании) такой номер не прошел - я не смог сломить позиуи руководтва.

    Про управление проектом я не просто так сказал - девушки, как правило, хуже работают в условиях прессинга (об этом тоже в комментарии @bk0011m). Девушку сложнее заставить поработать вечером или в выходные. Это значит, что надо руководителю придется повышать качество управление проектом. То есть, самому тоже придется работать.

    Также проблема, что у женщин ниже самооценка. Сейчас не поделюсь пруфлинком, но попадалась статья, в которой описывается, что женщины, претендующие на позиции программиста обладают, в среднем, более высокой квалификацией по требуемым для вакансии технологиям, но мужчин, претендующих на эту вакансию больше. Это не потому, что мужчин, среди программистов на порядок больше (хотя их действительно больше, но не настолько). А потому что женщина видя в описании вакансии список технологий, будет претендовать на эту вакансию только если абсолютно уверена, что она во всех этих технологиях специалист. А мужчина подаст на эту вакансию даже если хорошо знает только одно, а про остальное что-то слышал.

    Все это приводит, к тому, что в этой отрасли мужчин больше.

    Что делать конкретно Вам, сказать не могу. Но совершенно точно могу сказать, что надо себя уметь презентовать. Например, участие в open source проектах или, еще лучше, обственные открытые проекты на github точно помогут. Статьи на habrahabr.

    Почитайте: https://risik.info/?p=558 и https://risik.info/?p=555 вдруг как-то поможет :)
    Ну и конечно: femalesoftwareeng.tumblr.com
    Ответ написан
    1 комментарий
  • Кнопка «Купить» или «Добавить в корзину» в интернет-магазине?

    swanrnd
    @swanrnd
    Издатель HTML5 игр
    Делайте A/B тестинг.
    Ответ написан
    Комментировать
  • Почему нет seo оптимизаторов с гарантией?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    1) если по простому - потому что в сео много факторов, на которые нельзя повлиять напрямую и 100%. можно только направить в нужном направлении. а вот пойдет оно в этом направлении или нет, и если пойдет, то когда - никто не знает.
    2) да. так и называется "Лидогенерация"
    Ответ написан
    Комментировать
  • Можно ли проверить доступность сайта у конкретных провайдеров?

    @dinegnet
    https://ping-admin.ru/free_test/
    Я тут проверял.
    Оказалась странная попа с пропаданием сайта в нескольких городах.
    Перевел на другой хостинг, в другом городе - появился в городах из предыдущего абзаца, но пропал в других городах.

    В итоге сделал так:

    основной сервер в Москве
    второй сервер в Питере. Это простой nginx reverse proxy на московский сервер.

    в DNS две записи типа A:
    с питерским
    и с московским IP-адресом.

    после повторной проверки оказалось что все зашибись из всех городов кроме экзотических заграничных городов, которые мне не нужны (ибо веб-сайт ориентирован на РФ).
    Ответ написан
    Комментировать
  • Есть ли смысл работать с ботоводами в fl.ru?

    opium
    @opium
    Просто люблю качественно работать
    Все кто пытается выйти за пределы фл это мошенники , в сбр деньги приходят всегда на с то процентов у меня несколько сотен заказов на фл. Авто ответы обычно игнорирую, в задаче пишу если вы не робот напишите слово я дурак. Бота самому легко написать по сути там один запрос на список работа и один пост запроса чтобы ответить в работу копипастой
    Ответ написан
    1 комментарий
  • Обманывает ли меня интернет-магазин rozetka.com.ua?

    AotD
    @AotD
    PHP, Redis, Postgresql
    Вы извините, но при прочтении опуса перед глазами так и маячила картинка про белок-истеричек.
    То вы его сдаете, но не сдаете, то просите вернуть, то кричите…
    Спокойней нужно быть и сначала читать закон о защите прав потребителей (который в кратком изложении можно найти на любом сайте посвященном данной тебе), а потом предпринимать обдуманные действия. Там вам и заявления, и сроки, и проценты и всё-всё-всё по полочкам расписано.
    Ответ написан
    1 комментарий