Table of contents
Get the industry’s fastest hosting for WordPress◦ 100% network uptime
◦ Comprehensive security
◦ 24/7 support

WordPress GuideSEO → Speed Up Your Website

Speed up a WordPress site: 33 tips to optimize your website

A slow website frustrates visitors, hurts search rankings, and can even cost you sales. WordPress is powerful, but without some optimization, your site may not perform at its best. Luckily, there are several proven ways to make WordPress faster.

Get fast, reliable hosting for WordPress

Power your site with the industry’s fastest, most optimized WordPress hosting

33 tips to speed up your WordPress site

To speed up a WordPress site, focus on three main areas: choosing quality hosting and a lightweight theme, optimizing your site assets with caching, image compression, and file minification, and reducing unnecessary load by limiting plugins, cleaning your database, and using tools like CDNs and lazy loading.

Regular updates and maintenance also ensure your site runs efficiently over time.

Here are 33 tips—from beginner friendly to more advanced—to help you fully optimize your site.

1. Optimize images

Difficulty: Beginner
Impact: High

Image optimization means preparing your pictures in a way that reduces their file size without hurting visual quality. This usually involves compressing images, resizing them to the dimensions you actually use on your site, and sometimes converting them into modern formats like WebP. Tools and plugins can automate most of this process, so you don’t have to manually adjust every file.

Large image files are one of the most common reasons a WordPress site loads slowly. Every time a visitor opens a page, their browser has to download each image. Smaller, optimized images load faster, reduce strain on your server, and improve user experience. 

To optimize images, you can:

Learn more: How to optimize images for WordPress →

2. Implement caching

Difficulty: Beginner
Impact: High

Caching creates and serves stored versions of your web pages instead of generating them from scratch every time someone visits. In WordPress, a caching plugin can store copies of static files (like HTML, CSS, and images) so visitors get faster load times without waiting for the server to reprocess everything.

Without caching, each page load requires multiple database queries and script executions, which slow down your site—especially during traffic spikes. With caching enabled, most visitors see an instantly served copy, dramatically cutting down load times.

To enable caching on your WordPress site:

3. Use a Content Delivery Network (CDN)

Difficulty: Beginner
Impact: High

A Content Delivery Network (CDN) is a global network of servers that stores copies of your website’s static files, like images, stylesheets, and JavaScript. When a visitor accesses your site, the CDN delivers content from the server closest to their location, reducing the distance data has to travel.

Using a CDN is important for WordPress speed because it decreases latency and ensures your content loads quickly for visitors worldwide. Without a CDN, someone far from your server might experience noticeable delays. 

A CDN also reduces the load on your main server, helping it handle more traffic without slowing down.

To set up a CDN:

4. Use a lightweight, speed-optimized theme

Difficulty: Beginner
Impact: High

A lightweight theme is built with minimal code, small CSS/JS files, and few bundled features you don’t need. Instead of shipping 20 page builders, sliders, and animation libraries, it focuses on clean templates, efficient queries, and smart use of the WordPress block editor. 

This matters because your theme sits on every page. Bloated themes add kilobytes (sometimes megabytes) of CSS and JavaScript to every request, increasing time to first byte (TTFB), delaying first contentful paint (FCP), and pushing out largest contentful paint (LCP). Less code = fewer bytes over the network, fewer parse/compile steps in the browser, fewer layout/paint cycles, and a faster site—especially on mobile and slower networks.

To choose a lightweight theme, look for: 

5. Keep WordPress core, themes, and plugins updated

Difficulty: Beginner
Impact: Medium

Updates deliver security patches, bug fixes, new features, and performance improvements. Core updates often optimize internal APIs, database queries, and editor performance; plugin/theme updates can replace slow code paths, remove render-blocking assets, and add compatibility for newer PHP versions. 

WordPress also supports automatic updates, so you don’t have to manage everything manually.

A safe update workflow looks like this: 

To enable auto-updates: 

Learn more: Enabling Automatic Updates in WordPress →

6. Run the latest PHP version

Difficulty: Moderate
Impact: High

PHP is the scripting language that runs WordPress. Each major PHP release brings big gains in execution speed, memory usage, type safety, and security hardening. 

WordPress runs on many PHP versions, but your goal is to use the latest stable version supported by WordPress core and your plugins/themes (commonly PHP 8.x). Even without changing a line of theme or plugin code, upgrading PHP can make every page render faster.

Upgrade safely with this flow: 

7. Minify and combine CSS, JavaScript, and HTML files

Difficulty: Moderate
Impact: Medium

Minification removes whitespace, comments, and other non-essential characters from code files (CSS, JavaScript, and HTML) without changing how they work. 

Combination (also called concatenation) merges many small files into fewer, larger files so the browser makes fewer requests. Most performance plugins can also defer or async JavaScript, generate critical CSS, and preload key assets so the page starts rendering sooner.

This speeds things up because browsers spend time downloading, parsing, and executing each asset. Fewer bytes and fewer round trips reduce network overhead and CPU work, improving First Contentful Paint (FCP) and Largest Contentful Paint (LCP). 

8. Optimize and clean up your WordPress database

Difficulty: Beginner
Impact: Medium

Your WordPress database stores posts, pages, comments, settings, revisions, transients (temporary cache entries), and data from plugins. Over time it accumulates “junk” like expired transients, spam/trashed comments, orphaned metadata, and overhead in MySQL tables. 

Database optimization removes this cruft and reclaims space, which helps queries run faster and keeps backups smaller.

9. Limit/control post revisions

Difficulty: Beginner
Impact: Low

Post revisions are snapshots WordPress saves each time you update content, plus periodic autosaves to prevent data loss. They’re useful for rolling back changes and seeing edit history, but on busy sites revisions can pile up, especially on long-form posts or products edited many times.

However, excessive revisions bloat the wp_posts table and related meta tables, increasing database size and the time needed to run queries and backups. Capping the number of revisions per post keeps history useful without letting thousands of extra rows slow down dynamic queries, editors, or backup/restore operations.

10. Use lazy loading for images and videos

Difficulty: Beginner
Impact: Medium

Lazy loading delays downloading offscreen images, iframes, and video players until they’re close to entering the viewport. WordPress natively adds loading=”lazy” to most images and many iframes, and plugins can extend this to background images and replace heavy YouTube/Vimeo players with lightweight “preview” thumbnails that only load the real player on click.

This helps because images and video are usually the heaviest assets on a page. By skipping them initially, the browser fetches fewer bytes, parses less markup, and renders meaningful content sooner—cutting bandwidth on every visit, especially on mobile and slower networks.

11. Remove unused or inactive plugins, themes, and widgets

Difficulty: Beginner
Impact: Medium

Plugins, themes, and widgets add features and design to WordPress, but inactive or unused ones leave code, database entries, and update checks behind. Over time this clutter can slow the admin, add autoloaded options, and create conflicts, even when something isn’t actively “on.”

Trimming what you don’t use reduces PHP work, memory usage, and requests for CSS/JS those tools inject. It also tightens security, simplifies updates, and can prevent extra HTTP requests on the frontend (icons, fonts, analytics, sliders) that drag down Core Web Vitals.

12. Reduce external scripts and HTTP requests

Difficulty: Moderate
Impact: High

External scripts are files your pages load from other domains—think analytics, chat widgets, ad pixels, social embeds, remote fonts, and A/B testing tools. Each one adds DNS lookups and network handshakes, and many inject render-blocking CSS/JS or heavy iframes that compete with your own assets.

Cutting these reduces request count, transfer size, and main-thread work, improving FCP/LCP and lowering Total Blocking Time. It also makes performance more stable: third-party slowdowns won’t tank your pages, and you’ll ship less code to visitors on mobile networks.

13. Clean up your media library (delete unused files)

Difficulty: Beginner
Impact: Low

The Media Library stores every image, PDF, video, and file you upload. Over time it fills with unused items—duplicates, old hero images, cropped sizes you no longer need, and assets left behind by page builders or deactivated plugins. 

Some files show as “Unattached” (not linked to a post), though remember: a file can be used in a block, custom field, or slider and still appear unattached.

Old and unused files waste disk space, slow backups and restores, and can increase CPU and I/O when your host scans or backs up the wp-content/uploads folder. If your theme or plugins load media-based CSS/JS for galleries or sliders, stray media can also encourage unnecessary features to remain active. 

Learn more: 7 best WordPress media library plugins →

14. Streamline/paginate comments (or disable if unnecessary)

Difficulty: Beginner
Impact: Low

Comments are WordPress’s built-in discussion system. They can be valuable on blogs and content sites, but they also add database queries, avatar lookups (Gravatar), spam checks, and pagination work. 

Heavy comment threads can slow page rendering (lots of DOM nodes), increase TTFB (extra queries), and add external requests (Gravatar, third-party scripts). Paginating comments limits how much the server and browser must process at once; disabling them on posts that don’t need discussion removes that work entirely.

15. Split/paginate long posts or content into multiple pages

Difficulty: Beginner
Impact: Low

Splitting long posts divides a single article into multiple pages, either with the Page Break block in the editor or the <!–nextpage–> tag in the content. It’s useful for very long guides, image-heavy tutorials, and posts with many embedded elements that strain the browser and server when delivered all at once.

Reducing the initial payload helps the first page render faster by shipping fewer images, scripts, and DOM nodes up front. Subsequent pages load on demand as the reader navigates, which can improve LCP/TBT on the first view—especially on mobile. 

Use this thoughtfully; readers prefer fewer clicks, so split only when the page is truly heavy.

16. Disable hotlinking and leeching of content

Difficulty: Moderate
Impact: Low

Hotlinking is when another site embeds your images (or other media) by linking directly to your file URLs, so their traffic uses your bandwidth and server resources. 

“Leeching” is the same idea more broadly—others pulling your assets without hosting them themselves. 

Blocking hotlinking tells the server/CDN to refuse requests for your files when the visitor didn’t come from your own domain. Preventing hotlinking keeps your server and CDN from wasting bandwidth on other people’s pages, which reduces load, stabilizes response times during traffic spikes, and saves money on data transfer. 

It also helps your site remain fast for your own visitors on busy days when a popular forum post or scraper is pulling your images.

17. Reduce unnecessary database calls and use database caching

Difficulty: Pro
Impact: Medium

Database calls are the queries WordPress runs to fetch posts, settings, user data, etc. Many plugins and themes run extra queries—sometimes repeatedly—on every page load. “Database caching” in WordPress typically means the object cache: storing query results and computed data in memory (e.g., Redis or Memcached) so they can be reused without hitting MySQL each time.

Fewer and faster queries lower server work and TTFB, especially on dynamic pages (search, account, cart, checkout) that can’t be fully page-cached. 

18. Remove or defer render-blocking JavaScript and CSS

Difficulty: Moderate
Impact: High

Render-blocking resources are files that stop the browser from painting the page until they’re downloaded and processed. By default, CSS blocks rendering; synchronous <script> tags block the HTML parser. 

“Deferring” JS tells the browser to continue parsing and run the script later; “async” runs it when it arrives. “Critical CSS” inlines just the minimal styles needed for above-the-fold content, loading the rest later.

Eliminating or delaying these blocks improves First Contentful Paint and Largest Contentful Paint because the browser can show useful content sooner. You’ll also cut Total Blocking Time by delaying heavy, nonessential scripts, which makes pages feel responsive faster—especially on mobile connections.

19. Reduce redirects

Difficulty: Beginner
Impact: Medium

A redirect sends visitors from one URL to another (e.g., http:// → https://, example.com → www.example.com, old slugs to new ones). They’re useful for SEO and avoiding 404s, but each hop adds an extra round trip before the browser can request the final page, which increases latency and delays. 

Short, single-hop rules (or no redirect at all) keep navigation snappy and reduce wasted network requests.

20. Consider your hosting infrastructure

Difficulty: Moderate
Impact: High

“Infrastructure” is the hardware and software stack powering your site: CPU, RAM, storage (SATA SSD vs NVMe), web server (LiteSpeed/NGINX/Apache), PHP workers, database version/engine, and network. Even on the same host, a plan with more PHP workers, NVMe storage, and Redis can outperform a budget tier by a wide margin.

If your server is saturated, no amount of front-end tuning will fix slow time to first byte or failures under traffic spikes. Upgrading to better WordPress hosting removes CPU/RAM bottlenecks, reduces disk I/O wait with faster NVMe storage, adds concurrency via more PHP workers, and unlocks features like object caching and HTTP/3 that shave milliseconds on every request.

21. Choose a reliable, fast hosting provider

Difficulty: Beginner
Impact: High

A fast provider offers modern hardware (NVMe, ample RAM/CPU), an optimized web/PHP stack, edge/CDN integration, and WordPress-specific tooling (staging, backups, malware protection). 

“Reliable” means consistent performance under load, strong uptime SLAs, responsive support, and transparent resource allocations (e.g., PHP workers, bandwidth).

The right provider prevents bottlenecks you can’t fix at the application level. Lower TTFB, better concurrency, and built-in caching/object cache/CDN support improve Core Web Vitals sitewide and reduce the time you spend firefighting performance issues.

Learn more: How to choose hosting for WordPress →

22. Ask your host about speed/performance features 

Difficulty: Beginner
Impact: Medium

Hosts often include optimization features you can toggle: full-page caching, edge caching, Redis/Memcached object cache, image optimization, Brotli compression, HTTP/3/QUIC, database optimization tools, PHP worker tuning, and “delay JS/critical CSS” integrations.

Some bundle add-ons branded as “page speed” or “performance boost” suites.

Turning on the right features can deliver big wins without extra plugins or code. Edge caching reduces origin load and latency, object caching speeds dynamic pages, and compression/HTTP/3 shrinks and accelerates asset delivery—lifting Core Web Vitals with minimal effort.

23. Ensure database and site are in the same data center

Difficulty: Pro
Impact: High

Your WordPress app (PHP) and database (MySQL/MariaDB) should live in the same data center or at least the same region/availability zone with low-latency private networking. Many shared/managed plans keep them on the same machine by default; performance issues arise when the database is on a remote network or different region.

“Reliable” means consistent performance under load, strong uptime SLAs, responsive support, and transparent resource allocations (e.g., PHP workers, bandwidth).

Every query crossing regions adds tens to hundreds of milliseconds of latency and increases the chance of packet loss and timeouts under load. Keeping app and DB co-located (and on the same private network) lowers TTFB for uncached pages and reduces variability during traffic spikes.

24. Use faster, well-coded plugins and avoid poorly performing ones

Difficulty: Beginner
Impact: Medium

“Faster, well-coded” plugins follow WordPress coding standards, load assets only where needed, minimize database queries, and stay actively maintained. Poorly performing plugins often enqueue large CSS/JS on every page, make duplicate queries, or run heavy tasks on each request.

Learn more:  How to find slow plugins →

25. Remove useless social sharing buttons

Difficulty: Beginner
Impact: Low

Social sharing buttons add clickable icons and counters for networks like Facebook, X, LinkedIn, and Pinterest. Many include third-party scripts or iframes to track shares and show counts.

Those extras add external requests, JavaScript execution, and layout shifts, all of which can hurt Core Web Vitals. If your audience rarely uses them—or they appear on pages where sharing isn’t relevant—they’re just performance drag.

26. Disable pingbacks and trackbacks

Difficulty: Beginner
Impact: Low

Pingbacks/trackbacks are old notification systems that try to alert a site when another site links to it. They arrive via XML-RPC and often become spam or needless database entries.

Disabling them reduces background requests and spam processing, cutting database work and eliminating a common slow path and attack surface—good for stability and speed under load.

27. Use a DNS-level firewall

Difficulty: Moderate
Impact: High

A DNS-level firewall (often via a CDN like Cloudflare, Akamai, or Bunny) sits in front of your site. Traffic goes to the provider first, where bad bots and attacks are filtered, and static assets can be cached at edge locations near visitors.

Blocking junk traffic before it reaches your server preserves CPU/RAM for real users and shortens distance with edge caching, improving TTFB and overall stability during traffic spikes or attacks.

Learn more: What is a web application firewall for WordPress? →

28. Fix HTTPS/SSL errors without plugins

Difficulty: Moderate
Impact: Medium

HTTPS uses an SSL/TLS certificate so your site loads securely at https://. Common issues include missing/expired certificates and “mixed content” (pages served over HTTPS but loading images/CSS/JS over HTTP).

Fixing HTTPS errors prevents redirect loops and blocked assets that slow or break rendering. A clean HTTPS setup lets you use HTTP/2/3, improves caching reliability, and avoids extra round trips caused by mixed content and certificate warnings.

Learn more:  How to force HTTPS in WordPress →

29. Conduct site speed diagnostics regularly

Difficulty: Beginner
Impact: Medium

“Site speed diagnostics” means running tests and checks (PageSpeed Insights, WebPageTest, Lighthouse, Chrome DevTools) on key templates—home, post/product, cart/checkout—to measure metrics like LCP, INP, CLS, and TTFB, then inspecting waterfalls to see which files or third parties slow things down.

Doing this on a schedule catches regressions early, shows which fixes actually move the needle, and keeps Core Web Vitals healthy. Regular testing prevents silent bloat from new plugins, design changes, or marketing tags that can degrade performance over time.

30. Use third-party platforms for heavy media (YouTube, Vimeo, SoundCloud)

Difficulty: Beginner
Impact: Medium

Video/audio hosting platforms stream media efficiently using global CDNs and adaptive bitrates. Instead of serving large MP4/MP3 files from your server, you embed the player from YouTube/Vimeo/SoundCloud so their network does the heavy lifting.

Offloading big media cuts bandwidth and CPU on your host, avoids timeouts, and reduces page weight. With lazy-loading or “lite” embeds, the full player doesn’t load until a user interacts, improving LCP and Total Blocking Time.

32. Optimize homepage for speed (use excerpts, limit posts per page)

Difficulty: Beginner
Impact: Medium

Your homepage is often the highest-traffic page. Optimizing it means showing only essential content, using short excerpts instead of full posts, limiting how many items appear, and avoiding heavy widgets, sliders, or multiple large videos.

A lean homepage reduces initial bytes, DOM size, and queries, which improves LCP and keeps the main thread free. It also makes caching more effective and prevents third-party bloat from dragging down your most important page.

33. Optimize Google Fonts (or host fonts locally)

Difficulty: Moderate
Impact: Medium

Google Fonts are web fonts loaded from Google’s servers. They look great but can add extra HTTP requests and delay text rendering. Optimization means limiting families/weights, controlling how text displays while fonts load, and optionally self-hosting the exact files you need.

WordPress site speed FAQs

Speed matters because it directly affects user experience, SEO rankings, and conversions. Visitors often leave if a page takes more than a few seconds to load. For businesses, this can mean losing customers before they even see your product or service.

Search engines like Google also rank faster websites higher, so optimizing speed improves both visibility and engagement.

You can test your website speed with tools like Google PageSpeed Insights, GTmetrix, and Pingdom.

These tools don’t just measure how quickly your site loads, but also provide detailed suggestions for improvement. They evaluate factors like server response time, file sizes, caching, and image optimization so you know exactly what’s slowing your site down.

Several issues can drag down performance. Common causes include:

Additionally, not using caching or a CDN forces every visitor to load content directly from your server, which increases load times.

There isn’t a single best option for everyone, but some popular caching and optimization plugins include WP Rocket, W3 Total Cache, and WP Super Cache.

The right choice depends on your needs and budget, but installing a caching plugin is one of the easiest ways to speed up your site.

Additional resources

Easy SEO for WordPress: 7 things to try →

The goal of SEO is to get more people to find your website through search engines, and thus drive more traffic to your website. 

WordPress speed optimization 101: Performance tuning →

If your site isn’t getting the attention you think it deserves, you may need to learn how to create a WordPress performance tuning strategy.

Best SEO plugins for WooCommerce sites →

In this article, we’re going to talk about the two best WordPress plugins for improving SEO on WooCommerce sites.

Originally from Albuquerque, New Mexico, Leslie Bowman has hopped around the country since graduating from undergrad. She focused on English and Latin American History in college and eventually attended graduate school in New York City. There, she developed a passion for short, persuasive arguments. Bowman found a love of copywriting and is now a Senior Copywriter at Liquid Web.