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

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

Все теги (5)

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

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

    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;//или больше...
    }
    Ответ написан
  • Как сделать категории всегда развернутыми?

    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. Приправить немного юзер-френдли логикой по желанию. Например, при открытии другого списка, что бы предыдущий закрывался.
    Ответ написан