Помощь Оптимизировать опенкарт 2.1 для 1 млн товаров. Opencart 2 оптимизация


Opencart - Seo-оптимизация Сайта Самостоятельно: Пошаговая Инструкция | Модули, Шаблоны, Движки

Внутренняя SEO-оптимизация сайта — наиболее важная часть на первом этапе продвижения сайта. Это громоздкий процесс, который сегодня обязывает пройти каждого владельца сайта, желающего привлечь бесплатных посетителей из поисковых систем. В этой статье я подготовил пошаговую инструкцию SEO-оптимизации сайта самостоятельно. Мой чек-лист по SEO-оптимизации сайт без слишком подробных объяснений — если вы крутитесь в этой сфере, вам не составит труда узнать информацию по любому из пунктов ниже через поисковые системы. Каждый из пунктов ниже — важен, не пропускайте ничего и получите эффективность, окупаемость, ожидаемый результат.

Внутренняя оптимизация сайта

  1. Составление семантического ядра (Подбор ключевых фраз).
  2. Кластеризация семантического ядра.
  3. Оптимизация каждой страницы под ключи из семантического ядра.
  4. Проводим аудит сайта на момент ошибок, дублирования страниц, ответа сервера.
  5. Настраиваем ЧПУ.
  6. Настраиваем sitemap.xml.
  7. Настриваем html-карту сайта.
  8. Настраиваем robots.txt.
  9. Добавляем кнопки социальных сетей.
  10. Размечаем страницы языками микроразметки.
  11. Настраиваем редиректы www / без www (слэш / без слэша).
  12. Проверяем ошибки по валидатору W3C.
  13. Проверяем скорость загрузки страниц.
  14. Проверяем адаптивность под мобильные устройства.
  15. Коммерческие факторы.
  16. Добавляем внутреннюю перелинковку.
1. Составление семантического ядра (Подбор ключевых фраз)Составление семантического ядра — один из самых важных пунктов внутренней оптимизации. В зависимости от направления сайта, сбор семантического ядра у специалиста может занять от 1 до 3 дней. Где взять семантическое ядро:2. Кластеризация семантического ядраСоставленное семантическое ядро (скорее всего огромное) нужно разбить по посадочным страницам, то есть группам. Основываясь на эти группы, вы займетесь продвижением каждой из страниц сайта, затачивая их под ключевые слова из конкретной группы, относящихся к этой странице.

Кластеризацию семантики можно выполнять:

3. Оптимизация каждой страницы под ключи из семантического ядраОписывание чек-листа по оптимизации каждой из продвигаемых страниц заняло бы неделю. Предлагаю несколько инструментов, которыми пользуюсь я:4. Проводим аудит сайта на момент ошибок, дублирования страниц, ответа сервераДля аудита сайта на момент ошибок, дублирования страниц и кода ответа сервера создано множество сервисов и программ. Я использую одну бесплатную программу и один платный сервис.По результатам работы программы и сервиса вы сможете отследить ошибки, дублирование контента на разных страницах, плохие ответы сервера и поправить их.

Настраиваем ЧПУЧПУ — человекопонятные ссылки. Пример: site.ru/category/name вместо site.ru/2016/post-31. Если вы не программист — лучше не настраивайте самостоятельно.

Для популярных CMS, таких как, WordPress, Joomla!, modx, OpenCart, настройка ЧПУ входит в стандартный функционал или расширяется с помощью плагинов.

Для самописных сайтов модуль ЧПУ придется создавать вручную. Для настройки модуля ЧПУ или решения других программных вопросов.

Настраиваем sitemap.xmlSitemap.xml — список страниц, которые подлежат индексации поисковыми системами, и приоритетов индексирования. В сайтмапе могут содержаться данные про изменение страниц. Подробно: Справка Google о Sitemap.xml.

Создать автообновляемый sitemap.xml в популярных CMS можно посредствами плагинов, модулей и расширений, в самописных сайтах — путем написания вручную модуля генерации.

Настриваем html-карту сайта.Html-карта сайта требуется для создания низкого уровня вложенности для всех страниц сайта и дополнительного навигационного инструмента для людей.

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

Настраиваем robots.txtRobots.txt — документ в корневой директории сайта, инструкции в котором применимы к роботам, в том числе, роботам поисковых систем. Подробно: что такое robots.txt.

Сегодняшние требования поисковых систем — окрытые для индексации файлы, являющиеся ресурсами, подгружаемыми в браузере. Сюда можно отнести css, js файлы, все расширения изображений и видео. Желательными директивами в robots являются Host и Sitemap.

Пример robots.txt:

Код:

User-agent: * Disallow: /admin/ Disallow: /cgi-bin/ Allow: /*.css Allow: /*.js Host: site.ru Sitemap: http://site.ru/sitemap.xml Подробнее о настройке robots.txt.

Добавляем кнопки социальных сетейСоциальные сигналы из популярных соц сетей по мнению многих специалистов берутся в учет поисковыми системами. Некоторые из них проводят эксперименты.

Существует несколько способов добавить кнопки социальных сетей на сайт. Взять их прямо из API социальных сетей или воспользоваться готовыми аналогами, как Yandex Share или Pluso.

Размечаем страницы языками микроразметкиО чем бы не была ваша страница, данные на ней имеют определенный тип и тематику. В зависимости от этого вы можете разметить данные страниц с помощью структурированных языков микроразметки.Основные виды микроразметки. Размечая данные на сайте с помощью микроразметки, поиск с точностью понимает, о чем ваша страница и показывает её специальным способом (делает соответствующий сниппет). Думаю, каждый встречал звездочки в выдаче Google. Это один из видов микроразметки под названием Schema.org Reviews.

Настроить микроразметку можно с помощью сервиса Google, проверить у него же.

Настраиваем редиректы www / без www (слэш / без слэша).Каждый человек привык по разному вводить адреса сайтов в интернете. Кто-то пользуется www, кто-то нет. В обоих случаях сайт открывается. Но если в одном случае открылся www.site.ru, а в другом site.ru, есть проблема — эти сайты будут учитывать как абсолютно разные. Поиск уже научился определять их идентичность, но не досконально. Чтобы показать соответствие этих 2 вариантов, делается автоматическое направление на каноническую (основную) версию страницы. Инструкция по настройке редиректа www /без www.

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

Проверяем ошибки по валидатору W3CКод страницы должен быть чистым. Яндекс в инструкции для вебмастеров упоминает про влияние на выдачу «чистоты» кода.

Проверка валидности html и css.

Проверяем скорость загрузки страниц.На скорость загрузки влияет множество факторов. Со всеми вы можете ознакомиться, введя проверяемый сайт на сервисе от Google — Page Speed Insights. Тут же вам предлагают скачать оптимизированные файлы изображений, css, html, js для ускорения работы сайта. Пользуясь инструкциями сервиса, можно ускорить сайт в разы.

Проверяем адаптивность под мобильные устройстваСуществует множество сервисов проверки удобства отображения на мобильных устройствах и планшетах, но лучший из них тот, под который мы это делаем — официальный сервис google (Нижняя часть вкладки «Для мобильных»). Что такое адаптивные сайты — справка Google.

Если вы не верстальщик — советую заказать адаптивную верстку у профессионалов.

Коммерческие факторыЕсли у вас коммерческий сайт, нацеленный на продажу услуг или товаров, проверьте соответствие коммерческим факторам ранжирования.

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

Яндекса, Google, Bing, Mail.ru. В каждый из этих вебмастеров после регистрации нужно добавить карту сайту (ссылку на sitemap.xml). Дополнительно в Яндексе выставить регион сайта, в Google страну, в Mail.ru — добавить контактную информацию и желаемые дополнительные ссылки. Кроме этого в вебмастерах можно протестировать индексацию отдельных таксономий сайта в инструментах тестирования robots.txt.

[paste:font size="4"]Добавляем счетчики посещаемостиРекомендую к добавлению на сайт Яндекс Метрику, Google Analytics, Рейтинг Mail.ru, Rambler TOP-100. Осенью 2015 Яндекс сделали заявление, что Яндекс Метрика «косвенно» влияет на выдачу Яндекса. Рейтинг Mail.ru и Rambler TOP-100 нужны не только для замера посещаемости, но и для участия в рейтинге сайтов, откуда кроме трафика получаеться жирная ссылка, открытая для индексации.

Индексируем сайтДобавляем главную страницу сайта в Аддурилку Яндекса и Google:

https://webmaster.yandex.ua/addurl.xml

https://www.google.com/webmasters/tools/submit-url?hl=ru

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

Добавлем в Google Business

Google Business — сервис, который я считаю обязательным к добавлению коммерческим сайтам. После того, как вы будете подтверждены, по запросам, связанным с url и названием вашего сайта будет особый сниппет и выдача в правой части страницы. После заполнения всех предложенных данных будет создан Google Business (аналог обычной Google Plus). Кроме того на адрес вашего бизнеса (физический, не электронный) будет отправлено реальное письмо от Google с кодом, который следует ввести для подтверждения вашей регистрации. Только после подтверждения поменяется сниппет и правая часть выдачи для главной страницы. Данные из Google Business используются для дополинтельного геотаргетирования сайта.

Добавление в Google Business.

Добавляем в Яндекс ОрганизацииВторой обязательный сервис для e-commerce сайтов. Добавление в Яндекс Организации дает несколько бонусов:

Добавление сайта в Яндекс Справочник.

Добавляем ключевые слова в проверщик позицийВ арсенале SEO-специалистов и оптимизаторов обычно множество инструментов для съема позиций с учетом региона. Есть как бесплатные, так и платные программы и сервисы. Я пользуюсь двумя:

Бесплатный вариант — программа Кей Коллектор. Без Яндекс XML снимает медленно, но бесплатно. Пользовался до расширения объемов работы.

Платный вариант — SerpSeeker. Быстрый платный съем позиций по ключевым словам, классная тех поддержка. Очень мощный функционал. Настоятельно рекомендую! По ценам — за съем позиций по 100 ключевым словам сервис предлагает заплатить 4 рубля. Мой стандартный съем обходиться 4-80 рублей.

Смотрим оптимизацию конкурентовВыпишите url основных 10 конкурентов в Яндексе и Google. Ваша задача — просмотреть их визуально, подсмотреть их «фишки», проанализировать ссылочный профиль (linkpad и ahrefs), проверить основные параметры (возраст домена, тИЦ, PR, число проиндексированных страниц). На базе этой информации составьте план продвижения сайта, предложите его клиенту.

 

lowenet.biz

IMDBOptimizer (OC 2.3) - Оптимизация базы данных OpenCart (ОпенКарт) и ocStore

Совместимость OpenCart 2.3, OCStore 2.3
IMDBOptimizer (OC 2.3) - Оптимизация базы данных

Версию для OpenCart 1.5 можно найти тут:https://liveopencart.ru/opencart-moduli-shablony/moduli/prochee/imdboptimizer-oc-1-5-optimizatsiya-bazyi-dannyih

Версию для OpenCart 2.0 - 2.2 можно найти тут:https://liveopencart.ru/opencart-moduli-shablony/moduli/prochee/imdboptimizer-optimizatsiya-bazyi-dannyih

Версию для OpenCart 3 можно найти тут:https://liveopencart.ru/opencart-moduli-shablony/moduli/prochee/imdboptimizer-oc-3-optimizatsiya-bazyi-dannyih

Оптимизация базы данных интернет-магазина — это весьма непростой вопрос, порой требующий отдельных исследований. И самое неприятное в этом процессе заключается в том, что сделать хоть какую-то оптимизацию может только тот, кто знает sql-запросы и разбирается в базах данных (БД).

Вот как раз для того, чтобы клиентам не приходилось заниматься тем, что им не обязательно знать, и создан IMDBOptimizer (OC 2.3).

Статьи про модули или просто полезные материалы:

1. Что такое индексы базы данных (для начинающих)? 2. Индексы и немного хитрой математики 3. Тестируем IMDBOptimizer для 2000 и 5500 товаров (индексы)4. Пример пользы индексов и IMDBOptimizer 5. Тестируем IMDBOptimizer для 5500 товаров — Кэш SQL-запросов

Демо модуля

Демо админки (demo/demo)

Кэширование SQL-запросов

OpenCart, как и любая CMS, осуществляет немалое количество sql-запросов к БД, часть из которых являются однотипными (то есть для разных пользователей будет один и тот же результат).

И если товаров много, то sql-запросы легко могут стать основной причиной тормозов интернет-магазина (если у вас 5000+ товаров, то об этом вы, вероятно, хорошо знаете).

Однако, этого можно избежать за счет кэширования sql-запросов модулем IMDBOptimizer. 

Возможности: 1. Гибридная система кэширования SQL-запросов (БД + файлы), позволяющая увеличить скорость генерации HTML-страницы (тестировалось на стандартном OpenCart с 5500 товаров — прирост производительности от 30% до 70-80%) и частично сбалансировать нагрузку между диском и БД. 2. Поддерживается фильтр «по словам» для исключения SQL-запросов из процесса кэширования (регистронезависимо).  3. Поддерживается фильтр «по URL» для исключения отдельных страниц из процесса кэширования  SQL-запросов (регистронезависимо). 4. Так как кэшируются только SQL-запросы, то такой модуль можно успешно применять совместно с другими модулями кэширования (например, v2pagecache). Однако, совместимость лучше проверять на тестовом сервере. 5. Установили модуль? Ничего не нужно настраивать для кэширования. SQL-запросы автоматически начинают кэшироваться (с учетом фильтров), без необходимости что-то еще настраивать. 6. Еще одной отличительной особенностью кэширования именно SQL-запросов является то, что если один и тот же запрос используется при генерации разных веб-страниц или же просто выполняется повторно, то используется всего один кэш. Простой пример, открыли один и тот же товар из разных категорий — опции будут закэшированы всего 1 раз. 7. Можно применять как с созданием индексов, так и без. 8. При установке, модуль сразу создает типовую настройку, нужно лишь включить кэш. 9. Легко включается и легко отключается.

Ограничения и нюансы: 1. Так как это модуль кэширования уровня БД, то необходимо учитывать, что такие возможности, как отображение реального остатка товара или текущей цены в карточке, не поддерживаются (данные же кэшированы). 2. Кэшируются только SQL-запросы, начинающиеся с select. 3. Заменяется ядровой файл registry.php 4. Кэширование применяется только к клиентской части, в админской части все запросы выполняются как обычно. 5. Учитывайте, что кэширование это дополнительная нагрузка. Например, при первом открытии страницы товара, она может дольше загружаться (создается кэш).

Кэширование SQL-запросов — включение и очистка

Как включить кэширование: 1. Перейдите во вкладку «Кэш SQL-запросов». 2. Укажите, что кэширование «Включено» и сохраните настройки. 3. Кэш включен Для отключения нужно сделать все то же самое, только в шаге 2 установить «Отключено»

Как очистить кэш: 1. Перейдите во вкладку «Кэш SQL-запросов» 2. Нажмите кнопку «Удалить кэш» 3. Дождитесь соответствующего сообщения

Кэширование SQL-запросов — фильтры

Фильтр запросов «по словам»: В данном фильтре построчно указываются фразы, которых не должно быть в запросе (приводятся к нижнему регистру). По умолчанию, указан список таблиц/префиксов для стандартной конфигурации.

При фильтрации, символ «#» заменятся на префикс базы данных, что позволяет создавать собственные конфигурации, которые легко переносить в другие интернет-магазины.

Важно! Пробелы так же учитываются - сделано для того, чтобы можно было исключать отдельные таблицы. Например, строка «#order» без пробела после order исключает все таблицы, связанные с заказом. А с пробелом после исключает только oc_order (рекомендуется так же дублировать правило и указывать апостроф после order, так как SQL-запросы формируются по-разному).

Пустые строки игнорируются. Так же игнорируются пробелы вначале и в конце SQL-запроса.

Фильтр запросов «по URL»: В данном фильтре построчно указываются комбинации «[тип поиска]: [часть URL адреса]» (или же просто «[часть URL адреса]») для отключения кэширования при генерации конкретных страниц (таких как корзина или же оформление заказа). Все комбинации приводятся к нижнему регистру (регистронезависимо).  1. [часть URL адреса] – это какая-то часть URL адреса, например, «#/cart/» или «=checkout/».  2. [тип поиска] – имеет три значения: «l» (сравнивать часть адреса сначала URL; учитываются параметры запроса), «i» (искать часть адреса внутри URL; учитываются параметры запроса), «r» (искать часть адреса справа; параметры запроса не учитываются). 

При фильтрации, символ «#» заменятся на домен сайта, что позволяет создавать собственные конфигурации, которые легко переносить в другие интернет-магазины.

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

Так же учитывайте, что префиксы «http://» и «https://» обрезаются, и что если фрагмент «[тип поиска]:» не указан, то поиск происходит слева (чтобы можно было просто URL вставлять).

Примеры: r: #/cart Подходит «site.ru/cart», «site.ru/cart?asd=1». Но, не подходит «site,ru/cartini» i: =checkout/ Подходит «site.ru/index.php?route=checkout/checkout&1=2». Но, не подходит «site.ru/index.php?route=check/some».

Кэширование SQL-запросов — дополнительные настройки

Максимальный размер вставки в БД. Данный параметр указывает свыше какого размера данных, информацию необходимо кэшировать в файл. Максимальное значение 65000. Рекомендуется использовать в диапазоне 20000 — 30000.

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

Для тех, кому нужна только базовая оптимизация

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

Важно! Учтите, что операция весьма длительная и что требуется минимальная нагрузка в базе данных (то есть, желательно, чтобы пользователей сайта вообще не было или их было немного). В крайнем случае, вы можете создавать индексы по одной таблице отдельно, а не все скопом.

1. Сделайте бэкап всей базы данных! Это важно! 2. Откройте модуль 3. Выберите все таблицы (можно щелкнуть по ссылке «Выделить всё») 4. Чуть ниже, щелкните по кнопке «Генерировать!» 5. Откиньтесь на спинку кресла и наблюдайте как модуль создает индексы

Несколько щелчков мыши и у вас проведена базовая оптимизация базы данных!

Профилактика — создание индексов

Для профилактики, необходимо запускать генерацию после установки любых других модулей, которые создают свои таблицы (не всегда в них имеются все необходимые индексы).

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

Профилактика — оптимизация таблиц

Базы данных это сложные механизмы, где часть вещей остается на ответственность пользователей. Одной из них является снижение производительности, в связи с частым изменением и модификацией набора записей таблиц. 

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

Поэтому для повышения производительности БД рекомендуется периодически выполнять оптимизацию таблиц. В среднем, для OpenCart это, примерно, раз в неделю.

Чтобы провести оптимизацию, достаточно лишь открыть вкладку «Сервис», выбрать таблицы и нажать кнопку «Оптимизировать!».

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

Починка таблиц

Как же неприятно открыть страницу товара и увидеть вместо карточки сообщение вида «PHP … Table is currupted … try to repair it...».

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

Модуль же позволяет существенно упростить этот процесс. Нужно лишь указать поврежденную таблицу и нажать кнопку «Починить!» во вкладке «Сервис».

Учтите, что ошибки при подсчете не всегда означают ошибки восстановления. Так, например, таблица oc_cart попросту не поддерживает данный вид команды. 

Блок с именами

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

Стоит понимать, что они действуют по правилу ИЛИ. То есть если поле таблицы указано среди конкретных полей ИЛИ начинается с одного из указанных префиксов ИЛИ заканчивается на одном из указанных окончаний, то для поля в текущей таблице будет создан индекс. 

Например:

Конкретные поля: product_id, language_id

Префиксы: stat, col

Окончания: _id

При таких настройках, индекс для поля «product_option_value_id» будет создан (если его нет в таблице), так как поле заканчивается на «_id»

Карта индексов

В данном блоке можно составлять конкретные индексы, которые необходимо создать. Важно, что таблица каждого правила должна быть выбрана в списке таблиц. Иначе индекс не будет проверен или создан. 

Правила составляются по следующему принципу: 

Имя таблицы - Поле (, Поле)

Где имя таблицы может быть как указано с общим префиксом БД, так и вместо префикса можно использовать символ #, который будет автоматически заменен на префикс. Чтобы создать индексы из нескольких полей, их необходимо перечислить через запятую.

Например:

#product_description - language_id, product_id

В данном случае будет создан индекс (language_id, product_id) для таблицы oc_product_description (если такового индекса не было в таблице).

Удаление индексов

В закладке «Индексы» есть возможность удалять из таблиц индексы, созданные модулем. А именно те, которые имеют префикс «imdbo_». 

Сделано это для того, чтобы исходные индексы или созданные вручную индексы не были случайным образом удалены из базы данных.

Подход к генерации имен индексов

Чтобы упростить использование созданных индексов для других авторов и создателей сайтов, в модуле был введен специальный алгоритм генерации имен создаваемых индексов.

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

Сам алгоритм подбора

Шаг 1. Составляется имя «imdbo_» + «[поле 1]» + «_[поле 2]» + … + «_[поле N]». Если у таблицы индекса с таким именем нет и его длина не превышает 64 символа (требование БД), то индексу присваивается это название. В противном случае, алгоритм переходит к следующему шагу.

Например, для индекса (product_id) будет использовано имя «imdbo_product_id», а для индекса (product_id, order_id) будет использовано имя «imdbo_product_id_order_id». И так далее.

Шаг 2. Составляется имя «imdbo_» + «[поле 1 — первые буквы слов в столбце]» + «_[поле 2 — первые буквы слов в столбце]» + ...  Если индекса с таким именем нет и его длина не превышает 64 символа (требование БД), то индексу присваивается это название. В противном случае, переход к следующему шагу.

Например, для индекса (order_id, customer_id, store_id, payment_zone_id, currency_id, marketing_id), чья длина больше 64 символов в шаге 1, будет использовано имя «imdbo_oi_ci_si_pzi_ci_mi».

Шаг 3. Практически нереальная ситуация, но сделана для унификации. Составленное имя из шага 2 обрезается до 61 символа (если требуется) и к нему прибавляется приставка «_[номер]», где номер от 1 до 99. 

Например, «imdbo_oi_ci_si_pzi_ci_mi_1», …, «imdbo_oi_ci_si_pzi_ci_mi_25», «imdbo_oi_ci_si_pzi_ci_mi_99». Если же и это недостижимо, то выполняется следующий шаг.

Шаг 4. Аналогично шагу 3, практически нереальная ситуация, но сделана для 100% унификации. Имя стоится как «imdbo_» + «[время UTC]»  + «_[номер]». Например, «imdbo_1508711578_3».

А теперь, по-простому. При базовой оптимизации будут созданы индексы только шага 1. Шаг 2 это уже настройки из карты индексов (если вручную были указаны сложные составные индексы). Шаг 3  встретится очень редко, но если и встретится такое, то имена с постфиксами будут аналогичными от интернет-магазина к интернет-магазину. Шаг 4 сделан просто для безопасности, но в реальности невозможен (если, конечно, кто-то специально вручную не создал более 100 одинаковых индексов для таблицы).

Особенности и ограничения

1. Важно учитывать, что генерация индексов происходит для каждой таблицы отдельно. То есть для каждой таблицы отдельно посылается AJAX-запрос. Это связано с тем, что для больших таблиц создание одного индекса может быть весьма длительной операцией. Поэтому, если вы запустили генерацию, то просто дождитесь, когда рядом с кнопками появится сообщение, что генерация завершена. 2. Создаются только обычные индексы.  3. Удаляются только индексы, созданные модулем. А именно те, которые имеют префикс «imdbo_». Сделано для того, чтобы не сломать исходные настройки базы данных и вручную созданные индексы. 4. Если не существует указанных таблиц или полей, то указанные данные будут просто игнорироваться.  5. В БД проверяются только те таблицы, которые начинаются с префикса копии опенкарта (Сделано для тех, кто использует в одной БД несколько сайтов) 6. Пользователь должен иметь полные права для получения доступа к БД (или достаточные для получения метаданных и создания индексов) 7. Оптимизация производится для БД MySQL 8. Имена создаваемых индексов имеют технические названия (техническое ограничение автоматизации) 9. Если существует идентичный по полям индекс, то ничего не будет происходить. 10. Заменяется ядровой файл registry.php 11. Требуется boostrap и jquery

Установка, следующие версии и использование

1. Распакуйте в корень сайта содержимое (каталоги admin и system) 2. Откройте админку и установите модуль (если это следующая версия, то переустановите) 3. Обновите модификаторы 4. Откройте в админке модуль (редактирование)

Лицензия и использование

Сделано для версий OpenCart 2.3.0.2, ocStore 2.3.0.2, 2.3.0.2.1 Лицензия распространяется только для одного сайта. Т.е. 1 домен = 1 оплата. Купив модуль вы автоматически соглашаетесь с текстом лицензии. Модуль имеет принцип распространения "as is" ("Как есть").   Ввод лицензионного ключа необходимо осуществить в течение 5 дней после установки модуля. Лицензионный ключ состоит из двух частей. Ключи необходимо вводить так, как они были присланы, без лишних пробелов и символов. Запрещается несанкционированное использование, копирование, перепродажа, передача модуля третьим лицам, а также иные способы распространения, в том числе в ознакомительных целях.

Если вы приобрели модуль до введения лицензирования, то вам необходимо написать мне и указать при этом доменное имя сайта и тестовый домен, если таковой имеется (учтите, что тестовый домен должен быть тестовым, то есть поддоменом какого-либо сайта). Если у вас русский домен, то необходимо указывать то имя, которое указано в config.php в корне сайта.

Версия 1.3.0 - Совместимость с модулями Версия 1.2.0 - Добавлен кэш SQL-запросов Версия 1.1.0 - Изменен подход к генерации имен индексов - Добавлена возможность удалить созданные модулем индексы - Добавлена вкладка "Сервис" Версия 1.0.0 - Сам модуль  

liveopencart.ru

Помощь - Оптимизировать опенкарт 2.1 для 1 млн товаров

Inferno Solutions

Информация :

Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!

Страница 1 из 2 1 2 Вперёд >
  1. Димасmrf

    Регистр.: 1 июн 2015 Сообщения: 156 Симпатии: 2 Всем привет. Подскажите как можно оптимизировать базы и сервер для опенкарта с большим количеством товаров?

    Очень буду признателен за дельные советы.

    Может кто-то может с этим помочь?

     

  2. aurora2000 Постоялец

    Регистр.: 24 авг 2014 Сообщения: 122 Симпатии: 42 А какой размер базы? Из самого простого сделать ram диск и перенести базу на него.

     

  3. sserg11 Постоялец

    Регистр.: 19 янв 2014 Сообщения: 79 Симпатии: 19 Димасmrf сказал(а): ↑ Всем привет. Подскажите как можно оптимизировать базы и сервер для опенкарта с большим количеством товаров?

    Очень буду признателен за дельные советы.

    Может кто-то может с этим помочь?

    Нажмите, чтобы раскрыть...

    Для базы таких размеров не поможет ны кеширование, ни сжатие. Даже алиэкспрес тормозит при их финансовой возможности привлекать лучших спецов и оборудование. Выход один: сделать несколько магазинов с одинаковым дизайном на поддоменах или папках (https://www.домен/доп_сайт ) с разными базами и переходом в друзой магазин для определённых категорий.

     

  4. aurora2000 Постоялец

    Регистр.: 24 авг 2014 Сообщения: 122 Симпатии: 42 sserg11 сказал(а): ↑ Для базы таких размеров не поможет ны кеширование, ни сжатие. Даже алиэкспрес тормозит при их финансовой возможности привлекать лучших спецов и оборудование. Выход один: сделать несколько магазинов с одинаковым дизайном на поддоменах или папках (https://www.домен/доп_сайт ) с разными базами и переходом в друзой магазин для определённых категорий.

    Нажмите, чтобы раскрыть...

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

     

  5. sserg11 Постоялец

    Регистр.: 19 янв 2014 Сообщения: 79 Симпатии: 19 aurora2000 сказал(а): ↑

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

    Нажмите, чтобы раскрыть...

    Согласен. Не только корзину, но и админку в части статистики и обработы заказов, регистрации и сопровождения пользователей (покупателей). Но если человек или фирма замахивается на такой проект, то наверное предусмотрено ресурсы.

     

  6. Gansik Создатель

    Регистр.: 15 дек 2007 Сообщения: 32 Симпатии: 47 А что продаете ? У меня самописный движок, автозапчасти, база товаров около 10 млн. Работает отлично.

     

  7. Gansik Создатель

    Регистр.: 15 дек 2007 Сообщения: 32 Симпатии: 47 Если проблема в поиске, то используйте sphinx

     

  8. snusik_zzz

    snusik_zzz Писатель

    Регистр.: 30 май 2016 Сообщения: 6 Симпатии: 1 Gansik сказал(а): ↑

    А что продаете ? У меня самописный движок, автозапчасти, база товаров около 10 млн. Работает отлично.

    Нажмите, чтобы раскрыть...

    В паблике сайты на нем есть?

     

  9. p2rcoder

    Регистр.: 16 июл 2012 Сообщения: 270 Симпатии: 110 если речь про автозапчасти, то никакой альтернативы текдоку нет, а если речь просто о магазине на миллион товаров, то зачем уже со старта стрелять себе в ногу, выбирая опенкарт или любой другой движок? тут все нужно делать с нуля, без всяких мультимагазинов, мультиязыков, нормализаций базы и т.п., что заметно замедляет работу. Нет денег делать с нуля и сам не можешь сделать? тогда и нечего лезть вообще в это дело, потому что полгода потыкаешься помыкаешься и на этом все закончится.

     

    Gansik нравится это.
  10. snusik_zzz

    snusik_zzz Писатель

    Регистр.: 30 май 2016 Сообщения: 6 Симпатии: 1 p2rcoder сказал(а): ↑

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

    Нажмите, чтобы раскрыть...

    Вот любитель вы рубить с плеча. К примеру, я сейчас пытаюсь сделать на сайте раздел - каталог на сотню тысяч товаров. Естественно, нет желания тратить на это 200к+ рублей. Да и мало у кого есть желание прыгать с места в карьер и тратить миллионы на начало бизнесов. Чаще всего пытаешь наколхозить, а в случае признаков успеха - влиться серьезно.

     

Страница 1 из 2 1 2 Вперёд >

www.nulled.cc


Prostoy-Site | Все права защищены © 2018 | Карта сайта