GetHappyHemp Performance Optimizations
Initial Performance Audit Summary
Before the optimizations, the website had major performance issues, notably with page loading speeds and Core Web Vitals. Several factors contributing to this poor performance were identified, such as unoptimized images, render-blocking resources, and heavy third-party scripts.
Initial Metrics:
- Overall Performance: 24% (Grade: F)
- Core Web Vitals Score: 32% (Grade: F)
- Time to First Byte: 9.4s (Grade: F)
- Largest Contentful Paint: 19.4s (Grade: F)
- Total Blocking Time: 1,680ms (Grade: F)
- Cumulative Layout Shift: 0.126 (Grade: D)
Key Issues Identified:
- Heavy Third-Party Scripts: Render-blocking resources, such as Klaviyo, Yotpo, Google Tag Manager, Facebook scripts, and Google Analytics, were slowing down the site significantly.
- Image Optimization: Images were not properly compressed or served in modern formats like WebP.
- JavaScript and CSS Minification: Unminified JavaScript and CSS files were adding to the total blocking time and slowing down interactivity.
- Caching Mechanisms: No proper caching was in place, resulting in longer server response times and unnecessary requests.
Theme Review
- Indicana Theme
- Active: No
- Performance Impact: High
- Observations: The Indicana theme is feature-rich but heavy, leading to high resource usage. The theme comes with numerous built-in extensions that increase the page load time and server demands.
- Issues Identified:
- Large DOM Size: The theme adds excessive elements to the Document Object Model (DOM), slowing down rendering times.
- Render-Blocking Resources: Many of the theme’s stylesheets and JavaScript files block the initial rendering of content.
- Complex Layouts: The theme’s complex layouts and animations further contribute to slow page loading times, especially on mobile devices.
- Customization Overload: While the theme provides extensive customization options, many features are unnecessary and contribute to the bloat, particularly for users who don’t require all of the advanced options.
- Recommendations:
- Optimize the Theme: Minimize or disable unused features and extensions within the theme’s options panel to reduce the load on the server.
- Reduce Render-Blocking Resources: Implement strategies to defer or asynchronously load CSS and JavaScript files that are not essential to the initial page load.
- Consider Switching to a Lightweight Theme: Evaluate whether switching to a more lightweight theme, such as Astra or GeneratePress, could reduce server load while maintaining design flexibility.
- Lazy Load Media: Enable lazy loading for images and videos to reduce the initial load time.
- Indicana Child Theme
- Active: Yes
- Performance Impact: High
- Observations: The child theme inherits the functionality of the parent theme, Indicana. While it allows for safe theme customizations, it retains the bulk and performance issues of the parent theme. Customizations made to the child theme can further impact performance if not optimized.
- Issues Identified:
- Inherited Bloat: The child theme inherits all the server-intensive features of the Indicana theme.
- Customization Load: Additional customizations made via the child theme, if not properly optimized, can increase resource consumption.
- Recommendations:
- Streamline Customizations: Ensure that any custom code or additional features added to the child theme are optimized and do not add unnecessary load.
- Review CSS and JavaScript: Minimize and combine custom CSS/JavaScript in the child theme to reduce file sizes and improve loading speeds.
- Consider Performance-Optimized Frameworks: If advanced customization is needed, consider rebuilding the child theme using a performance-optimized parent theme as the base.
General Recommendations for Theme Optimization:
- Use a Caching Plugin: Continue using W3 Total Cache to improve caching and optimize content delivery.
- Implement a CDN: Offload static assets like images, CSS, and JavaScript to a Content Delivery Network (CDN), which will distribute the load across multiple servers globally and reduce the strain on the main server.
- Limit Extensions: Deactivate and remove any unnecessary extensions and theme features that are not crucial to the site’s functionality.
- Image Optimization: Ensure that all images are compressed and served in modern formats like WebP to reduce load times, especially for the Largest Contentful Paint (LCP) metric.
- Lazy Loading and Minification: Enable lazy loading for all media assets and minify CSS and JavaScript files to reduce the load times and improve the overall user experience.
Plugin Review Section
Plugin | Active | Performance Impact | Observations | Recommendations |
---|---|---|---|---|
W3 Total Cache | Yes | Low | Essential for caching, significantly improves site performance. | Keep active. Consider enabling CDN through W3 Total Cache for better global content distribution. |
Advanced Custom Fields PRO | Yes | Moderate | Adds flexibility for custom fields but slightly increases backend load. | Keep active. Optimize custom field usage and avoid unnecessary fields to reduce overhead. |
WooCommerce | Yes | High | Core for eCommerce but introduces significant load on the server, especially on checkout and cart pages. | Keep active. Review all WooCommerce extensions, deactivate unnecessary ones, and optimize WooCommerce settings. |
Klaviyo | Yes | High | Syncs WooCommerce data with Klaviyo for email marketing, but includes render-blocking scripts. | Delay Klaviyo scripts until after page load or use async loading to reduce initial page load time. |
Google Analytics | Yes | High | Adds render-blocking resources that slow down the initial load. | Consider loading Google Analytics scripts asynchronously or delaying until after the page loads. |
Facebook for WooCommerce | Yes | High | Adds Facebook Pixel for tracking and ads but introduces render-blocking scripts. | Delay Facebook scripts until after page load to reduce render-blocking issues. |
Yotpo Social Reviews for WooCommerce | Yes | Moderate | Adds social proof functionality but contributes to site load with additional scripts. | Delay Yotpo scripts to load after the main content to improve initial page performance. |
Advanced Coupons for WooCommerce Free | Yes | Moderate | Useful for advanced coupon features but increases load on checkout pages. | Review if all coupon features are necessary. Deactivate if not actively used. |
Advanced Coupons for WooCommerce Premium | Yes | Moderate | Adds additional coupon functionality but adds more load, especially on checkout. | Review usage and deactivate if advanced features are not needed. |
Activity Log | Yes | Low | Tracks site activities with minimal impact on performance. | Keep active for security and organization. Low performance impact. |
FooBox Image Lightbox | Yes | Low | Provides responsive lightbox functionality. Minimal performance impact. | Keep active. No performance concerns. |
Advanced Custom Fields | No | N/A | Not active. | Keep deactivated unless additional custom field functionality is required. |
LiteSpeed Cache | No | N/A | Previously used for caching. Replaced by W3 Total Cache. | Keep deactivated or delete to prevent conflicts with W3 Total Cache. |
Email Template Customizer for WooCommerce | Yes | Moderate | Allows customization of WooCommerce emails but slightly increases backend load. | Keep active if email customizations are critical. Otherwise, consider deactivation to improve performance. |
Akismet Anti-spam: Spam Protection | Yes | Low | Helps prevent spam with minimal performance impact. | Keep active. Essential for spam prevention. |
Affiliate For WooCommerce | Yes | Moderate | Adds affiliate tracking functionality. Increases load during transaction processes. | Keep active if affiliate marketing is essential. Otherwise, consider deactivating to improve checkout performance. |
Breadcrumb NavXT | No | N/A | Not active. | Keep deactivated unless breadcrumb functionality is required. |
CallRail Phone Call Tracking | Yes | Low | Tracks calls based on the visitor’s referring source. Minimal impact. | Keep active if phone call tracking is necessary for marketing efforts. |
CartBounty – Save and Recover Abandoned Carts | Yes | Moderate | Tracks abandoned carts and slightly increases load on checkout pages. | Keep active if cart recovery is essential. Deactivate if not actively used. |
Classic Editor | Yes | Low | Reverts WordPress to the Classic Editor interface. No significant impact. | Keep active if preferred. Low performance impact. |
Coupon Import Export for WooCommerce Add-on | No | N/A | Not active. | Keep deactivated unless needed for WooCommerce coupon exports. |
Debug Log Manager | No | N/A | Not active. | Activate only when debugging is required to avoid extra resource consumption. |
Flexible Shipping | Yes | Moderate | Adds flexible shipping options in WooCommerce. Moderate load due to additional shipping calculations. | Keep active if flexible shipping methods are necessary. Otherwise, deactivate for a lighter checkout experience. |
FooGallery | Yes | Moderate | Manages galleries on the site but can add extra load depending on the number of images and galleries. | Keep active if the gallery feature is essential. Optimize images to reduce performance impact. |
HurryTimer | Yes | Moderate | Adds countdown timers for urgency, contributing slightly to site load. | Keep active if scarcity tactics are part of the marketing strategy. Otherwise, consider deactivation. |
Klaviyo | Yes | High | Adds marketing automation for WooCommerce but introduces render-blocking scripts. | Delay or async load scripts to improve load times. |
Loyalty Program for WooCommerce | Yes | Moderate | Provides loyalty rewards but adds extra processing during transactions. | Keep active if loyalty programs are important. Optimize where possible. |
LT-Ext | Yes | Moderate | Required for Indicana Theme but adds additional load to the site. | Keep active but consider optimizing or finding a theme with better performance. |
Members | No | N/A | Not active. | Keep deactivated unless additional user role management is required. |
Meta Pixel for WordPress | Yes | High | Adds Facebook Pixel for ads but contributes to render-blocking. | Delay scripts to load after the main content or use async loading. |
MonsterInsights Pro & Add-ons | Yes | Moderate | Adds Google Analytics insights with several add-ons that increase load. | Keep active if data is critical, but consider reducing the number of active add-ons to improve performance. |
Order Approval for WooCommerce | No | N/A | Not active. | Keep deactivated unless order approval is required. |
Product Recommendation Quiz for eCommerce | Yes | Moderate | Adds interactive quizzes to help users choose products, contributing slightly to site load. | Keep active if quizzes are part of the customer engagement strategy. |
Profile Builder | Yes | Moderate | Allows customization of login and registration pages but can increase backend load. | Keep active if needed, but review if simpler solutions can replace it. |
reCaptcha for WooCommerce | Yes | Low | Adds reCaptcha security for WooCommerce forms. Minimal performance impact. | Keep active. Essential for preventing spam and malicious bots. |
Reviews and Rating – Google Reviews | Yes | Moderate | Displays Google Reviews but slightly increases site load with external requests. | Keep active if reviews are essential for social proof. Consider caching review data to reduce load times. |
Shipping Insurance WC Addon | Yes | Moderate | Adds shipping insurance options, increasing load on checkout pages. | Keep active if offering shipping insurance is necessary. Deactivate if not actively used. |
Shortcodes Ultimate | Yes | Low | Adds a variety of shortcodes for content customization. Minimal impact. | Keep active if shortcodes are frequently used for content creation. |
Simple History | Yes | Low | Tracks changes and logs events on the site with minimal impact. | Keep active if logging is necessary. Low performance impact. |
Smart Slider 3 | Yes | Moderate | Provides responsive sliders but can increase load, especially with large images. | Optimize images in sliders or consider reducing the number of sliders used to improve performance. |
Spotlight – Social Media Feeds | No | N/A | Not active. | Keep deactivated unless social media feeds are needed. |
StoreCustomizer | Yes | Moderate | Customizes WooCommerce store and product pages. Slight increase in page load. | Keep active if customization is essential. Review if customizations can be simplified to improve performance. |
Top Bar PRO | Yes | Low | Adds a top notification bar with minimal performance impact. | Keep active if the notification bar is essential for site communication. |
Trustpilot-reviews | Yes | Moderate | Integrates Trustpilot reviews, adding external scripts that slightly increase load time. | Keep active if reviews are important for social proof. Consider caching review data. |
Unyson Fork | Yes | Moderate | A drag-and-drop framework for building pages, which adds load depending on the complexity of layouts. | Keep active if the page builder is essential. Review if simpler solutions can replace it. |
User Profile Picture | No | N/A | Not active. | Keep deactivated unless user profile customization is required. |
WooCommerce Anti Fraud | Yes | Low | Adds fraud detection and scoring with minimal performance impact. | Keep active to enhance transaction security. |
WooCommerce Subscriptions | Yes | Moderate | Manages subscriptions but slightly increases load during transactions. | Keep active if subscriptions are a key revenue driver. Optimize where possible. |
WP Crontrol | Yes | Low | Manages WordPress cron jobs with minimal impact. | Keep active if controlling cron jobs is necessary. |
WP Mail SMTP | Yes | Low | Ensures email deliverability with minimal impact. | Keep active for proper email notifications. |
Yoast SEO & Yoast SEO Premium | Yes | Low | Essential for on-page SEO optimization. Minimal performance impact. | Keep active. Consider using Yoast’s built-in optimization tools to improve site performance. |
General Recommendations:
- CDN Implementation: Integrate a Content Delivery Network (CDN) through W3 Total Cache to distribute static content globally, which will significantly reduce server load and improve site performance, especially for users in various geographic locations.
- Script Optimization: Delay non-essential third-party scripts (e.g., Google Analytics, Klaviyo, Facebook for WooCommerce) until after the main content has loaded to reduce render-blocking and improve initial page speed.
- Plugin Deactivation: Review and deactivate or remove plugins that are not essential to the core functionality of the site. Reducing the number of active plugins will lead to better performance and lighter resource usage.
These recommendations, combined with ongoing monitoring, will help keep GetHappyHemp.com performing at optimal levels.
Optimization Steps Taken
- Caching Configuration:
- W3 Total Cache was implemented, replacing the previous LiteSpeed Cache plugin.
- Browser Caching and Opcode Caching were enabled to handle WooCommerce and other critical files.
- A review of the server logs was done to identify areas for server-side improvements.
- Image Optimization:
- All Homepage images were compressed and converted to WebP format for faster loading.
- Addressed images on primary pages (100 images converted to WEBP)
- This resulted in a significant reduction in the Largest Contentful Paint time.
- JavaScript and CSS Minification:
- Minification of CSS and JavaScript files was performed to reduce Total Blocking Time and improve speed index.
- Delayed loading of non-critical scripts (e.g., Google Tag Manager, Facebook scripts) until after the initial page load.
- Plugin Review and Theme Optimization:
- Conducted a review of all plugins, deactivating or replacing bulky plugins that contributed to the heavy DOM size.
- Optimized Indicana Theme settings and suggested alternatives to reduce its performance impact.
- Hosting & Server Review:
- Although the hosting was performing decently, we reviewed and enabled Gzip compression to improve delivery times.
- Reduced Time to First Byte (TTFB) significantly from 9.4s to 236ms by optimizing the hosting environment.
100 Images Converted to WEBP
Performance Results After Optimizations
GTmetrix Grade:
- Performance: 70% (Up from 35%)
- Structure: 73% (Up from 55%)
Core Web Vitals:
- Largest Contentful Paint: 1.2s (Improved from 19.4s)
- Total Blocking Time: 463ms (Improved from 1,680ms)
- Cumulative Layout Shift: 0.09 (Improved from 0.126)
Other Metrics:
- First Contentful Paint: 664ms (Improved from 5.5s)
- Time to Interactive: 3.4s (Improved from 6.1s)
- Speed Index: 2.2s (Improved from 9.1s)
- Fully Loaded Time: 6.8s (Improved from 9.4s)
Summary of Impact:
The optimizations we implemented have significantly improved the site’s overall performance. The reduction in Largest Contentful Paint and Total Blocking Time has led to faster load times and improved user experience. Although there is still room for improvement in Time to Interactive and Speed Index, the site’s performance is now at a much more acceptable level, with Core Web Vitals looking much healthier.
Recommendations for Further Improvement (Including CDN Implementation):
- Content Delivery Network (CDN): Implement a CDN to improve the delivery of static assets (images, CSS, JavaScript). A CDN will distribute these assets across multiple server locations globally, ensuring faster content delivery for users regardless of their geographical location. This will reduce latency and further improve load times, especially for mobile users.
- Further Script Delays: Consider delaying additional non-essential third-party scripts (e.g., Pinterest, LinkedIn Ads) to improve load time.
- WooCommerce Optimization: Continue to optimize WooCommerce by reviewing any additional performance bottlenecks it may introduce.
- Monitoring: Keep an eye on server-side performance through periodic audits to maintain optimal server response times and caching efficiency.
Implementing a CDN, along with the other improvements, will help further enhance site performance, particularly in reducing load times for users in different regions.
Scripts we Optimized: