What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Speeding up WordPress on Apache is usually a matter of fixing the stack in the right order, not finding one magic Apache directive. Start with current PHP and database versions, HTTPS and mod_rewrite; measure a representative page; add full-page caching; configure browser caching and PHP OPcache; then consider a reverse proxy or CDN. Only after those layers are healthy should you tune plugins, queries and database content.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
This sequence matters because a cache hit can avoid PHP and database work altogether. WordPress calls caching its fastest performance improvement, while its hosting guidance describes caching as reusing expensive computed results instead of rebuilding them for every view. Apache itself is rarely the sole cause of a slow site; the expensive path is normally an uncached request that passes through Apache, PHP, plugins and the database.
As an Amazon Associate I earn from qualifying purchases.
1. Establish a baseline before changing Apache
Performance work is easier when every change has a before-and-after measurement. Choose one representative article, the home page, a category or archive page, and a logged-in account page if your site has members. Test each URL while logged out and, where relevant, while logged in.
- Time to first byte: record the server response time for an uncached request and for a cache hit.
- Total load time and Core Web Vitals: note the browser-visible result, not only server timing.
- Cache status: identify whether the response came from the browser, a CDN, a reverse proxy, a WordPress page cache or the application.
- PHP capacity: watch PHP worker saturation, queueing and memory pressure during normal traffic.
- Database latency: capture slow queries and connection time rather than assuming Apache is responsible.
Keep the test URL, request state, time of day and cache state consistent. Change one layer at a time, purge only the caches affected by that change, and retest. A faster cached home page does not prove that a personalized account page is fixed.
#1 Best Overall
2. Bring the platform to a supported baseline
WordPress recommends PHP 8.3 or newer, MariaDB 10.11 or newer or MySQL 8.0 or newer, HTTPS, and Apache or Nginx with mod_rewrite. Older versions may continue to run, but end-of-life PHP and database releases leave both performance improvements and security fixes behind.
| Component | Recommended baseline | Why it matters | How to verify |
|---|---|---|---|
| PHP | 8.3 or newer | Current PHP releases include supported runtime and security improvements. | Check the hosting control panel or run php -v from the server. |
| Database | MariaDB 10.11 or newer, or MySQL 8.0 or newer | Current database engines receive fixes and optimizer improvements. | Use the database administration panel or its version command. |
| Transport | HTTPS | Modern browser efficiency features and secure administration depend on TLS. | Load the site over HTTPS and inspect the certificate and redirect chain. |
| Apache capability | mod_rewrite enabled |
WordPress permalinks and redirect rules require URL rewriting. | Ask the host or inspect enabled Apache modules. |
Do not upgrade production blindly. Confirm that your theme, plugins and PHP extensions support the target versions, take a restorable backup, test on staging, and schedule the change. A supported runtime is a prerequisite; it does not substitute for page caching.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minute3. Enable HTTPS and remove redirect waste
Serve the canonical site, administration area and login over HTTPS. A request that starts on HTTP, redirects to HTTPS, then redirects again to a preferred hostname spends time before WordPress can do any useful work. Pick one canonical hostname and send every alternate form directly to it.
WordPress documents Apache mod_rewrite patterns for secure administration and HTTPS redirects. Apply those rules at the edge or virtual-host level when your host permits it, rather than routing a simple redirect through PHP. Verify that:
http://examplereaches the final HTTPS URL in one redirect;- the www and non-www variants do not bounce between each other;
- images, scripts, stylesheets and fonts use HTTPS URLs;
- the WordPress Address and Site Address settings use the same canonical HTTPS origin; and
- the login and administration URLs do not create a separate redirect chain.
After changing URLs, purge page, reverse-proxy and CDN caches. Mixed-content warnings can prevent assets from loading and can look like a server-speed problem.
4. Put full-page caching first
For a public article or landing page, the largest gain usually comes from serving previously generated HTML instead of executing WordPress for every request. WordPress Developer Resources describes caching as “the fastest way to improve performance” and says static-file delivery can improve fairly static pages “several hundred times over.” That phrase is a qualitative upper-scale statement, not a guaranteed benchmark for every Apache installation.
File-based WordPress page caching
A page-cache plugin writes generated HTML to disk. Apache can then return that file without starting PHP or querying the database. WordPress names W3 Total Cache, WP Super Cache and Cache Enabler as examples of this approach.
Configure the cache for logged-out public requests first. Exclude login, checkout, account, preview and other personalized URLs. Purge the affected page when a post, menu, widget, theme or plugin changes. If the plugin supports cache warming, use it carefully: warming too many URLs at once can create the same PHP spike the cache was meant to prevent.
Understand what page caching does not cache
Page caching stores HTML. The browser still has to download CSS, JavaScript, images, video posters and fonts, and those assets need their own compression and cache policy. Dynamic fragments such as a shopping cart count, notification badge or user greeting may bypass full-page caching or require an edge-side strategy.
Cache layers and their order
A practical request path is browser cache, CDN, reverse-proxy full-page cache, then the WordPress file cache and finally PHP plus the database. A hit at an earlier layer prevents work at every layer behind it. If a CDN serves the response, Apache may not receive the request at all.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Layer | Typical hit latency | Purge and invalidation | Personalized or logged-in pages | Failure behavior | Operational complexity |
|---|---|---|---|---|---|
| Browser cache | Lowest for a returning visitor; no network request when valid | Controlled by response headers, URL versioning and browser rules | Applies to that browser and must not store private responses as public | Expired entries fall back to the network | Low |
| WordPress file page cache | Usually faster than rebuilding PHP and database output | Plugin purge, scheduled expiry or file deletion | Normally bypassed for logged-in users and cookies | Apache can fall back to PHP if the cache file is absent | Low to moderate |
| Reverse proxy, such as Varnish or NGINX | Very low when the object is in memory | Requires purge or ban rules and correct cache keys | Must bypass private cookies and authorization responses | Can pass through to Apache when unavailable, if configured | Moderate to high |
| CDN | Low for visitors near an edge with a warm object | Provider API or dashboard purge; URL versioning reduces broad purges | Usually caches public content and bypasses private sessions | May serve stale content or fall back to the origin according to its policy | Moderate |
Do not enable every layer without defining ownership. Decide which system purges after publishing, which one respects cookies, and what happens when the origin is unavailable. A stale but public article is usually safer than a cached account page containing another visitor’s data.
5. Configure browser caching for static assets
Use Cache-Control and, where needed, Expires for versioned CSS, JavaScript, images and fonts. A long lifetime is appropriate only when the URL changes whenever the file changes. WordPress or a build process can append a version string or fingerprint to an asset URL.
Rank #3
<IfModule mod_headers.c>
<FilesMatch ".(css|js|png|jpg|jpeg|gif|svg|webp|avif|woff2?)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
</IfModule>
The one-year value in this example is a policy for fingerprinted, immutable files; do not apply it to HTML or unversioned assets. For files whose URLs stay constant, choose a shorter lifetime or purge them deliberately. Expires can support older clients, while ETag validators let a browser ask whether a resource changed instead of downloading it again. On a multi-server installation, make ETag generation consistent or disable inconsistent validators so identical files do not produce needless revalidation.
Never mark private, user-specific responses as public. Keep cookies, authorization responses and account pages outside shared caches.
Recommended Free Tools
6. Enable and size PHP OPcache
OPcache stores precompiled PHP bytecode in memory. Without it, PHP repeatedly parses and compiles the same WordPress core, theme and plugin files. WordPress describes an opcode cache such as OPcache as improving PHP performance “by many times.” The result is most useful on requests that still reach PHP after page-cache misses.
Check that OPcache is active for web requests
- Inspect the PHP configuration used by Apache, not only the command-line PHP binary; they can load different configuration files.
- Confirm that the OPcache extension is loaded and enabled for web requests.
- Review
opcache.memory_consumptionandopcache.interned_strings_buffer. A large plugin and theme set needs enough shared memory to avoid frequent eviction. - Watch hit rate, wasted memory and restart counts in a safe status view. Repeated restarts or a full cache indicate sizing or deployment problems.
- After a PHP, theme or plugin update, invalidate OPcache safely. Restarting the relevant PHP workers or using the host’s supported reset method prevents old bytecode from being served.
Do not raise memory values indefinitely. Shared memory is taken from the server, and an oversized setting can starve Apache or the database. Managed hosts may control these directives; ask for the current values and whether per-site sizing is available.
7. Add a reverse proxy or CDN when traffic justifies it
Once HTTPS, page caching and OPcache are working, a reverse proxy or CDN can remove more requests from Apache. WordPress’s typical cache order places a CDN and reverse-proxy full-page cache ahead of the file cache. A reverse-proxy hit can avoid Apache, PHP and database processing entirely.
When a reverse proxy is appropriate
- Traffic has bursts that exhaust Apache or PHP workers even though pages are mostly public.
- Many visitors are geographically close to the same proxy or edge location.
- You can define cache keys, cookie bypasses, purge rules and a safe fallback to the origin.
Start with public GET and HEAD requests. Bypass requests with authentication, shopping-cart or session cookies, and never cache responses that contain personal data. Purge or ban an object when its source post, taxonomy, menu or template changes. Test both a warm hit and a cold miss after every rule change.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #4
When a CDN is appropriate
A CDN is especially useful for images, stylesheets, scripts, fonts and geographically distributed visitors. It can also cache public HTML, but HTML caching demands the same cookie and invalidation discipline as a reverse proxy. Confirm HTTPS certificate handling, origin protection, purge controls and whether HTTP/2 or HTTP/3 is available.
8. Compress and optimize what Apache delivers
Enable server- or plugin-level compression for text responses such as HTML, CSS, JavaScript, JSON and SVG. Avoid compressing already compressed formats such as JPEG, WebP, AVIF, ZIP or most video files; doing so wastes CPU without reducing transfer size. Send a correct Vary: Accept-Encoding header when the response differs by compression format.
Minify CSS and JavaScript when the build is reliable, but test source maps, debugging and cache invalidation. Compress and resize images to their displayed dimensions, prefer modern formats where browser support and workflow permit, and reserve high-resolution originals for downloads rather than page backgrounds.
HTTP/2 and HTTP/3 multiplex multiple requests over a connection. Old HTTP/1 pipelining, domain-sharding and indiscriminate asset concatenation recipes should not be copied blindly; they can make cache invalidation and prioritization worse. Confirm which protocol Apache or the CDN negotiates, then measure before and after changing bundling.
9. Tune WordPress after the delivery stack is healthy
Application work matters most on cache misses and dynamic pages. Audit plugins for duplicate functionality, expensive scheduled jobs and queries that run on every request. Remove or replace components that add more database work than the feature is worth.
- Inspect slow-query logs and repeated queries before adding indexes or rewriting code.
- Limit oversized autoloaded options and clean obsolete transients when your maintenance tools support it.
- Reduce unnecessary post revisions and database clutter only after confirming retention requirements and taking a backup.
- Identify search, related-content, analytics and personalization features that bypass page cache.
- Keep object caching separate from full-page caching when a site has repeated database reads; verify invalidation so old values are not shown.
Do not delete revisions, transients or tables solely because a generic optimization checklist says to. Establish what the data does, test on staging and retain a rollback.
Best Value
- Offer contains ONLY 2 titles regardless of the order quantity placed for this listing. Set of volumes may vary. Ordering in multiples will not change the volume received. Image is meant to display the type of book you will be receiving only.
- BRAIN TEASING. Perfect Puzzle Book for all ages to learn. Enjoy puzzles, maze, word search, or crosswords! This puzzle book is ideal for people on the go and will provide hours of entertainment.
- FUN & CHALLENGING. Exercise your brains long-term memory, working memory, executive functioning, attention to detail, multitasking, and processing speed. Perfect gifting item for those who love word search puzzles!
- RELAX, RECHARGE, & REFOCUS. The word find puzzle book offers an enjoyable challenge for all, from beginners to experts. Ideal for learning, practicing, and having fun time for various users.
- OFFICIALLY LICENSED. High-resolution printing. Perfect for family activities, classroom learning, or travel. Provide an engaging, educational experience with every page, making it both fun and meaningful.
10. Choose hosting by capability, not an “Apache” label
Two hosts can both advertise Apache while exposing very different performance controls. Compare the capabilities below before moving a site.
| Hosting capability | Questions to ask | Why it affects speed |
|---|---|---|
| PHP and database versions | Are PHP 8.3+ and MariaDB 10.11+ or MySQL 8.0+ available, and can they be upgraded without a long migration? | Supported runtimes receive fixes and avoid obsolete execution paths. |
| OPcache | Is OPcache enabled for Apache web requests? Can its memory and interned-string settings be sized per site? | Insufficient or disabled bytecode caching increases PHP work. |
| Apache access | Can you use mod_rewrite, headers, expiration rules and compression, or are they centrally managed? |
These controls determine whether redirects and static assets are handled efficiently. |
| HTTP protocols | Does the edge support HTTP/2 or HTTP/3 with HTTPS? | Multiplexing and modern transport can reduce connection overhead. |
| CPU, memory and storage | Are limits shared, burstable or dedicated? What happens when PHP workers or I/O reach the limit? | Caching cannot hide sustained resource starvation or slow disk I/O. |
| CDN or reverse proxy | Is either included, and who controls cache keys, cookies, purge and fallback? | Higher layers can prevent requests from reaching Apache, but a badly configured layer can serve stale or private content. |
Ask for measured limits and log access rather than accepting a “fast Apache” claim. A plan with fewer CPU resources but a well-configured full-page cache may outperform a larger plan that executes WordPress for every visitor; a dynamic site with little cacheability may need the opposite.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors11. A safe implementation order
- Record the baseline: test representative public, personalized, logged-in and uncached URLs, noting first-byte time, total load time, cache status, PHP workers, database latency and Core Web Vitals.
- Update the platform: move toward PHP 8.3+, MariaDB 10.11+ or MySQL 8.0+, and confirm extensions and plugins on staging.
- Canonicalize HTTPS: install the certificate, set one hostname and remove multi-hop redirects.
- Enable a file page cache: cache logged-out public HTML, exclude private paths and document purge triggers.
- Set asset headers: version static files, apply suitable
Cache-ControlandExpirespolicies, and verify ETag behavior. - Enable OPcache: check the web PHP configuration, size memory for the codebase and define a safe post-deployment reset.
- Compress and optimize assets: enable text compression, resize images and review minification without blindly applying HTTP/1 recipes.
- Add a reverse proxy or CDN if needed: begin with public content, define cookie bypasses and purge rules, and test origin fallback.
- Tune WordPress: investigate plugins, queries, scheduled jobs and cache-bypassing features using the measurements from step one.
- Retest every state: purge affected layers and compare warm, cold, logged-out, logged-in and personalized responses.
12. Troubleshooting common symptoms
The first request is slow but repeat views are fast
This usually indicates a cold page or reverse-proxy cache, PHP startup or database work. Check whether the first request is a miss by inspecting cache headers and PHP timing. Improve the miss path with OPcache, query and plugin work; do not simply lengthen browser cache lifetimes.
Pages are fast until a user logs in
That is expected when private requests bypass shared page caches. Measure the logged-in path separately, then reduce plugin and query cost, improve object caching where appropriate, and ensure private responses are never stored in a public cache.
New content does not appear
Trace the object through browser, CDN, reverse proxy and WordPress caches. Purge the layer that still holds the old response, then check that publishing hooks and URL variations use the same cache key. Version static assets after CSS or JavaScript changes.
Apache or PHP workers are exhausted
Find out whether requests are cache misses, long-running PHP operations, slow database queries or large uploads. A reverse proxy can absorb public traffic, but it cannot fix an uncached request that performs expensive application work. Reduce the work or increase resources only after identifying the bottleneck.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Compression or a protocol change made the site worse
Check CPU usage, response headers and negotiated protocol. Do not compress already compressed files, concatenate assets solely because an old HTTP/1 guide recommended it, or enable a format without confirming client and cache behavior.
Does Apache make WordPress slow?
Apache is one part of the request path. A well-configured Apache installation can serve cached files efficiently, terminate HTTPS and deliver compressed assets, while an uncached WordPress request can be slow on any web server. The practical test is whether the site’s cache-hit and uncached timings, PHP utilization and database latency improve as each layer is corrected. Work from the outside in: supported platform, HTTPS, full-page cache, asset caching, OPcache, edge delivery and then application tuning.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




