Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Оптимизация SQL запросов


Recommended Posts

Здравствуйте, помогите кто чем может :) слишком большой отклик  у некоторых запросов к базе sql, сервер выделенный виртуальный, трафика нет (отладка магаза) но при этому на открытие страницы уходит под 5-7 секунд, установил панель отладки которая показала большой отклик для таких вот запросов:

23 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (521)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.20478 s
24 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (519)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.21754 s
25 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (517)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.22328 s
26 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (73)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.21217 s
27 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (75)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.19892 s
28 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (74)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.19897 s
29 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (482)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.19218 s
30 	

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.STATUS = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id IN (484)

/var/www/tarvolok/data/www/site.com/catalog/model/catalog/product.php (545)	0.18633 s

ускорялок никаких не ставил, размер таблицы oc_product_description 60Мб, таблицы oc_product 7Мб (32 000 товаров) остальные запросы выполняются за тысячные доли секунды.  Если у кого есть мысли куда копать - подскажите, всем откликрувшимся спасибо.

post-27652-0-69137300-1376980926_thumb.jpg

Link to post
Share on other sites

Отключите в админке подсчет товаров в категории.

Естественно, подсчёт отключён, я вот думаю а остаются ли запросы к базе относительно подсчёта этих товаров, например, что значит этот кусочек кода: SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product ?

Link to post
Share on other sites

Отключил все модули, все вкумод удалил, всё равно запросы остаются.

Link to post
Share on other sites

А сколько у вас категорий на сайте? Мы недавно на такое натыкались у товарища noVe https://opencartforum.com/topic/23340-uskorit-rabotu-saita-na-ocstore-1541-poriadka-50-000-tovarov/

Может быть и вам поможет.

Кстати, ссылку бы дали ;)

  • +1 1
Link to post
Share on other sites

Естественно, подсчёт отключён, я вот думаю а остаются ли запросы к базе относительно подсчёта этих товаров, например, что значит этот кусочек кода: SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product ?

Как вариант это может быть подсчет для pagination

  • +1 1
Link to post
Share on other sites

сайт находится на домене office-dom.com там сейчас активирован плагин для отладки, и все модули выключены.

 

Как вариант это может быть подсчет для pagination

Что за pagination? его возможно отключить без последствий?

Link to post
Share on other sites

Что за pagination? его возможно отключить без последствий?

Это постраничная навигация в категориях и т.д.

  • +1 1
Link to post
Share on other sites

 

Что за pagination? его возможно отключить без последствий?

Возможно, комментировать в controller и template все что связано с pagination. Но тогда пропадет навигация по страницам в категориях и т.д. А это уже с последствиями :-)  для юзабилити.

  • +1 1
Link to post
Share on other sites

Вы себе однозначно поставили левую сборку, ибо в коде есть

<a href="[вц]">модули opencart</a>
Edited by freelancer
варез
  • +1 1
Link to post
Share on other sites

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

Решение: Каталог/категории/изменить/данные и снять галочку с чекбокса "главное меню".

 

 

 

Вы себе однозначно поставили левую сборку, ибо в коде есть

<a href="http://myopencart.net/forum/files/">модули opencart</a>

 

Где именно этот код? На главной я не нашёл, возможно он относился к конкретному модулю. Дистриб уже перелопачен так, что стандартным его не назвать...

  • +1 1
Link to post
Share on other sites

Да, действительно помимо всего прочего ещё и инфицирован файл response.php, видимо последствия апрельских атак.  Восстановил его из оригинального дистрибутива, благодарю за наводку.

Link to post
Share on other sites

  • 2 years later...

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

Решение: Каталог/категории/изменить/данные и снять галочку с чекбокса "главное меню".

И что же это за решение проблемы?

Если категория должна быть в главном меню, то зачем снимать галочку "Главное меню"? )

Link to post
Share on other sites

  • 1 month later...

Решение: Каталог/категории/изменить/данные и снять галочку с чекбокса "главное меню".

 

Присоединяюсь к последнему вопросу, что это за решения, может мы его неправильно поняли?

 

У меня тоже такая проблема, почему-то сайт генерирует оч большую нагрузку, до 100к cp,

Может вы подскажете? хостинг прислал проблемный запрос:

SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '63'

 

exaplin запроса:

artilari_olive8e@everest3.beget.ru[artilari_olive8e]> explain SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_category_path cp LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id) LEFT JOIN oc_product p ON (p2c.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND cp.path_id = '63'; +----+-------------+-------+------------+--------+---------------------+---------+---------+----------------------------------------+-------+----------+--------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+-------+------------+--------+---------------------+---------+---------+----------------------------------------+-------+----------+--------------------------+ | 1 | SIMPLE | p2s | NULL | index | PRIMARY | PRIMARY | 8 | NULL | 20056 | 10.00 | Using where; Using index | | 1 | SIMPLE | p | NULL | eq_ref | PRIMARY | PRIMARY | 4 | artilari_olive8e.p2s.product_id | 1 | 5.00 | Using where | | 1 | SIMPLE | pd | NULL | eq_ref | PRIMARY | PRIMARY | 8 | artilari_olive8e.p2s.product_id,const | 1 | 100.00 | Using index | | 1 | SIMPLE | p2c | NULL | ref | PRIMARY,category_id | PRIMARY | 4 | artilari_olive8e.p2s.product_id | 3 | 100.00 | Using where; Using index | | 1 | SIMPLE | cp | NULL | eq_ref | PRIMARY | PRIMARY | 8 | artilari_olive8e.p2c.category_id,const | 1 | 100.00 | Using index | +----+-------------+-------+------------+--------+---------------------+---------+---------+------

Link to post
Share on other sites

По поводу подсчета, он просто так не отключает, нужно править еще категории если я не ошибаюсь 

Link to post
Share on other sites

С этими SELECT(COUNT(...)) в опенкарте действительно проблемы. Мы у клиента лечили установкой кеширования: http://e-45.ru/articles/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-opencart-1_5

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

Link to post
Share on other sites

С этими SELECT(COUNT(...)) в опенкарте действительно проблемы. Мы у клиента лечили установкой кеширования: http://e-45.ru/articles/%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-opencart-1_5

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

Кэширование - хорошо, но не тогда когда у вас есть сортировка по наличию.

Link to post
Share on other sites

Кэширование - хорошо, но не тогда когда у вас есть сортировка по наличию.

 

Как можно заметить, ключ кеша равен md5 от всех поступивших в метод параметров, в том числе и от сортировки. Соответственно, для разных сортировок будут разные кеши.

Link to post
Share on other sites

Как можно заметить, ключ кеша равен md5 от всех поступивших в метод параметров, в том числе и от сортировки. Соответственно, для разных сортировок будут разные кеши.

А откуда вы узнаете что она изменилась? Сортировка имелась ввиду что запросом такие товары сортируются вперед в наличии назад нет в наличии.

Link to post
Share on other sites

@Vladzimir

md5(http_build_query($data)); 

@druzhkov, Интересное решения, нужно будет поэкспериментировать  

Link to post
Share on other sites

@Vladzimir

md5(http_build_query($data)); 

@druzhkov, Интересное решения, нужно будет поэкспериментировать  

И что это даст? data всегда будет одна и та же. А вот результат запроса всегда плавает.

Link to post
Share on other sites

И что это даст? data всегда будет одна и та же. А вот результат запроса всегда плавает.

$data['sort'] всегда разная будет и будет генерировать разный хеш 

 

мы же используем http_build_query 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By MaxD
      Скачать/Купить дополнение


      OpenCart Lightning: кеширование, оптимизация, улучшение SEO и Google PageSpeed

       
       
      OpenCart Lightning - это мод, который реально ускоряет магазины и дает ощутимый результат. Страницы открываются почти мгновенно, высокие баллы PageSpeed и минимальный TTFB дают отличный плюс к SEO.
      Работает со всеми версиями OpenCart и ocStore.
       
      Внимание: для всех белорусских доменов .BY - свободная лицензия до 2022 года
       
      Вот ссылка на демо-магазин с 20000 товаров на хостинге за $5 - https://demo.devs.mx/lightning
      А вот демо с JOURNAL3 - https://demo.devs.mx/journal3/
       
      почти мгновенное открытие страниц оптимизировано для получения высоких показателей в новом Google PageSpeed Insights быстрая работа с большим количеством товаров и категорий повышение удобства навигации по магазину и рейтингов в поисковиках не надо настраивать и приглядывать, просто работает отпадает необходимость в дополнительных модах оптимизации или кеширования  
       
       
       
       
      Если вы залогинены в админку - страницы, на которые вы заходите - после этого перегенерируются. То есть, если вы хотите увидеть изменения - просто обновите страницу.
      В большинстве случаев нет необходимости очищать кеш вручную - все обновляется автоматически.
       
      После установки у вас будет 7 дней тестового периода, дальше надо будет купить лицензию.
       
      Внимание: OpenCart Lightning не работает на localhost, только на реальных интернет-серверах.
       
      Установка
      Важно!  Перед установкой Lightning отключите или удалите все расширения для кэширования и оптимизации – если они у вас установлены. Они могут привести к конфликтам и сделают общую скорость медленнее. Lightning ускоряет каждый аспект более эффективным способом, чем конкурирующие продукты.

      Сторонние расширения WebP не будут работать корректно с кешированием страниц, поэтому отключите их, если они у вас есть. Lightning включает свою поддержку WebP по умолчанию.

      Lightning приводит ссылки всех товаров к каноническому виду shop.ru/seo-url-tovara для того, чтобы у каждого товара была только одна URL для большей эффективности. Если по каким-либо причинам вам это не подходит, активируйте опцию Отключить унификацию ссылок на товары в дополнительных настройках Lightning.
       
      Загрузите lightning.ocmod.zip в инсталлятор, зайдите в Модификации и обновите их.
       
      Если сайт лег и админка не открывается - вот как быстро все вернуть назад.
       
      Если после установки Lightning витрина магазина не открывается или выдает ошибку, попробуйте активировать опцию Отключить оптимизацию шаблонов в дополнительных настройках Lightning.
       
      Обновление
      1. Выключите Lightning.
      2. Очистите кеш Lightning.
      3. Зайдите в Модификации и удалите модификацию Lightning.
      4. Установите новую версию Ligthning.
      5. Обновите Модификации.
      6. Включите Lightning.
      Добавил MaxD Добавлено 04.12.2014 Категория Кэширование, сжатие, ускорение Системные требования Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3.0.2.4
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Да  
    • By MaxD
      OpenCart Lightning - это мод, который реально ускоряет магазины и дает ощутимый результат. Страницы открываются почти мгновенно, высокие баллы PageSpeed и минимальный TTFB дают отличный плюс к SEO.
      Работает со всеми версиями OpenCart и ocStore.
       
      Внимание: для всех белорусских доменов .BY - свободная лицензия до 2022 года
       
      Вот ссылка на демо-магазин с 20000 товаров на хостинге за $5 - https://demo.devs.mx/lightning
      А вот демо с JOURNAL3 - https://demo.devs.mx/journal3/
       
      почти мгновенное открытие страниц оптимизировано для получения высоких показателей в новом Google PageSpeed Insights быстрая работа с большим количеством товаров и категорий повышение удобства навигации по магазину и рейтингов в поисковиках не надо настраивать и приглядывать, просто работает отпадает необходимость в дополнительных модах оптимизации или кеширования  
       
       
       
       
      Если вы залогинены в админку - страницы, на которые вы заходите - после этого перегенерируются. То есть, если вы хотите увидеть изменения - просто обновите страницу.
      В большинстве случаев нет необходимости очищать кеш вручную - все обновляется автоматически.
       
      После установки у вас будет 7 дней тестового периода, дальше надо будет купить лицензию.
       
      Внимание: OpenCart Lightning не работает на localhost, только на реальных интернет-серверах.
       
      Установка
      Важно!  Перед установкой Lightning отключите или удалите все расширения для кэширования и оптимизации – если они у вас установлены. Они могут привести к конфликтам и сделают общую скорость медленнее. Lightning ускоряет каждый аспект более эффективным способом, чем конкурирующие продукты.

      Сторонние расширения WebP не будут работать корректно с кешированием страниц, поэтому отключите их, если они у вас есть. Lightning включает свою поддержку WebP по умолчанию.

      Lightning приводит ссылки всех товаров к каноническому виду shop.ru/seo-url-tovara для того, чтобы у каждого товара была только одна URL для большей эффективности. Если по каким-либо причинам вам это не подходит, активируйте опцию Отключить унификацию ссылок на товары в дополнительных настройках Lightning.
       
      Загрузите lightning.ocmod.zip в инсталлятор, зайдите в Модификации и обновите их.
       
      Если сайт лег и админка не открывается - вот как быстро все вернуть назад.
       
      Если после установки Lightning витрина магазина не открывается или выдает ошибку, попробуйте активировать опцию Отключить оптимизацию шаблонов в дополнительных настройках Lightning.
       
      Обновление
      1. Выключите Lightning.
      2. Очистите кеш Lightning.
      3. Зайдите в Модификации и удалите модификацию Lightning.
      4. Установите новую версию Ligthning.
      5. Обновите Модификации.
      6. Включите Lightning.
    • By Otvet
      Модуль призван улучшить индексацию. Управляет множеством факторов и решает большой ряд мелких недочетов Opencart.
       
      🛈 Патч совместимости с OCFilter 4.8 и новее
       
      ! Внимание БОЛЬШИЕ цветные буквы не просто так в тексте
       Указывайте домен при покупке 
       
       
       
      Что делает модуль:
      исправляет косяки вида сайт/категория/инфо которые присутствуют у 99% позволяет привести сайт к рекомендациям Google  и  Яндекс редиректы с некорректных страниц по типу сайт/категория/?page=-1 исправление ссылок и багов пагинаций выводить canonical на лишних страницах пагинации производить редирект с лишних страницах пагинации исправление адресов по типу index.php?route=product%2Fproduct&product_id= 404 на лишних страницах пагинации позволяет устранить большой ряд дублей фикс большой проблемы опенкарт - "мусорных" ссылок на теги (с версии 5.0) позволяет запретить индексацию страниц-пустышек уникализация мета-теги и заголовки страниц сайт/категория/бренд способствует распределению веса и более полной перелинковке позволяет убрать или управлять выводом атрибутов prev | next  (с 21.03.2018 Google официально перестал учитывать) уникализирует страницы пагинации (они перестают быть дублями), в том числе: шаблоны мета-данных, шаблон заголовков H1, скрытие/закрытие сквозных блоков валидация и исправление значений стандартных параметров  позволяет гибко управлять выводом canonical, с учетом таких факторов как тип url и путь в url, когда нужно и где нужно управление get-параметрами (редиректы, canonical, seo_pro) позволяет полноценно использовать определенные seo-фильтры позволяет убирать "хвосты" в индексе позволяет блокировать индексации отзывов как отдельного документа и сделать в то же время более полную индексацию отзывов способствует заполнению анкор листа товаров на страницах 2 и далее фикс кучи мелких проблем и недоработок в опенкарт и многое другое  
       
      Для более продуктивной борьбы с дублями так же крайне желательно наличие SEO_Pro (модуль его не заменяет и решает другие проблемы) и правильного robots.txt. Модуль не заменяет SEO_Pro, а решает иные задачи и проблемы.
       
      [bonus] Sitemap Lite (OCMOD только для opencart 2.x):
      заменяет оригинальный catalog/controller/feed/google_sitemap.php
      ускоренная генерация благодаря собственной функции выборки товаров (~ в 5 раз) добавление lastmod устранение дублирования товаров т.к. бонус, не подпадает под стандартную поддержку если нужна скорость, функционал, поддержка - рекомендую приобрести #FX Sitemap  
      Модуль не занимается генерацией ЧПУ. Для автоматического заполнения SEO URL (ЧПУ) можно установить это дополнение: https://opencartforum.com/files/file/2833-автоматическое-заполнение-чпу-ocmod/ и/или https://opencartforum.com/files/file/5570-fx-url-generator-free/
       
      Важно:
      Срок бесплатной технической поддержки - 1 год Локальные серверы и прочее не входит в поддержку Техподдержка на одну версию опенкарт При заказе настройки, учитывайте что она должна производиться на полностью готовом сайте, дабы потом не делать заново  
      [!] что за Аддоны - FX AddOn Pack #1
      [!] что за Бренды - #FX Brands
       
       
      Если ключ активации не пришел на почту, получить можно в ЛС или при запросе обновления.
       
    • By Otvet
      750 11
      Скачать/Купить дополнение


      [SEO] Full IndeX : Улучшение индексации и устранение ряда недочетов Opencart
      Модуль призван улучшить индексацию. Управляет множеством факторов и решает большой ряд мелких недочетов Opencart.
       
      🛈 Патч совместимости с OCFilter 4.8 и новее
       
      ! Внимание БОЛЬШИЕ цветные буквы не просто так в тексте
       Указывайте домен при покупке 
       
       
       
      Что делает модуль:
      исправляет косяки вида сайт/категория/инфо которые присутствуют у 99% позволяет привести сайт к рекомендациям Google  и  Яндекс редиректы с некорректных страниц по типу сайт/категория/?page=-1 исправление ссылок и багов пагинаций выводить canonical на лишних страницах пагинации производить редирект с лишних страницах пагинации исправление адресов по типу index.php?route=product%2Fproduct&product_id= 404 на лишних страницах пагинации позволяет устранить большой ряд дублей фикс большой проблемы опенкарт - "мусорных" ссылок на теги (с версии 5.0) позволяет запретить индексацию страниц-пустышек уникализация мета-теги и заголовки страниц сайт/категория/бренд способствует распределению веса и более полной перелинковке позволяет убрать или управлять выводом атрибутов prev | next  (с 21.03.2018 Google официально перестал учитывать) уникализирует страницы пагинации (они перестают быть дублями), в том числе: шаблоны мета-данных, шаблон заголовков H1, скрытие/закрытие сквозных блоков валидация и исправление значений стандартных параметров  позволяет гибко управлять выводом canonical, с учетом таких факторов как тип url и путь в url, когда нужно и где нужно управление get-параметрами (редиректы, canonical, seo_pro) позволяет полноценно использовать определенные seo-фильтры позволяет убирать "хвосты" в индексе позволяет блокировать индексации отзывов как отдельного документа и сделать в то же время более полную индексацию отзывов способствует заполнению анкор листа товаров на страницах 2 и далее фикс кучи мелких проблем и недоработок в опенкарт и многое другое  
       
      Для более продуктивной борьбы с дублями так же крайне желательно наличие SEO_Pro (модуль его не заменяет и решает другие проблемы) и правильного robots.txt. Модуль не заменяет SEO_Pro, а решает иные задачи и проблемы.
       
      [bonus] Sitemap Lite (OCMOD только для opencart 2.x):
      заменяет оригинальный catalog/controller/feed/google_sitemap.php
      ускоренная генерация благодаря собственной функции выборки товаров (~ в 5 раз) добавление lastmod устранение дублирования товаров т.к. бонус, не подпадает под стандартную поддержку если нужна скорость, функционал, поддержка - рекомендую приобрести #FX Sitemap  
      Модуль не занимается генерацией ЧПУ. Для автоматического заполнения SEO URL (ЧПУ) можно установить это дополнение: https://opencartforum.com/files/file/2833-автоматическое-заполнение-чпу-ocmod/ и/или https://opencartforum.com/files/file/5570-fx-url-generator-free/
       
      Важно:
      Срок бесплатной технической поддержки - 1 год Локальные серверы и прочее не входит в поддержку Техподдержка на одну версию опенкарт При заказе настройки, учитывайте что она должна производиться на полностью готовом сайте, дабы потом не делать заново  
      [!] что за Аддоны - FX AddOn Pack #1
      [!] что за Бренды - #FX Brands
       
       
      Если ключ активации не пришел на почту, получить можно в ЛС или при запросе обновления.
       
      Добавил Otvet Добавлено 15.08.2015 Категория SEO, карта сайта, оптимизация Системные требования умение читать инструкцию, работающий установщик, iq > 70 Метод активации Автоматическая активация
      Через официальный сайт дополнения Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1 ocStore 3.0
      2.3.0.2.4
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Нет  
    • By Seriusis
      1000 14
      Скачать/Купить дополнение


      YouTube lazy load & popup - оптимизация и кастомизация iframe, увеличение page speed
      Модуль решает проблему долгой загрузки iframe с youtube и увеличивает page speed. Улучшает визуальную часть и дает возможность катомизации: отображение видео в popup, установка своих превью на видео, установка произвольной иконки "play",
       
      Все вставки iframe с видео на вашем сайте перед выводом на страницу будут автоматически заменены на превью видео в виде изображений, которые подтягиваются с img.youtube.com/vi.
       
      ЗАЧЕМ
      Все знают, что iframe с видео очень сильно загружают страницу и уменьшают скорость загрузки сайта. Особенно это ощутимо (и даже визуально видно), если на странице несолько видео (каждый iframe это доп. запросы и ресурсы).
       
       

       
      ССЫЛКИ НА ДЕМО
      6 видео - разница 30-50%
      Модуль выключен:
      https://oc23.likedev.pro/6-video?disable-video-optim
      и page speed 49/33 -  https://developers.google.com/speed/pagespeed/insights/?hl=uk&url=https%3A%2F%2Foc23.likedev.pro%2F6-video%3Fdisable-video-optim&tab=mobile 
      Модуль включен  
      https://oc23.likedev.pro/6-video
      и page speed 92/75 -  https://developers.google.com/speed/pagespeed/insights/?hl=uk&url=https%3A%2F%2Foc23.likedev.pro%2F6-video 
      Страница та же, только в первом случае добавлен параметр ?disable-video-optim , чтобы модуль не срабатывал и можно было увидеть разницу. 
       
      1 видео - разница 10-30%
      И даже с 1 видео показатель достаточно проседает, особенно для мобильных устройств
      Модуль выключен:
      https://oc23.likedev.pro/1-video?disable-video-optim 
      и page speed 88/51 - https://developers.google.com/speed/pagespeed/insights/?hl=uk&url=https%3A%2F%2Foc23.likedev.pro%2F1-video%3Fdisable-video-optim&tab=desktop
      Модуль вкючен:
      https://oc23.likedev.pro/1-video
      и page speed 96/80 - https://developers.google.com/speed/pagespeed/insights/?hl=uk&url=https%3A%2F%2Foc23.likedev.pro%2F1-video&tab=mobile
       
      Админка https://oc23.likedev.pro/admin/   логин/пароль: demo/demo
       
       
      Кроме того визуально намного симпатичнее превью с иконкой, чем ютубовский iframe, да и возможность открытия видео в popup тоже очень полезна. + мы можем через css стили кастомизировать превью как нам угодно.
       
      ВОЗМОЖНОСТИ
      видео по клику на превью всплывающеее окно с видео по клику на превью произвольные изображение для превью выбор размера превью установка своей иконки на кнопку 'play' (font awesome, html) и ее стилизация через css возможно указать пути для исключения работы модуля поля для камтомных стилей и js  
       
      ОСОБЕННОСТИ
      будет работать на всех шаблонах максимально легкий модуль без зависимостей (всего пару строк css и ванильного js, никаких библиотек) будет работать даже без бутстрапа и jquery открытый код  
      ПРИМЕНЕНИЕ
      увеличение скорости загрузки и в результате лучший показатель page speed кастомизация внешнего вида видео превью вывод видео в popup позволить показывать ваши iframe даже на ограниченном пространстве подмена превью на свои позволит поставить подходящие вам изображения для видео и украсить сайт  
      ВАЖНО!  Предпочтительно использовать режим POPUP для лучшей совместимости с шаблонами, разметкой и адаптивности видео.
       
      УСТАНОВКА
       
      видео установки
      (только тут фикс не нужен, остальное - так же)
       
      Через установщик в админке загружаете архив модуля ocmod для своей версии опенкарт. 
      Для версий 2.x убедитесь, что у вас уже установлен модификатор localcopy.ocmod, если его нет - установите.
       
      PS. Для редактора CKeditor при вставке в режиме кода некоторых тегов, в т.ч и iframe, редактор их чистит.  В таком случае делаем фикс : 
      в admin\view\javascript\ckeditor\config.js
      после строки 
      config.resize_enabled = false;
      прописать 
      config.allowedContent = true;
       
       
       
      ЛИЦЕНЗИЯ 
      Лицензия выдается на один домен. Также при необходимости на тестовый поддомен.
      Ключ будет выслан автоматически на почту покупателя сразу после вашего заказа. Если по какой-то причине письма нет - пишите на почту или в лс.
       
      Приветствую дельные предложения по развитию и расширению модуля.
       
      ПРОСЬБА УКАЗЫВАТЬ ДОМЕН СРАЗУ ПРИ ПОКУПКЕ
       
      Также смотрите модули:
      Accordion & Tabs & Steps, Faq & HowTo Microdata, any place & content
       

       
      Добавил Seriusis Добавлено 12.11.2020 Категория Модули Системные требования Метод активации По запросу в ЛС
      По запросу на почту Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3.0.2.4
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет  
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.