Блоги

Блоги нашего сообщества

  1. Пришла весна, всё пробуждается от морозника, каждый нормальный человек уже сделал какие-то планы на этот год, и уже третий месяц их воплощает в жизнь, не покладая рук, но не я. Хаос продолжает царить в моём расписании, планах и жизни. К чему я это?

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

     

    UPD 26.03.18 ==============================================================================

     

    Цели к лету:

    1) Увеличение посещаемости магазина с поисковых систем.

    2) Увеличение продаж через магазин.

     

    Средняя посещаемость в день на данный момент составляет 60 - 100 человек

     

    Замеры посещаемости

     

    Ссылающихся на страницы домена сайтов в среднем 250

     

    Screenshot_4.thumb.png.a335acb4fe97c1ad02b2e485aceec88a.png

     

    Задачи на ближайшее время:

    1) переделать структуру категорий (посадочных страниц),

    2) добавить дополнительные посадочные страницы, удовлетворяющие запросы пользователей,

    3) пересобрать СЯ,

    4) переписать текста,

    5) переписать мета данные посадочных страниц.

     

    UPD 03.04.18 ==============================================================================

     

    В магазине обнаружена ошибка в работе движка, было принято решение перекатать полностью весь магазин, сразу обновив версию до стабильной ocStore 2.3.0.2.3, раз делать как говориться, так делать. Нельзя делать что-то снаружи, зная что есть проблема внутри. Если это заказ, проблему нужно минимум озвучить, чтоб клиент знал о ней, если не потянет финансово разобраться с ней. Так а тут речь идёт о своём партнёрском магазине. Это как красить автомобиль, зная что под шпаклёвкой гниль. Всегда нужно делать всё качественно. Чем больше погружаюсь, тем более вырисовываются всё новые и новые проблемы, который нужно решать перед оптимизацией.

     

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

     

    Задачи на следующие 2 недели:

    1) Поднять свежую версию магазина;

    2) Перекинуть дизайн со старой версии;

    3) Создать 20 (под)магазинов, раскидать товар по ним.

     

     

    продолжение в процессе написания...

  2. Здравствуйте! Не подскажите как сделать в опции товара в админке, что бы значение опции были не обязательные для заполнение поля, помогите не могу разобратся как решить. Спасибо за ранее

  3. Добрый день.

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

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

    Вот не так давно меня попросили немного доработать функционал на OC. Мне не сложно в принципе вот я и приступил к работе. Я сидел и говорил себе Боже как я раньше с этим работал.

     

    Ну теперь давайте я вам попробую описать то что меня возмутило.

     

    1. Удобство разработки и интеграция в IDE

    Да когда я работал с Sublime Text все было вроде гуд. Но уже полгода работаю через PhpStorm (PS. Лицензия есть даже на домашнем ПК а не только на работе).

    При запуске сразу получаем кучу предупреждений. Давайте взглянем на простой класс http://joxi.ru/52alLM0UGzO1Om

    Причин тут две:
    1) Отсутствие PhpDoc

    2) Упрощенная структура самой CMS

    Ну если добавить PHPDoc то большую часть проблем это реши. 
    Зачем нужен PHPDoc ??
    Я напишу коротко если будет интересно загуглите.

    1) Это читабельность кода
    2) Автокомплит и информация о методах на лету  http://joxi.ru/brRZkROHQveeLr как не крути сразу видно что и как надо передавать тому или другому методу или то что он возвращает. Или же увидеть ошибку на моменте написания кода а не запуска.

     

    2) Это наверное бесит меня на данный момент больше всего. Это дублирования кода.

    Хотя Опенкарт и как бы MVC но он нарушает один из принципов MVC потому что с дублирование кода тут просто беда.

    Давайте посмотрим на один из контроллеров админ панели. http://joxi.ru/nAyKdw3tXz1oVm 
    И это один из множества примеров. который есть в каждом файле я молчу о генерации $url вот пример из файла файла покупателя. Этот кусок кода встереатся в одном файле 9 раз. ????? 
    Давайте посчитаем: 9 * ~40 строк = ~360 строчек кода которые можно отрефакторить к 20 максимум и будет один метод для всех файлах а в контролере это будет одна строка вместо 40  

    			$url = '';
    
    			if (isset($this->request->get['filter_name'])) {
    				$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8'));
    			}
    
    			if (isset($this->request->get['filter_email'])) {
    				$url .= '&filter_email=' . urlencode(html_entity_decode($this->request->get['filter_email'], ENT_QUOTES, 'UTF-8'));
    			}
    
    			if (isset($this->request->get['filter_customer_group_id'])) {
    				$url .= '&filter_customer_group_id=' . $this->request->get['filter_customer_group_id'];
    			}
    
    			if (isset($this->request->get['filter_status'])) {
    				$url .= '&filter_status=' . $this->request->get['filter_status'];
    			}
    
    			if (isset($this->request->get['filter_approved'])) {
    				$url .= '&filter_approved=' . $this->request->get['filter_approved'];
    			}
    
    			if (isset($this->request->get['filter_ip'])) {
    				$url .= '&filter_ip=' . $this->request->get['filter_ip'];
    			}
    
    			if (isset($this->request->get['filter_date_added'])) {
    				$url .= '&filter_date_added=' . $this->request->get['filter_date_added'];
    			}
    
    			if (isset($this->request->get['sort'])) {
    				$url .= '&sort=' . $this->request->get['sort'];
    			}
    
    			if (isset($this->request->get['order'])) {
    				$url .= '&order=' . $this->request->get['order'];
    			}
    
    			if (isset($this->request->get['page'])) {
    				$url .= '&page=' . $this->request->get['page'];
    			}

    А теперь представте волшебство Если бы можна было бы так

    $url = $this->url->saveUrlParametrs('filter_name', 'filter_email', 'filter_customer_group_id');

    И подобных ситуаций уйма. Про дублирование верстки я молчу вообще. Чтоб добавить чтото к товару нада єто продлублировать в 100500 файлах.
    В мадженте к примеру страница редактирования или список в админке создается с помощью двох XML файлов где просто описиваются конфигурации и єтими конфигами можна решить около 75% задач что ставлятса к кодингу доходит редко и економит просто уйму времени. С версткой аналогично создаеш блок и подтягиваеш в нужное место и живеш и радуешся жизни.

     

    Ну думал написать по больше но с временем не сложилось. Может потом добавлю что то.


     

  4. Помнится мне в версиях 1.5.x появилась фича от Toporchillo  с модификацией запросов подсчета товаров при помощи SQL_CALC_FOUND_ROWS.


    А я тогда говорил, что это бред! И правильно использовать второй полноценный запрос для getTotalProducts.


    В 1.5 совсем плохо было с индексами и на небольших базах это возможно имело смысл. Но когда сейчас каждый второй магазин от 10 000 товаров, FULLSCAN всех таблиц участвующих в выборке товаров  в категории и механизм FOUND_ROWS скорее вреден чем полезен и вот вам подтверждение с официального блога Percona

     

    https://www.percona.com/blog/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/

     

    Учиться, учиться и еще раз учиться! (c)

  5. Привет читатель, если конечно кто-то вообще меня читает :ugeek:

    Очень часто встречаю эти вопросы, решил вставить сои 5 копеек.

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

    Давайте разберемся, почему нельзя дать точный ответ на эти вопросы:

    1. Нужно понимать, а что вообще нужно от магазина, Вы собрались завоевать мир - одна цена "примерная", заработать на чебуреки с кокой - совершенно другая стоимость.

    2. СЕО и создание магазинов - это одна из областей маркетинга, не существует одного упоротого направления, которое однозначно даст результат. Весь интернет-маркетинг - постоянный поиск и эксперимент, и начинается он далеко не в интернете, приведу пример:

    Вы продаете чебуреки, Вам хочется быть на 1 месте, как думаете что нужно? (я уже знаю мысли в ваших головах: ССЫЛКИ, НУЖНО БОЛЬШЕ ССЫЛОК) - хрен вам :-D, ох я Ванга.

    Чтобы продавать чебуреки и быть на 1 месте нужно: качественное мясо, чеснок, кинза, соль, тесто.

    3. Вам магазин нужен или позиция (Ща навангую, сек "он втирает дичь, будут продажи, будет гелик, идиот какой-то") и опять овощей Вам:-D, продажи и позиции, совершенно разные вещи. Позиции увеличивают посещаемость, но не гарантируют продажи. 

    Нельзя просто так взять и сказать сколько стоит сео.

    latest?cb=20131113132747&path-prefix=ru

     

    Вот примерный расклад:

    Создание магазина от 5 000 до 500 000. (да, да есть такие цены)

    1 товар = 30 руб. (копирайт)

    А дальше.....

     

     

     

    • 0
      записей
    • 0
      комментариев
    • 283
      просмотра

    В блоге ещё нет записей

    • 0
      записей
    • 0
      комментариев
    • 153
      просмотра

    В блоге ещё нет записей

  6. В блоге ещё нет записей

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу