-1

我知道这个问题听起来有点奇怪,但是,请继续阅读。我有一个基于 wordpress、woocommerce 和 wpml 的商店——目前有两种语言,但计划添加另外 3 种语言。主题非常庞大,有很多自定义集成,如 Infusionsoft、Xero 等。大约 50 个插件、1100 个产品和 1700 个帖子。一旦我们添加另外 3 种语言,帖子和产品的数量很可能在不久的将来翻一番。尽管我们有足够的服务器资源:12 核和 31 GB 内存,但整体设置已经有点慢了。最重要的是,我希望集成某种多商店和多域功能。多商店功能还需要多语言 (wpml)。有两种创建多商店功能的解决方案,它们似乎都不理想且易于复制,而不需要更多地侵入 woocommerce 和 wordpress。1. 再次安装 wp、woocommerce、wpml,然后使用 woocommerce API 将订单、库存等传输回主站点。2. Wordpress 多站点 - 从我读到的内容来看,woocommerce 和 wpml 有很多问题。

作为我自己的开发人员,我觉得这对于 wp、woocommerce 和 wpml 来说太过分了。特别是如果我们考虑到 Opencart 或 Prestashop 默认带有此功能 - 没有任何复杂性。但也许,只是也许我错过了一些非常聪明的东西。有没有人遇到过类似的设置?您对在 Wordpress 和 Woocommerce 中开发如此复杂的设置有何想法?你们认为转向 Opencart、Prestashop 或 Magento 等其他解决方案是否迫在眉睫?

我非常感谢您对此的反馈!

干杯

4

1 回答 1

0

我在这里要做的是在将硬件添加到问题之前先调查为什么网站运行缓慢。Wordpress 是一个很好的起点,但与所有 db 驱动的网站一样,随着网站的发展需要优化。

下面有很多技术,所以只是指出想法,你可以自己重新搜索它们并决定它们是否适合你的网站。

在这里测试: http ://www.webpagetest.org/

要测试您的服务器代码:

使用 microtime 之类的东西来衡量进程,尤其是 wp 查询。http://php.net/manual/en/function.microtime.php

在可能的情况下使用缓存(服务器缓存) - 可能使用 varnish 来缓存产品页面并提供静态页面来代替动态创建的页面。

对于像后期存档这样的昂贵查询,使用 wp-transients 或您自己的对象缓存。

测试浏览器代码:

如果您有 50 个插件,这可能是您最节省时间的地方。不幸的是,开发人员喜欢将 js 文件、css 文件挂接到页脚/页眉。这可能是一个重要的加载时间。调查可以从模板中删除的内容(未使用的 js 脚本、css 文件等)并将它们出列。如需更多节省,请查看您是否可以将页面实际需要的 css / js 从现有文件中分离出来 - 合并为每个文件 1 个。大多数时候,您将需要标题/侧边栏 css 和一些文本样式,但您正在加载整个主题样式表。

非常重要: 调查您的浏览器缓存策略。 https://developers.google.com/speed/docs/insights/LeverageBrowserCaching

有趣的项目: 您知道您可以使用 js 将图像/js/css 加载到缓存中吗?预加载!

也许查看需要大量图像的后期存档,看看您是否可以预加载“首屏”内容 - 您的用户将获得相当快的浏览器加载时间,并且当他们在首屏下方导航时下一批图像应该被缓存(如果你结合延迟加载技术)

这可能会节省您使用额外服务器的需要,但如果您必须查看分片而不是使用 api 来使用 php 传输数据(我认为 woo commerce api 使用?)

于 2015-01-10T18:03:32.520 回答