Задать вопрос
  • Гайд или скрипт для последовательных нажатий на странице сайта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Я бы использовал Tampermonkey (расширение под браузер), js код которого сводится всего к нескольким инструкциям:
    1. Проверяем url страницы.
    2. Ждем полной загрузки страницы.
    3. Ищем область для клика, которая запустит скрипт.
    4. Получаем нужные элементы для клика.
    5. Кликаем по п4.

    P.S. Для ожидания модальных окон (и их содержимого) можно использовать простой setTimeout, но если окна появляются с заранее неизвестной скоростью, то используйте MutationObserver.

    Теперь, пробуйте написать расширение (How to Use Tampermonkey), и если что не получится, то приходите сюда с конкретными вопросами.
    Ответ написан
  • Как сделать сайт на WordPress с высокой производительностью?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как сделать сайт на WordPress с высокой производительностью?

    Вначале необходимо определить, что такое "высокая производительность". Обычно, под производительностью сервера (WP сайт это как раз тот самый сервер) подразумевается показатель RPS (Requests Per Second) - максимальное количество запросов к серверу в секунду. Именно максимальное, т.е. в какой то "час-пик". Предположим, что сайты на WP обычно используют небольшие, ну максимум средние компании, с соответствующим ожиданием по нагрузке в своем сегменте.

    Возьмем голую тему без плагинов, которая выводит 10 изображений, с подключением 5 статических файлов (css/js), итого около 20 запросов от одного не кэшированного визита посетителя. Если на наш сайт зайдут 5 посетителей в секунду, они сгенерируют 100 RPS (5 * 20). Может показаться, что 5 визитов в секунду - это мало, но в минуту это будет уже 300 визитов, а в час 18000 визитов, что как бы дохрена, для малого-среднего бизнеса. Повторюсь, речь идет про "час-пик", т.к. нагрузка в другой промежуток времени нас не интересует.

    По моим наблюдениям, WP без проблем выдерживает 50-100 RPS на нормальном хостинге с начальным тарифом без кэширования.

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

    Я придерживаюсь следующего плана оптимизации WP сайта, от простого к сложному:
    1. Кэширование плагином - самое быстрое и относительно дешевое решение, гуглить WordPress caching plugins. Обычно, вместе с такими плагинами идет опция с оптимизацией изображения до .webp или .avif формата и оптимизацией css/js файлов, если же нет, то это должен быть следующим пунктом оптимизации. Например, для W3 Total Cache имеются плагины Smush и ShortPixel.
    2. Хостинг - арендовать более производительный shared-хостинг и подключить CDN.
    3. VDS/DS хостинг - переезд на производительный VDS/DS хостинг, настройка обратного прокси Nginx и перекладка на его плечи задачи кэширования. Иногда получается сделать так, что до WP вообще не доходит запросов, все отрабатывает Nginx (это идеальный сценарий, но не всегда выполнимый). Здесь можно снять несколько сотен-тысяч RPS, что уже очень прилично, для такого уровня сайтов.
    4. Больше серверов - докупка VDS/DS серверов с балансировкой, либо руками, либо средствами хостера. Здесь можно снять ЕЩЕ несколько сотен-тысяч RPS дополнительно к п3. Обычно, такая производительность нужна каким то интернет-каталогам/магазинам.

    Конечно, можно переписать саму тему с плагинами (написать с нуля), но не факт, что это будет дешевле и быстрее, чем пункты выше. Бизнесу вообще глубоко фиолетово, на чем написан инструмент (сайт), главное, чтобы он приносил деньги, стоил максимально дешево и мог быстро нарастить производительность под новую нишу, если это понадобится.

    Ну и как уже сказали другие, elementor противоречит слову "производительность", хотя и его наличие можно на время закидать кэшированием-серверами-деньгами.

    Рекомендую почитать:
    WordPress Developer Resources - Optimization
    The Ultimate Guide to Boost WordPress Speed & Perf...
    Page Speed Optimization for WordPress
    Как понять, где лучше использовать плагин, а где лучше разобраться и вставить код?
    Какие плагины обязательны? А какие замедлят сайт?

    Отслеживать производительность можно плагинами New Relic и Query Monitor, а тестировать нагрузку Load Impact и Apache Benchmark. Это поможет понять, где узкие места.
    Ответ написан
    5 комментариев
  • Как сделать шапку на всю ширину экрана в Wordpress?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Как это сделать? Такое чувство, что тема Astra перебивает мои настройки

    Чувства обманчивы, надежнее использовать инструменты разработчика в браузере.
    Мне нужно сделать шапку сайта с верхним меню на всю ширину экрана.
    У меня почему-то footer и header по размеру контейнера, хотя по размеру контейнера должен быть только контент внутри, а не сам элемент.

    Примерный алгоритм, с 3 секциями и контейнерами внутри них:
    <div class="page">
    
        <div class="page__item page__item--header">
            <div class="page__container">
                <div class="header"></div>
            </div>
        </div>
    
        <div class="page__item page__item--content">
            <div class="page__container">
                <div class="content"></div>
            </div>
        </div>
    
        <div class="page__item page__item--footer">
            <div class="page__container">
                <div class="footer"></div>
            </div>
        </div>
    
    </div>
    Ответ написан
    4 комментария
  • Как обойти блокировку сервиса CloudFlare?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
  • Как выполнить Olx парсинг номера?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    - Selenium не нужен, он легко определяется и слишком много жрет. Используйте Zendriver.
    - Используйте реалистичный отпечаток браузера.
    - Используйте мобильные прокси.
    - Используйте реалистичное движение курсором мыши или сенсорные действия (для смартфонов).
    - Нужна асинхронность? - запускайте Zendriver асинхронно, используя Asyncio.

    Обнаружат ли вас? Простая-средняя защита - нет, сложная да.
    Ответ написан
    Комментировать
  • Как анализировать востребованность технологии?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Обратил внимание, что последние пару лет все чаще слышу про fastapi, насколько он уже созрел на рынке? "Слышать" это одно (субъективщина, хайп и все такие), может есть какие-то метрики, как определять востребованность конкретной технологии относительно другой, например django и fastapi

    Я придерживаюсь 2х критериев для ЯП, которые используются в малых-средний проектах, это сайт с поиском работы (hh), и фриланс площадки. Вот инфа по hh на 10.03.2025:

    Без взаимоисключений:
    - Django: 184 вакансии.
    - FastAPI: 172 вакансии.

    Взаимоисключающие django и fastapi:
    - Django: 100 вакансий.
    - FastAPI: 89 вакансий.

    Всего пару лет назад FastAPI составлял 30% от django, сейчас же они сравнялись (тенденция на лицо), на фрилансе FastAPI так же часто мелькает, а учитывая, что это относительно django новая технология, то на него обязательно стоит обратить внимание, т.к. вполне вероятно, что его рост на рынке продолжится.

    FastAPI изначально идет практически голым по функциональности, в отличие от django, т.е. разработчик должен иметь более высокую квалификацию, чтобы выполнять те же самые задачи. Скорее всего, это отразится на стоимости конечного проекта, хотя и производительность проекта будет сильно больше.
    Ответ написан
    1 комментарий
  • Как правильно написать техническое задание для разработки одностраничного вебсайта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    На странице пациент вводит 30 значений в соответствующие 30 ячеек. На сервере значения обрабатываются и выводится результат. (Не знаю, будет ли это называться второй страницей сайта?)

    Обычный серверный яп, например python/php:
    1. Рендер обычной html страницы.
    2. Форма, которая отправляет данные при submit.
    3. Сервер принимает данные из п2 и возвращает результат в виде той же страницы из п1, но уже с блоком данных из п2.

    Если на JS:
    1. Форма с 30 полями.
    2. JS отправляет форму при submit на сервер, показывая имитацию загрузки для пользователя (чтобы он не бздел).
    3. Сервер обрабатывает данные и возвращает результат.
    4. JS обновляет нужный блок на той же странице с теме данными, которые пришли из п2-п3.
    Где, на каком "бюджетном сервере" лучше размесить первую страницу?

    На любом, shared или vds сервере, стоимость там обычно 200-400р/мес.
    На каком сервере разместить обработку защищенного алгоритма (тот который обрабатывает 30 значений)?

    На том же, только подключите бесплатный https сертификат, например letsencrypt.
    Насколько целесообразна регистрация пользователей сразу или дать возможность бесплатно провести тест работы алгоритма? И как сделать абонентскую плату 100 руб в месяц?

    Проведите А/Б тестирование.
    Сколько будет стоить разработка такого сайта?

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

    Обязательно разместите информацию о политике обработки персональных данных и пользователь должен с ними согласиться, либо рано или поздно вас настигнет что то не очень приятное..
    Ответ написан
    5 комментариев
  • Есть ли в питоне файл проекта?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Нет такого, единственное что есть зрелое, так это pyproject.toml и poetry.lock (poetry), в котором описывается версия python и необходимых библиотек для текущего проекта. А от циклических импортов можно спастись лишь руками, заранее грамотно проектируя проект и вынося нужный функционал в модули и пакеты.
    Ответ написан
    1 комментарий
  • Какой SEO-плагин поставить для для Wordpress в 2025м?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Переезд на зарубежные сервера чреват потерей позиций сайта (тестировала, так и случилось).

    От смены сервера позиции не проседают, что то другое повлияло.
    Какой SEO-плагин поставить для для Wordpress в 2025м?

    Тот же, что и в 24 году - Yoast SEO или All in One SEO Pack.
    Ответ написан
    3 комментария
  • Как парсить динамические сайты на python?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Либо анализ http запросов и попытка обращения напрямую к ним -
    dynamic web page scraping with python, средняя сложность, максимальная производительность, легко вычисляется.
    - Либо Chrome DevTools Protocol (zendriver) - высокая сложность, средняя производительность, тяжело вычисляется.
    - Либо Selenium, простая сложность, минимальная производительность, легко вычисляется.
    Ответ написан
    Комментировать
  • Почему не добавляется / убирается класс?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    На основании офф доки, попробуйте так:
    gsap.registerPlugin(ScrollTrigger)
    
    useLayoutEffect(() => {
        gsap.to(".img-1", {
            height: '100%',
            scrollTrigger: {
                trigger: '.wb1',
                markers: true,
                scrub: true,
                start: "top center",
                end: "bottom center",
                // toggleClass:  "title-selected",
                toggleClass: {
                    targets: ".wb1",
                    className: "title-selected",
                },
            }
        })
    }, []);
    Ответ написан
    Комментировать
  • Поясните мне почему код работает JS?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    почему

    Отладкой кто будет заниматься? Добавьте console.log() в нужных местах, чтобы самостоятельно выяснить, где проблема (ну или фича, это как пойдет ;))
    Ответ написан
    3 комментария
  • Небольшой сайт и админ панель на .NET?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    что за действия там пользователи буду делать - пока нет конкретики

    Без тз - результат хз.
    смотрю в сторону связки asp+bootstrap, при беглом поиске все шаблоны админок очень нагруженные

    Что мешает удалить лишние блоки?
    Может посоветуете что именно искать или вообще другой вариант реализации предложите?

    Если знаний на фронте минимум, то лучше либо готовое что то использовать, по типу Bootstrap, либо какую то CMS, не обязательно на .NET
    Ответ написан
    Комментировать
  • Способ обхода CloudFlare 2025?

    Mike_Ro
    @Mike_Ro Куратор тега Selenium
    Python, JS, WordPress, SEO, Bots, Adversting
    Я попробовал много способов, но все они не помогают мне обойти защиту

    Какие пробовали?
    Язык не важен

    Не важен, но скорее всего это будет Python.
    важен алгоритм. Как мне это сделать

    1. Python + Zendriver + no headless.
    2. Открываем отдельный профиль браузера.
    3. Заходим на сайт с cloudlfare, ждем загрузки окна капчи, жмем на него, сохраняем куку и попадаем на сайт.

    Последующий заход так же выполняем через профиль браузера из п2, cloudflare будет доволен, временно. Ну и про правильный отпечаток браузера + правильный ip я думаю смысла говорить нет.
    Язык не важен, важен алгоритм. Как мне это сделать? Не предлагайте сторонние API для решения капчи.

    Если с headless и без привязки к Python, то статьи по теме:
    - Об одном способе веб-скрапинга сайтов, защищенных ....
    - Парсим сайты с защитой от ботов.
    - Chrome Headless против cloudflare JS challenge.

    Способ рабочий, работает в том или ином виде до сих пор. Тема коммерческая, поэтому ответ без готового решения (да и он не требуется, судя по ТЗ).
    Ответ написан
  • Как в woocomerce получить содержимое корзины не для зарегистрированного пользователя?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Проверить, работают ли сессии в WP. Ради эксперимента, можно попробовать дернуть товары напрямую из сессии WC()->session->get( 'cart' ).
    2. Если п1 == true, то использовать WC()->cart->get_cart(), WC_Cart.
    Ответ написан
    Комментировать
  • Какой путь исправления проблемы (sitemap.xml с дублями) для Яндекс поиска правильнее?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    1. Вариант.

    Это
    Интересует: алгоритм был правильный выбран?

    Но у магазина уже неделю нет заказов

    Если сайт уже работает и сильно зависит от seo, то нужно плавно переходить на другой инструмент, а не рубить с плеча:
    1. Отключить генерацию странного sitemap, затем руками распотрошить сгенерированный sitemap и удалить от туда лишние url. Залить на сайт, отправить на индексацию, подождать 1-4 недели, пока Яндекс успокоится.
    2. Скопировать сайт и развернуть на локалке.
    3. Поставить Yoast SEO или другой SEO плагин и проверить, все ли правильно сгенерировано.
    4. Залить обновленный сайт обратно на хостинг и сразу отправить на индексацию новые страницы.
    Ответ написан
    6 комментариев
  • Как связать несколько сайтов в WP?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Несколько вариантов:
    - WordPress Multisite.
    - Плагины по типу MainWP.
    - Общее внешнее хранилище (бд/файл/api) для всех сайтов, которые берут из нее данные.
    Ответ написан
    Комментировать
  • Можно ли управлять громкостью Устройства / Системы через кнопку на HTML?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно, но с использованием js и доступно лишь уменьшение громкости от текущей - HTMLMediaElement: volume property.
    Можно ли как то сделать чтобы по нажатию на кнопку повышалась громкость системы?

    1. Создаем функцию с изменением HTMLMediaElement.
    2. Вешаем слушатель на кнопку, и по клику - выполняем п1.
    Ответ написан
    Комментировать
  • Кто же создает sitemap.xml в этом случае?

    Mike_Ro
    @Mike_Ro Куратор тега Поисковая оптимизация
    Python, JS, WordPress, SEO, Bots, Adversting
    Мне не очень понятно что за сервис такой в панели управления хостинга который умеет залезать в БД вордпресс???!

    Никуда он не залезает, а просто обходит сайт по всем страницам.
    Ответ написан
    1 комментарий