Используйте Magento, если вы серьезно относитесь к электронной коммерции
Опубликовано: 2022-03-11Возможно, вы слышали, что Magento — это платформа электронной коммерции, которую вы используете, если серьезно относитесь к своему бизнесу — и вы серьезно относитесь к своему бизнесу, — поэтому вы выбрали Magento.
Но знаете ли вы, во что вы ввязываетесь?
Magento — невероятно мощная программа. Один блогер, которого я читал, сравнил его с Leatherman, потому что у него есть инструмент на все случаи жизни. Мне больше нравится думать о нем как об одном из тех больших универсальных пультов, которые люди обычно покупали, у которых, казалось бы, была сотня программируемых кнопок, которые могли управлять каждым мультимедийным устройством в их доме.
Он может сделать что угодно, если и только если вы готовы посвятить время и деньги тому, чтобы это произошло. Magento великолепен, это действительно так, но он также сложен. Готовы ли вы потратить время на обучение своих клиентов (или они достаточно сообразительны, чтобы научить себя), как использовать невероятно мощную панель администратора Magento? Если нет, вы можете посмотреть другое решение.
Magento — это экспертная система. Подобно различным продуктам Adobe, таким как Photoshop и Illustrator, он вознаграждает опыт, но за счет крутой кривой обучения. Поначалу это может быть изнурительно, но после небольшой работы это станет мощным инструментом.
Для вашего бизнеса это означает более дорогой хостинг (вас пугает 300 долларов в месяц на хостинге AWS?), более высокие затраты на разработку и больше времени на предварительную работу, чтобы понять административные функции, но как только эти препятствия будут преодолены, у вас будет платформа. который можно бесконечно расширять и масштабировать.
Из-за гибкости и способности Magento к масштабированию ваш бизнес не перерастет Magento в ближайшее время, и если это произойдет, вы будете вести настолько большой бизнес, что будете достаточно успешны, чтобы перейти к следующему этапу развития электронной коммерции.
Magento — ведущая платформа электронной коммерции, занимающая примерно 30% рынка.
Magento преуспевает (и, по сути, может быть практически единственным вариантом, кроме собственного веб-приложения), когда вы:
- Имейте большой, сложный инвентарь.
- Необходимо моделировать сложные типы продуктов.
- Иметь относительно статичный контент.
- Хотите запустить несколько магазинов с одной серверной части CMS.
- Нужна супермощная и расширяемая панель администратора.
Другие большие преимущества включают в себя:
- Большая пользовательская база Magento и коммерческая поддержка означают, что она активно развивается и безопасна. Обновления безопасности публикуются регулярно и своевременно.
- Magento также поддерживает огромное количество платежных шлюзов.
- Расширения Magento были разработаны для всего: от аукционов до импорта и экспорта данных.
- Magento оптимизирован для SEO.
Magento имеет открытый исходный код и был специально создан для электронной коммерции. Это PHP-фреймворк, основанный на Zend Framework и использующий базу данных MySQL для хранения. Его система шаблонов модулей имеет иерархическую структуру папок, что позволяет разработчикам и дизайнерам Magento переопределять файлы ядра и темы, не редактируя их и не нарушая последующие обновления без необходимости.
Его история с открытым исходным кодом является одновременно и благословением, и проклятием.
Экосистема Magento, скорее всего, не существовала бы без него, но это также привело к созданию большой и сложной базы кода, которая иногда плохо документирована и часто имеет функции со сбивающими с толку названиями. Иногда кажется, что все в Magento является исключением из правил, и часто необходимо внести изменения во множество разных файлов, чтобы реализовать одно изменение функции.
Отчасти поэтому услуги по разработке веб-сайтов электронной коммерции стоят дорого. Эксперты потратили время, прошли курсы, прошли через код, заработали сертификаты — чертовски усердно работали, чтобы понять и освоить сложного зверя — и поэтому они заслуживают и ожидают справедливого вознаграждения за свое время и опыт.
Кэширование может быть проблемой для Magento.
Правильно настроенный на профессиональном хостинговом решении, Magento обладает высокой масштабируемостью и может работать невероятно быстро. Тем не менее, при плохой настройке на недостаточно мощном хостинг-провайдере для загрузки даже самой простой страницы потребуется много времени. Ответом является кэширование: кэширование кода операции PHP, кэширование серверной части базы данных и кэширование всей страницы.
Кэширование кодов операций теперь в значительной степени стандартно для PHP, но вам может потребоваться обновить файл php.ini
, чтобы настроить его. Также необходим внутренний кеш Redis. А если вам нужна максимальная производительность, настоятельно рекомендуется полный кеш страниц, такой как Varnish.
Эти требования означают, что вам нужно решение для хостинга, которое будет поддерживать эти функции, и вам нужна команда разработчиков Magento, которая знает, как правильно их настроить. Magento не будет хорошо работать на дисконтных хостинг-провайдерах, таких как Bluehost и GoDaddy.
Вам понадобится экземпляр Amazon EC2 или Digital Ocean (или экземпляр от одного из провайдеров управляемого хостинга Magento, у которого эти функции уже настроены).
И что со всеми этими тайниками?
Вообще говоря, кеш — это кратковременный буфер для хранения данных, которые были извлечены с диска или вычислены.
Это компьютерный способ сказать: я преодолел все трудности с получением или созданием этих данных, я мог бы также оставить их на некоторое время на случай, если они кому-то еще понадобятся.
Поскольку кэши обычно находятся в энергозависимой памяти, извлечение данных из кэша происходит на несколько порядков быстрее, чем пересчет или чтение с диска.
Различные кеши, упомянутые выше, работают на разных уровнях абстракции в фреймворке.
Кэш кода операции работает на уровне компиляции кода PHP и сохраняет уже скомпилированные фрагменты кода PHP для последующего выполнения. Внутренний кеш для Magento — это улучшение системы кеширования файлов. Чтобы отобразить страницу, Magento должен просмотреть потенциально сотни файлов PHP и XML. Это медленно.
Часто содержимое страницы не меняется между запросами. Из-за этого, когда Magento отображает страницу, он сохраняет результаты в кеше файловой системы.
Это быстрее, чем перерисовывать страницу. Но чтение с диска по-прежнему происходит относительно медленно, поэтому использование Redis в качестве кеша в памяти для хранения этих отображаемых блоков и страниц намного быстрее (и его также можно использовать для хранения данных сеанса).
Третий кеш, который я упомянул, Varnish — это полностраничный кеш.
Он работает полностью отдельно от Magento (и обычно устанавливается на отдельный сервер). Это кеширующий обратный HTTP-прокси: он находится между вашим сайтом и миром, сохраняет целые страницы и связывает их с URL-адресами запросов.

Кэширование звучит здорово, правда? Это так, но это также добавляет значительную сложность.
Учти это. Теперь вы добавили базу данных Redis на свой сервер; вы обновили и сохранили свои файлы конфигурации; и вы, возможно, добавили еще один сервер для размещения полностраничного кеша Varnish.
Кроме того, что происходит, когда страница меняет содержимое? Как кеш узнает, что нельзя отправлять кешированный результат? О, о.
Очевидно, что для этого есть решения, называемые инвалидацией кеша, но они добавляют еще один уровень мысли, сложности и потенциальных проблем.
Вдобавок ко всему, если ваша команда разработчиков действительно профессиональна, они будут настаивать на тестовой среде в дополнение к рабочей среде, а также на репозитории Git на GitHub для контроля версий (и, кстати, если они не используя систему управления версиями, найдите другого разработчика!).
Альтернативой является WordPress WooCommerce.
Полезно сравнить Magento с одной из его основных альтернатив: WordPress с установленным плагином WooCommerce.
Недавно я работал с компанией в Денвере, у которой был фантастический веб-сайт Magento и решение для хостинга. У них был экземпляр Amazon EC2 для производственного сервера, а также один экземпляр для тестовой среды. Меня привлекли, чтобы улучшить производительность и помочь им полностью изменить дизайн веб-сайта.
Я настроил их с помощью внутреннего кеша Redis, благодаря которому страница загружалась почти мгновенно, и работал с дизайнером, чтобы превратить его макеты Photoshop в живой веб-сайт.
После нескольких недель работы сайт выглядел великолепно. Однако по мере того, как я продолжал работать с ними, я начал понимать, что стоимость хостинга и затраты на разработку не соответствовали тому, что они могли себе позволить.
По мере развития их бренда они хотели внести больше изменений в веб-сайт, а также интегрировать ряд пользовательских модулей. Они платили мне тысячи долларов за помощь в дизайне и редизайне веб-сайта. Кроме того, в то время у них было всего около шести продуктов. Кроме того, они спросили меня о создании динамического контента и настройке блога на сайте.
Глядя на их потребности, на каком этапе находится компания и сколько они платят за хостинг и разработку, мы решили, что Magento им не подходит.
После долгих исследований они выбрали новый веб-сайт WordPress/WooCommerce.
По сути, я отговорил себя от работы, но моим приоритетом было то, что было лучше для моего клиента; и правда в том, что если клиент не знает, для чего он нужен с Magento, на самом деле не нуждается в его функциях и не имеет бюджета для его поддержки, это не будет интересно ни для кого.
Если у вас есть бизнес с относительно небольшим количеством продуктов, которые вписываются в стандартную модель бизнес-продуктов, WordPress/WooCommerce может быть отличным вариантом.
Разработчики WordPress (как правило) дешевле, чем разработчики Magento. Сообщество WordPress процветает, а платформа очень хорошо документирована и имеет отполированную кодовую базу. Это решение небольшое, быстрое и работает практически на любом хостинг-провайдере, включая всех различных дисконтных провайдеров.
Если эта комбинация подойдет вам, она сэкономит вам деньги как на разработке, так и на хостинге. Если вы пытаетесь сделать свой сайт самостоятельно, не платя сторонним разработчикам, вам, вероятно, следует избегать Magento и, возможно, захотеть рассмотреть WordPress/WooCommerce.
Еще одна причина, по которой вы можете заглянуть в WordPress/WooCommerce, заключается в том, что вы хотите воспользоваться возможностями блогов WordPress. Magento позволяет клиентам создавать и обновлять динамический контент, но он далеко не так совершенен и прост, как в WordPress.
Тем не менее, WordPress/WooCommerce не имеет возможности Magento настраивать продукты и скидки и управлять большими запасами (не то чтобы он не может этого делать — у него отличные функции и он постоянно растет — но именно в этом Magento превосходит других). ).
WordPress/WooCommerce начнет казаться неуклюжим, когда количество продаваемых вами продуктов превысит несколько сотен или когда вы захотите создавать сложные, сгруппированные продукты с настраиваемыми прикрепленными атрибутами; или когда вы хотите запланировать скидки и выдавать скидки, но только для определенных групп клиентов, и вы хотите осуществлять перекрестные продажи и дополнительные продажи и иметь возможность подарка; и т.п.
Какое решение подходит именно вам? Это зависит.
Как и все технологии, Magento имеет ряд явных преимуществ, но также имеет и свои недостатки.
К основным преимуществам Magento относятся:
- Открытый исходный код
- Специально для электронной коммерции
- Отличная система скидок.
- Интеграция платежного шлюза проста
- Гибкий и настраиваемый
- Очень мощная админ панель
- Высокая масштабируемость
- После оптимизации (исчезновение, оптимизация базы данных, кэширование Redis, кэширование кода операции) Magento может работать довольно быстро.
- Мультитенантная поддержка
- SEO-дружественный
- Большая пользовательская база, активно развивающаяся, безопасная
Известные проблемы включают в себя:
- История открытого исходного кода оставила ему огромную, разросшуюся кодовую базу, которая делает все и оставляет все двери открытыми для настройки.
- Не так хорошо документирован, как другие платформы
- Разработка дорогая. Отчасти потому, что это сложно, а отчасти потому, что это популярная система.
- Важные функции часто доступны только в коммерческих модулях разного качества, для которых может даже потребоваться сторонняя поддержка интеграции.
- Дорогие требования к серверу
Все эти факторы необходимо тщательно взвешивать в каждом конкретном случае при принятии решения о том, является ли Magento правильным решением для вас или вашего клиента, если это возможно, до выбора партнера для услуг по разработке веб-сайтов электронной коммерции.
Не бойтесь Magento.
Я уже отпугнул тебя от Magento? Надеюсь нет.
Похоже ли следующее на вас?
У вас есть процветающий магазин с 2000 товаров, и вам нужна возможность создавать сложные настраиваемые продукты с дюжиной опций и объединять эти продукты с другими продуктами в группы.
Вы также хотите иметь возможность легко планировать распродажи и акции и раздавать клиентам коды скидок. У вас есть бюджет и желание инвестировать в действительно профессиональное решение с открытым исходным кодом, оптимизированное для SEO, масштабируемое и довольно быстрое после оптимизации и правильного размещения.
Если да, взгляните на Magento. Если вы готовы инвестировать время и деньги, это действительно профессиональное решение для электронной коммерции, которое прослужит вам всю жизнь.