Настройка Opencart

Opencart VS Bitrix

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

В обоих случаях это были магазины овер 100 000 товаров.
А в одном еще и 95 000 категорий.

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

Основная проблема — это произодительность системы, и где-то они взяли миф, что битрикс бля быстрый.

Я погуглил немного, все более вменяемые решения на битриксе, которые выглядят как шаблон + установленная система — это сто тыщ рублей. За сто тысяч рублей,я знаю пять специалистов, которые сделают шикарный магазин на опенкарт с таким функционалом, который на битриксе будет стоить раз в пять дороже.

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

Ну и непосредственно производительность….

В последних версиях битрикса, они выдумали супер систему кеширования, которая абсолютно все блоки магазина валит в кеш. То что без кеша все ели ползает — про это все молчат. Зато с кешем же быстро. Вот так и пошел миф, что битрикс стал быстрый.

Я знаю немного изнутри историю украинского 27.ua(это онлайн проект строй-гипермаркетов эпицентр), в которой положили не один миллион долларов и полгода не могли дать ему ладу, реально страницы грузились по 10-15 секунд, не знаю чем закончилось, нашли видимо специалистов  — сейчас стало получше. Но я даже себе боюсь представить бюджет, который они отдали за оптимизацию.

Но это все лирические отступления. На самом деле — нет разницы что битрикс, что опенкарт, что magento. Технологически все эти проекты принципиально ничем друг от друга не отличаются. Везде php+mysql. И если при нынешних мощностях серверных процессоров с временем обработки данных полученных из базы средствами интерпретатора php — вопросов нет и это очень быстро. То вот mysql  — это ахиллесова пята всех систем. Mysql  — это реляционная база данных, корни которой ведут глубоко глубоко к dbase и foxpro. Реляционные базы данных отлично подходят для хранения и обработки типизированных наборов данных. Т.е. когда у нас есть таблицы-справочники и таблицы с набором айдишник-значение — вопросов нет. Можно обрабатывать и обслуживать очень большие проекты. Но структура магазина подразумевает не типизированные наборы данных, как то значения атрибутов, теги, описания товаров etc… Я думаю все вы слышали такое понятие как BigData. Вот BigData и mysql  — это как на жигулях возить вагон угля. Прогресс в IT не стоит на месте, и давно придуманы noSQL хранилища, у которых совершенно иной принцип организации и хранения данных. Так как большого распространения в массы технологии не получили так как требуют несколько большего скила, чем залить на фтп скрипт движка и ввести логин пароль базы. Разработчики движков естественно ориентируются на максимально возможный охват аудитории, поэтому по прежнему продолжают использовать mysql, и в этом ничего плохого нет, так как на магазинах в 10-15-20 000 товаров, она на ура справляется со всеми задачами. Но когда вопрос становиться о большом проекте от 100 000 товаров, с большим трафиком. То тут уже ну никак дело не в платформе. Везде там, где есть mysql, будет тупняк. Везде, где отсутствует кеширование повторяющихся запросов и элементов структуры проекта — будет тупняк. Везде где есть тугие запросы — будет тупняк.

Оптимизацией магазинов, я занимаюсь уже больше четырех лет. Я однозначно могу сказать — писать запросы mysql  — это искусство. Но в какой то момент, как ты не оптимизируй запросы, как не приводи в порядок структуры базы, как ты не кешируй все и вся, наступает предел возможности технологии.

Ну вот очень простой пример. Есть таблица с атрибутами на 1 миллион записей, для того чтобы нам найти все товары у которых есть значения атрибута цвет красный, системе надо просканировать всю таблицу. Весь 1 миллион строк. Вы скажете — почему нельзя использовать индексы? А нельзя, потому что у нас в таблице тип поля — text. А на него можно повесить только индекс full-text и потом обрабатывать данные через match against. Да да, вы сейчас скажите — что это же отличная идея и где то про такое читали. Но full-text индекс работает только по вхождениям больше 3 символов. И поиск по набору данных будет находить как красный  так и светло-красный или темно-красный. Вобщем это совершенно не вариант и не выход. Единственный выход в даном случае — это подключать дополнительный сервис обработки информации, который заточен для работы с подобными наборами данных. Не важно это будет Сфинкс, Эластик или та же монго. Реализовать подобный механизм просто и быстро, возможно только при помощи стороннего сервиса, заточенного под полнотекстовую обработку данных. Я специально не пишу полнотекстовый поиск. Так как поиск в данном контексте — это лишь один из возможных вариантов использования технологии, для оптимизации работы проекта в целом. Пару месяцев назад я рассказывал про реализацию Sphinx-фильтра. Также, просто обработка выборки товаров по категориям, источником данных для которых служит sphinx а не mysql — ну это просто земля и неба.

И вот все это я к чему. Чуваки, поймите, так исторически сложилось, что все платформы магазинов используют не самую лучшую, но самую доступную и массовую связку технологий. Так исторически сложилось, что нельзя просто взять и взять. Ну там типа купить сервер, проставить индексы, кеширующий модуль и все полетит. На любой платформе, буть то битрикс, преста или опенкарт, большой проект необходимо долго и дорого настраивать, чтобы он стабильно работал. Бесплатный сыр — сами знаете где.

Так что, собираетесь строить большой проект, хотите быструю систему, умножайте сразу ваш предполагаемый бюджет на три, ну а в случае с Битриксом на 10, так как уже сейчас к любому спецу по Опенкарт хрен прорвешься, а в ситуации с Битриксом — это будет на порядок сложнее. А на аферистов-подешевле можно потратить и левую и правую почки.

Вобщем, всем быстрых магазинов и тонны трафика!

Хуйнаныр(29)Очко(0)

Настройка почты на VPS вторая серия

telka_pochta_siski_piski

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

Но не все.
Тем кому бабы давали — очень приятные люди и иногда даже достойны уважения.
Один из таких уважаемых мною людей — это господин Savage4pro.

Прочитав мой предыдущий пост про настройку почты, господин Savage выписал мне пизды и сказал что я неграмотный идиот авторитетно, с позиции специалиста, первым словом которго было grep yebi—vashu—mat >&dev null прокомментировал мой бесталанный высер.

Я даже не стал редактировать и собирать в кучу основные тезисы, привожу весь текст без купюр. Так как, тем кому не надо, читать не будут, как не редактируй, а тему кому надо без труда вынесут для себя массу полезной информации.

Читать далее

Хуйнаныр(21)Очко(0)

Получаем счетчик Яндекс Метрики

yametrika

Не люблю я Яндекс какой то он прыщавый и тормознутый как говорил один из героев фильма Брат-2, и Google Аналитикс в этом плане на голову выше и главное привычней. Но есть как минимум две причины почему его стоит использовать:

  1. У них есть Вебвизор и карта кликов по сайту (если возникнут вопросы что это и с чем его едят, напишу статью по просьбам трудящихся)
  2. Без метрики фиг настроишь ретаргетинг :-)

Читать далее

Хуйнаныр(18)Очко(0)

Создаем компанию в Яндекс Директ

yandex

Первым делом нам потребуется завести учетную запись в Яндекс думаю, с этим вы разберетесь без меня.

После этого переходим по адресу https://direct.yandex.ru в самом верху нажимаем дать объявление, и видим перед собой следующее.
Читать далее

Хуйнаныр(27)Очко(0)

Ремаркетинг Google Adwords

remarketing

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

Хуйнаныр(28)Очко(0)

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

adwords_company

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

Хуйнаныр(19)Очко(0)

Создание рекламной компании Google Adwords

Изображениеgoogle-adwords-company
Прежде чем создавать акаунт в Google Adwords нам потребуется емейл который еще не задействован для ADWORDS

Я как вы понимаете не буду Вам рассказывать как регистрировать емейл в gmail :-)

У меня он уже подготовлен и я перехожу по адресу https://adwords.google.com/

Читать далее

Хуйнаныр(11)Очко(0)

Google Adwords как источник быстрых продаж

google-adwords
В рамках серии статей про рекламу в гугл будут рассмотрены следующие этапы настройки:

  1. Создание рекламной компании;
  2.  Привязка банковской карты и первое пополнение счета;
  3. Создание рекламных объявлений;
  4. Что такое Ключевые слова и зачем они нужны;
  5. Что такое Минус слова и зачем они нужны;
  6. Типы компаний;
  7. Ремаркетинг;
  8. Возможно, что то еще;
Хуйнаныр(10)Очко(0)

Товар таблицей (сеткой) в каталоге OpenCart по умолчанию.

Последнее время, по какой то причине я часто слышу вопрос, как сделать товар таблицей по умолчанию в каталоге опеннкарт, все достаточно просто для этого нам необходимо отредактировать следующие файлы:

Читать далее

Хуйнаныр(3)Очко(2)

Тормозит Opencart часть 6. Модуль TurboCache

image

В цикле статей про ускорение Opencart, мы постоянно упоминали кеширование, кеширование и еще раз кеширование.

При формировании страницы движок собирает ее из нескольких основных частей. И для  получения максимально прироста производительности, желательно, чтобы однотипные сегменты страниц, вместо того чтобы им постоянно фомироваться заново, брались уже готовые, что сэкономит ресурсы сервера, и повысит скорость генерации страниц. А после этого. Не лишним было бы сохранить полностью готовый HTML и в следующий раз, при запросе на страницу, данные которой у нас уже готовы, отдать ее из кеша, а не генерировать заново.

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

Читать далее

Хуйнаныр(3)Очко(0)

SEO Аудит магазина на Opencart

seo-audit
Меня часто просят посмотреть на их магазин и сказать свое мнение по поводу SEO пригодности их сайта имеется ввиду внутренняя оптимизации и устранение стандартных болячек.
1.    Нужно проверить включен ли у Вас SEO Pro для этого идем в админку магазина:
Система -> Настройки -> Вкладка Сервер -> Тип ЧПУ если стоит SEO Pro значит пол дела сделано.
Читать далее

Хуйнаныр(7)Очко(0)

Третий уровень категорий в главном меню OpenCart

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

Чтобы вывести третий уровень категорий нам необходимо отредактировать 2 файла:

Читать далее

Хуйнаныр(6)Очко(0)

Защита OpenCart

security

 

 

 

 

 

 

Рано или поздно в голову начинает приходить мысль что пришла пора защитить свой магазин и лучше если эта мысль пришла раньше чем у  Вас появились "дображелатели".

Стандартно Административная панель в OpenCart находится по адресу site.com/admin и это не секрет для злоумышленников.

Читать далее

Хуйнаныр(4)Очко(0)

vQmod в Opencart

Пожалуй множество разработчиков дополнений как и пользователей Опенкарт вздохнуло с облегчением в 2011 году с появлением vQmod.

Что такое vQmod и с чем его едят

Работа vQmod заключается во внесении изменений в файл на лету. Что избавляет разработчиков от написания инструкций тут поменяйте это там добавьте вот это и это замените на то. Но как во всех плюшках есть одна оговорка это немного притормаживает вашу систему.

Читать далее

Хуйнаныр(22)Очко(0)

Тормозит Opencart часть 5 (memcached)

Мы потихоньку углубляемся в кеширование Opencart.

Давайте рассмотрим как осуществляется кеширование на уровне движка. После того как вы поставили магазин «из коробки», в качестве хранилища для данных, сохраняемых в кеш, будет использоваться диск вашего сервера. И в какой то момент, при большом количестве обрабатываемых файлов кеша, у вас опять могу начаться тормоза, но уже по причине физически медленной работы жестких дисков и файловой системы.

Но есть спасение. Использование расширения memcached для php. С помощью которого можно организовать хранение данных кеша не на жестком диске, а в оперативной памяти сервера, Читать далее

Хуйнаныр(3)Очко(0)

Тормозит Opencart часть 4 (sitemap feed)

sitemap_banner

В предыдущей статье мы вплотную подошли  к использованию кеширования. Одним из немаловажных моментов продвижения вашего сайта, будет регистрация в поисковых системах. Google и Yandex при регистрации просят дать им ссылку на xml feed  с картой ссылок вашего сайта.

В опенкарт есть встроенный модуль, который «из коробки» генерирует sitemap, но уже при 1000 товаров, генерация занимает секунд 15, а при 2000 очень часто магазин выпадает в ошибку либо по таймауту, либо из-за нехватки памяти для PHP.

Также стандартный Opencart Sitemap не содержит сссылку на главную страницу и формирует дубли на страницы товаров.

Читать далее

Хуйнаныр(4)Очко(1)

Тормозит Opencart часть 3 (кеш SeoPro)

Ускоряем, ускоряем и еще раз ускоряем.

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

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

Читать далее

Хуйнаныр(7)Очко(0)

Тормозит Opencart часть 2 (индексы MySql)

Возвращаемся к теме тормозов Opencart, и немножко  таим зуб на разработчиков, за то что они пожалели индексы.

Пустая база данных  при установке частично не содержит индексов для ключевых полей в таблицах.

Попробуем это исправить, получив существенный прирост скорости генерации страницы.

Читать далее

Хуйнаныр(12)Очко(1)