Sorted by priority (Very important -> Unimportant)
- Choose a fast and reliable hosting provider
- Use a hosting provider with high server performance and minimal downtime to lay the foundation for a fast website.
- Use a lightweight and optimized theme
- Choose a theme that is optimized for speed and doesn't contain unnecessary code.
Examples: Astra, GeneratePress, Avada (with performance tool)
- Choose a theme that is optimized for speed and doesn't contain unnecessary code.
- Install caching plugin
- Use a WordPress caching pluginto save pages for repeated visits and reduce loading times.
- Optimize images
- Compress images without any visible loss of quality and use appropriate formats such as JPEG for photos and PNG for graphics.
- Use Content Delivery Network (CDN).
- Use a CDN like Cloudflareto deliver static content faster across servers worldwide.
- Deactivate and delete unnecessary plugins
- Reduce the number of active plugins to the bare minimum to save resources.
- Minification of CSS and JavaScript
- Reduce the file size of CSS and JS files by minifying them to improve loading times.
- Enable GZIP compression
- Enable GZIP compression on your server to reduce the size of HTML, CSS, and JavaScript files.
- Use the latest PHP version
- Update to the latest stable PHP version to benefit from performance improvements.
- Set up browser caching
- Configure the .htaccess file to enable caching of resources in the browser.
- Implement lazy loading for images and videos
- Load media content only when it appears in the user's field of view to reduce initial loading time.
- Optimize database
- Regularly clean your database of unnecessary data such as revisions, spam comments, and transients.
- Reduce the number of HTTP requests
- Combine files and use CSS sprites to minimize the number of server requests.
- Minimize redirects
- Avoid unnecessary 301 and 302 redirects to prevent additional loading times.
- Prevent hotlinking
- Protect your content from being directly embedded on other websites to save server resources.
- Reduce server response time
- Optimize server settings and use fast databases to reduce Time to First Byte (TTFB).
- Asynchronous loading of scripts
- Load JavaScript files asynchronously or deferred to avoid blocking page rendering.
- Use web fonts efficiently
- Limit the number of web fonts used and integrate them in an optimized manner.
- Minimize external scripts
- Reduce the use of external resources such as tracking scripts or embedded content.
- Limit Heartbeat API
- Adjust the frequency of the WordPress Heartbeat API to reduce server load.
- Limit contribution revisions
- Set a limit on saved revisions to keep the database small.
- Disable pingbacks and trackbacks
- Turn these features off to avoid unnecessary requests.
- Disable emojis
- Remove emoji support to eliminate unnecessary scripts.
- Reduce DNS lookups
- Reduce the number of different domains from which resources are loaded.
- Use prefetching and preloading
- Preload resources that are likely to be needed next.
- Use plugins for code optimization
- Use tools like Autoptimize to optimize HTML, CSS, and JS code.
- Set up performance monitoring
- Monitor website performance with tools like Google PageSpeed Insights or GTmetrix.
- Use HTTP/2 protocol
- Make sure your server supports HTTP/2 to enable more efficient connections.
- Use lossless image formats
- Use formats like WebP for better compression and faster loading times.
- Use inline critical CSS
- Embed critical CSS directly into the HTML code to speed up rendering.
- Implement database caching
- Use plugins or server techniques to cache database queries.
- Reduce DOM size
- Keep the number of DOM elements low to improve rendering performance.
- Minimize requests to third parties
- Limit widgets and feeds from external sources to the bare essentials.
- Optimize the use of retina images
- Offer customized image sizes for different devices.
- Introduce security measures
- Protect your website from attacks that could affect server performance.
- Optimize email notifications
- Reduce automated emails to reduce server load.
- Use a small favicon
- Use a compressed and small favicon to save loading time.
- Use local fonts
- Host fonts locally instead of loading them from external services.
- Using CSS sprites
- Combine multiple images into one file to reduce HTTP requests.
- Clean up HTML code
- Remove unnecessary spaces, comments, and formatting.
- Optimize AJAX requests
- Minimize the number and size of AJAX calls.
- Deactivate Etags
- Disable etags if they affect caching efficiency.
- Disable unnecessary Gutenberg blocks
- Reduce overhead by disabling unused blocks.
- Remove outdated technologies
- Remove Flash and other outdated elements.
- Specify image dimensions
- Define height and width of images in HTML or CSS.
- Use server-side caching
- Implement opcode caching like OPcache for PHP.
- Delay non-critical JavaScript
- Load less important scripts after the main content.
- Set CSS loading priority
- Make sure important stylesheets are loaded first.
- Optimize error pages
- Make 404 pages lean and informative.
- Use clean permalinks
- Use simple and short URL structures.
This checklist will help you effectively improve the speed of your WordPress website. Start with the most important points (at the top) and systematically work your way down to achieve the best possible results.