如果您对电子商务很认真,请使用 Magento

已发表: 2022-03-11

您可能听说过 Magento 是您使用的电子商务平台,如果您对自己的业务很认真——并且对自己的业务很认真——所以您决定使用 Magento。

但是你知道你自己在做什么吗?

Magento 是一个非常强大的程序。 我读过的一位博主将它比作莱瑟曼,因为它有一个适合各种用途的工具。 我更喜欢将其视为人们过去购买的大型通用遥控器之一,它似乎有一百个可编程按钮,可以控制他们家中的每一个媒体设备。

当且仅当您愿意投入时间和金钱来实现它时,它几乎可以做任何事情。 Magento 很棒,确实如此,但它也很复杂。 您是否愿意花时间教育您的客户(或者他们是否足够精明地自学)如何使用 Magento 极其强大的管理面板? 如果没有,您可能想查看另一种解决方案。

Magento 是一个专家系统。 就像 Photoshop 和 Illustrator 等各种 Adob​​e 产品一样,它奖励专业知识,但代价是陡峭的学习曲线。 一开始可能会很累,但只要稍加努力,它就会成为一种强大的工具。

对于您的企业而言,这意味着更昂贵的托管(每月花费 300 美元购买 AWS 托管会让您感到害怕吗?)、更高的开发成本以及更多的前期时间来了解管理功能,但是一旦克服了这些障碍,您就拥有了一个平台那是无限可扩展和可扩展的。

由于 Magento 的灵活性和扩展能力,您的业务不会很快超过 Magento,如果确实如此,您将开展如此多的业务,您将成功应对电子商务发展的下一阶段。

Magento 是领先的电子商务平台,拥有大约 30% 的市场份额。

当您:

  • 拥有庞大而复杂的库存。
  • 需要对复杂的产品类型进行建模。
  • 有相对静态的内容。
  • 想要从单个 CMS 后端运行多个商店。
  • 需要一个超级强大且可扩展的管理面板。

其他巨大的好处包括:

  • Magento 庞大的用户群和商业支持意味着它正在积极开发和安全。 安全更新会定期及时发布。
  • Magento 还支持种类繁多的支付网关。
  • Magento 扩展已经开发用于从拍卖到数据导入和导出的所有内容。
  • Magento 是 SEO 友好的。

Magento:专家电子商务

Magento 是开源的,专为电子商务而设计。 它是一个松散地基于 Zend 框架的 PHP 框架,并使用 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 整页缓存。

此外,当页面更改内容时会发生什么? 缓存如何知道不发送缓存的结果? 哦哦。

对此显然有解决方案,称为缓存失效,但它确实增加了另一层思考、复杂性和潜在问题。

最重要的是,如果你的开发团队真的很专业,他们会坚持除了生产环境之外还有一个测试环境以及 GitHub 上的 Git 存储库用于源代码控制(顺便说一下,如果他们是不使用源代码管理,找另一个开发人员!)。

另一种选择是 WordPress WooCommerce。

将 Magento 与其主要替代品之一进行比较会很有帮助:安装了 WooCommerce 插件的 WordPress。

我最近与丹佛的一家公司合作,该公司拥有出色的 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 了吗? 我希望不是。

以下听起来像你吗?

您拥有一家拥有 2,000 种产品的蓬勃发展的商店,需要能够创建具有十几个选项的复杂可配置产品,并将这些产品与其他产品捆绑成组。

您还希望能够轻松安排销售和促销活动,并将代码分发给客户以获得折扣。 您有预算和动力去投资一个真正专业的解决方案,该解决方案是开源的、对 SEO 友好的、高度可扩展的,并且在优化和正确托管后速度非常快。

如果是这样,请查看 Magento。 如果您愿意投入时间和金钱,这是一个真正专业的电子商务解决方案,将持续一生。