WooCommerce是使您的WordPress网站成为在线商店的流行插件之一。大多数流行的主题都在WooCommerce插件的帮助下提供集成商店功能。我们还在我们的一些网站上使用WooCommerce。 最近,当我们对GTmetrix和pingdom进行页面速度检查时,我们发现组件“wc-ajax=get_refreshed_fragments”需要大约一秒钟才能加载。经过分析,我们发现在大多数其他情况下,页面加载甚至需要5到10秒。 如果您在使用WooCommerce Ajax调用时遇到页面速度问题,那么这里有解决不同场景问题的解决方案。 修复WooCommerce AJAX问题 我们在本文中介绍了有关WooCommerce的wc-ajax=get_refreshed_fragments的以下主题: 什么是wc-ajax=get_refreshed_fragments? admin Ajax调用的页面加载问题 如何使用admin Ajax修复WooCommerce页面加载缓慢的问题? 仅在您网站的首页禁用cart fragmentation 仅停用首页和文章上的cart fragmentation 禁用除商店页面外的所有页面上的所有WooCommerce样式和脚本 使用插件停止WooCommerce的admin Ajax调用 测试页面速度 停用WordPress Heartbeat API 1.什么是wc-ajax=get_refreshed_fragments? 我们花了一些时间才理解实际上页面速度图表中的刷新片段是从WooCommerce插件调用的。由于我们的网站托管在高性能独立服务器上,因此影响较小,WooCommerce Ajax调用大约需要一秒钟。如果您托管在像Bluehost这样的共享主机上,那么您可能会注意到页面加载的延迟时间更长,从3到10秒不等。 下面是来自pingdom的屏幕截图,显示了在页面上加载“wc-ajax=get_refreshed_fragments”的漫长等待时间。您还可以看到此脚本将列在Google PageSpeed Insights工具中的渲染阻塞问题下,并在GTmetrix的瀑布图下找到它。 WooCommerce Ajax页面加载问题 基本上,WooCommerce会尝试通过调用脚本来收集购物车详细信息,并且需要很长时间才能完成任务。该插件通过调用admin Ajax获取每个页面上未缓存的购物车详细信息以显示最新的购物车项目。您可以在网站的每个页面上看到类似下面的脚本: <script type=’text/javascript’> /* <![CDATA[ */ var wc_add_to_cart_params = {“ajax_url”:”\/wp-admin\/admin-ajax.php”,”wc_ajax_url”:”\/?wc-ajax=%%endpoint%%”,”i18n_view_cart”:”View Cart”,”cart_url”:”http:\/\/localhost\/shop\/cart\/”,”is_cart”:””,”cart_redirect_after_add”:”yes”}; /* ]]> */ </script> 这是在localhost环境中,您应该会看到带有您自己的URL的代码。 页面源上的WooCommerce Ajax片段 2. 管理Ajax调用和页面加载 WooCommerce使用cart fragmentation admin […]