Задать вопрос
Комплексное SEO; настройка и администрирование VDS; создание сайтов и плагинов на WP; доработки на BITRIX.

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (9)
  • Как добавить на сайт счётчики аналитики не ухудшая скорость загрузки?

    gromel
    @gromel
    SEO | VDS | WP | BITRIX
    Использовать отложенную загрузку счетчиков по действию "scroll", "touchstart", "click".

    Пример подключения:
    Отложенная загрузка кода Яндекс.Метрики

    Использую на своих проектах.

    По одному проекте мониторил контрольный пул запросов.

    1. Внес правки (много всего, не только скрипты аналитики), показатели Google Page Speed были ~35/65 стали 100/100.
    2. В search-console гугла, в разделе "Основные интернет-показатели"/"Мобильный", отправил на перепроверку страницы с низкими показателями. Занимает 28 дней.
    3. Спустя пару месяцев с момента правок, был прирост устоявшихся позиций по гуглу — из диапазона 5-7 сдвинулись в 3-5.

    Без ленивой загрузки метрики, показатели Google Page Speed были ~92/98. Основная причина — сторонний код заблокировал основной поток.
    Ответ написан
    Комментировать
  • Как оптимизировать обращения к базе данных при получении вариации товара (выборе атрибута продукта)?

    gromel
    @gromel
    SEO | VDS | WP | BITRIX
    Еще есть один хитрый момент, касаемо опций на странице товара у которого больше 30 вариаций.

    Когда превышен определенный предел вариаций (30), WooCommerce просто отображает все опции, а не какие из них должны быть доступны. Поскольку динамическая загрузка большого количества данных может стать потенциальной проблемой производительности, поэтому стоит ограничение на 30 вариаций.

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

    add_filter( 'woocommerce_ajax_variation_threshold', 'wc_inc_ajax_threshold_more', 10, 2 );
    function wc_inc_ajax_threshold_more($qty, $product) {
        return 150;//или больше...
    }
    Ответ написан
    1 комментарий
  • WordPress при переносе сайта с Open Server исчесли все настройки темы?

    gromel
    @gromel
    SEO | VDS | WP | BITRIX
    Быстрый вариант — использовать WordPress Migration Plugin.
    Plugin Duplicator
    Создаете архив.
    В папку сайта загружаете архив и файл ****_installer.php
    Открываете в браузере ссылку на файл инсталятора.
    Указываете: База-Пользователь-Пароль, от базы, которая уже на хостинге.
    Какие нюансы? Файл wp-config.php при установки переименовать/удалить. Потом вернуть и проверить данные База-Пользователь-Пароль.
    Ответ написан
    Комментировать
  • Как сделать простейший php прелоадер кеша для сайта?

    gromel
    @gromel
    SEO | VDS | WP | BITRIX
    Я использую этот скрипт:
    https://github.com/khromov/sitemap-cache-warmer
    И варианты запуска:
    По крону, прямой запуск:
    30 0 * * * php /home/warm-cache/warm.php url=https://mysite.ru/sitemap.xml sleep=0 key=******** > /dev/null 2>&1

    Или через баш с нужной конфигурацией, последовательностью:
    #!/bin/bash
    TIME1=`date +%H:%M:%S`
    echo "текст заголовка письма — начало в: "$TIME1"" | sudo mutt -s "текст письма, начало в: "$TIME1"" *****@****
    sudo mysql -e "OPTIMIZE TABLE *******";
    строка с командой на очистку кэша;
    php /home/warm-cache/warm.php url=https://mysite.ru/sitemap.xml sleep=0 key=********
    TIME2=`date +%H:%M:%S`
    echo "текст заголовка письма — готово в: "$TIME2"" | sudo mutt -s "текст письма, готово в: "$TIME2"" *********@******

    И запуск скрипта, так же по крону.
    Ответ написан
    Комментировать
  • Как сделать категории всегда развернутыми?

    gromel
    @gromel
    SEO | VDS | WP | BITRIX
    1. Стандартный виджет Woo без управления выпадающего списка "открыть/закрыть". То, что у тебя на скрине — функционал темы, подключается, вернее всего, скриптом.
      Файл со скриптами темы, обычно можно найти по этому пути, имя файла может быть и другим: \themes\имя_темы\assets\js\main.js
      Если юзаешь поиск по файлам темы, то ищи что-то подобное:
      $('.widget_product_categories').addClass('toggle-menu');
      $('.toggle-menu ul.children, .toggle-menu ul.sub-menu').addClass('toggle-submenu');
      ...
      $('.widget_product_categories').each(function() {
       $(this).find('li').has('.children').has('li').prepend('<div class="open-this"></div>');
      ...

      Обрати внимание: "open-this" может быть и просто "open". Смотри какие блоки скрипт добавляет к виджету во фронтенде.

    2. Как найдешь код, то дальше дело техники. Например, так:
      $('.toggle-menu').each(function() {
        var $this = $(this);
        $this.find('.toggle-menu-current-item').last().parents('.toggle-menu-item-parent').addClass('opened').children('.toggle-submenu').show();
        $this.find('.current-cat').addClass('opened').children('.toggle-submenu').show();
        ...
       });

      Класс 'opened' для добавления своих стилей.

    3. Приправить немного юзер-френдли логикой по желанию. Например, при открытии другого списка, что бы предыдущий закрывался.
    Ответ написан
    Комментировать