International WordPress Sites:
How CDN + FTP Beats Single-Region S3
A WordPress site serving audiences in Europe, Asia-Pacific, and North America simultaneously faces a performance challenge that single-region object storage fundamentally cannot solve. CDN plus FTP storage beats single-region S3 for international sites, and the margin widens with every additional continent in your audience.
Updated 2026
Global Performance Guide
When you deploy a WordPress site on hosting in US-East and store your media in an S3 bucket in the same region, you have made a default choice that works well for visitors in the Eastern United States and adequately for visitors elsewhere in North America. For visitors in Germany, Japan, Brazil, or Australia, you have created a structural performance disadvantage that no amount of image compression or PHP optimization can overcome, because the problem is the physical distance between your storage and your visitors.
S3 does offer multi-region solutions: S3 Cross-Region Replication, CloudFront as a global CDN in front of S3, or using a globally distributed storage class. Each of these adds configuration complexity and often adds cost. The alternative — a single FTP storage server in Europe or the US combined with a CDN that has genuine global edge coverage — delivers comparable or better international performance at lower cost and with a fraction of the configuration complexity.
This guide explains the physics of why single-region storage hurts international audiences, how CDN changes the equation, why the FTP plus CDN combination specifically outperforms single-region S3 for international sites, and how to configure the right CDN for your audience geography.
The physics of geographic latency: why you cannot optimize your way out of it
Light travels through fiber optic cables at approximately 200,000 kilometers per second, which is about two-thirds the speed of light in a vacuum. The distance from an S3 data center in US-East (Northern Virginia) to a user in Tokyo is approximately 11,000 kilometers. The minimum theoretical round-trip time for a single packet at the speed of light in fiber is 110 milliseconds. In practice, accounting for routing hops, congestion, and protocol overhead, the real-world round-trip time is 150 to 250 milliseconds.
This latency is physics. It cannot be compressed out, cached away, or optimized through configuration on the origin server. No matter how well-tuned your S3 bucket is, a visitor in Tokyo will wait at minimum 150 milliseconds for the first byte of any image served from US-East. For a product page with 30 images, the first image has 150ms of unavoidable latency baked in. The remaining 29 are pipelined but still subject to the same underlying network distance.
The CDN column is the key insight: regardless of where the FTP storage server is located, CDN edge delivery reduces TTFB to 7 to 15ms for visitors worldwide. A visitor in Sydney gets essentially the same image TTFB as a visitor in New York, because the CDN serves them from an edge node in Sydney rather than from a data center in Virginia. The origin storage location becomes irrelevant to end-user performance once CDN caching is in place.
Why S3 alone fails international audiences and what S3 requires to fix it
A single-region S3 bucket without a CDN in front of it delivers images to international visitors at the geographic latency shown in the table above. For a site with meaningful traffic in multiple regions, this is a Core Web Vitals failure for a significant portion of the audience.
AWS’s own recommended solution for international audiences is CloudFront as a CDN layer in front of S3. This is technically sound but adds configuration and cost: creating a CloudFront distribution, configuring origin access identity, setting up cache behaviors, managing invalidations, and paying both CloudFront delivery costs and the S3-to-CloudFront transfer costs (which are lower than internet egress but not zero).
Visitors outside the S3 bucket’s region experience 80 to 210ms of unavoidable geographic latency per image request. For a product page with 30 images, this contributes 80 to 210ms to LCP for international visitors even after all other optimizations. CrUX data captures this in the 75th percentile field LCP, which typically fails for audiences beyond the hosting region.
S3 with CloudFront delivers equivalent performance to FTP with BunnyCDN for international audiences. CloudFront’s edge network is comparable in coverage to BunnyCDN or Cloudflare for most global geographies. The differences are in cost (CloudFront is more expensive per GB than BunnyCDN) and configuration complexity (CloudFront requires more setup than a BunnyCDN pull zone). The performance outcome is similar; the cost and complexity are higher.
FTP storage combined with BunnyCDN or Cloudflare delivers the same international edge performance as S3 + CloudFront. BunnyCDN has over 100 PoPs globally with particularly strong coverage in Europe, Asia-Pacific, and Latin America. Cloudflare’s network is even more extensive with 300+ PoPs. Both cost less per GB than CloudFront and require simpler configuration than a CloudFront distribution.
Choosing the right CDN for your audience geography
The CDN choice for an international site should be driven by where your actual audience is located, not by which CDN is most widely discussed. Different CDNs have different geographic strengths.
Best option: BunnyCDN or Cloudflare. BunnyCDN has extensive European PoP coverage including multiple nodes in Germany, France, UK, Netherlands, Poland, and Scandinavia. For a European-majority audience, BunnyCDN at $0.01/GB for European delivery provides excellent edge coverage at the lowest cost per GB of any mainstream CDN. Hetzner FTP as the origin keeps data within the EEA.
Best option: Cloudflare or BunnyCDN with Asia-Pacific tier. Cloudflare has strong PoP presence in Singapore, Tokyo, Hong Kong, Sydney, Mumbai, Seoul, and Jakarta. BunnyCDN’s Asia-Pacific pricing zone is slightly higher than Europe but still competitive. For a site with significant China traffic, note that neither Cloudflare nor BunnyCDN has reliable access to mainland China without separate CDN arrangements.
Best option: BunnyCDN or KeyCDN. Both have strong North American coverage and adequate global presence for a site where North America dominates but secondary international audiences still matter. BunnyCDN at $0.01/GB for North America is among the cheapest options for this region. KeyCDN offers competitive pricing with good North American and European coverage.
Best option: Cloudflare. For a genuinely global site where Africa, Latin America, Middle East, and Southeast Asia all represent meaningful traffic segments, Cloudflare’s 300+ PoP network provides the broadest coverage of any mainstream CDN. Cloudflare’s free plan includes CDN delivery from all PoPs with no traffic limits. The paid plans add more sophisticated cache control and analytics. No other CDN matches Cloudflare’s PoP count at its price point.

The international LCP profile: what passing CWV looks like for a global audience
For a WordPress site with a global audience, Core Web Vitals performance must be evaluated differently than for a site with a primarily local audience. Google’s CrUX data averages real user measurements across all visitors, which means a site with strong North American performance but poor Asia-Pacific performance will show a failing 75th percentile LCP in CrUX even if US visitors consistently see sub-2-second LCP.
The table makes the competitive landscape clear. For international sites, S3 without CloudFront is a systematic failure. S3 with CloudFront and FTP with BunnyCDN or Cloudflare all achieve passing CWV for global audiences at similar performance levels. The differentiator is cost and configuration complexity, where FTP plus a third-party CDN wins over S3 plus CloudFront for most site sizes.
Cost comparison for international delivery: S3+CloudFront vs FTP+BunnyCDN
For a site with a global audience and 500GB of monthly image delivery, here is the monthly infrastructure cost for each international-ready option.
According to Cloudflare’s network infrastructure page, their network spans over 300 cities across 100 countries. This coverage significantly exceeds CloudFront’s edge location count and provides better performance for visitors in regions underserved by CloudFront, including parts of Africa, Eastern Europe, and Southeast Asia.
For any WordPress site serving a meaningful international audience, the performance case for CDN delivery is the same regardless of whether the origin storage is S3 or FTP. The cost and simplicity case favors FTP plus a third-party CDN over S3 plus CloudFront at virtually every traffic level. WP FTP Media’s global WordPress image delivery plugin for international sites provides the connection between FTP storage and CDN delivery that makes this architecture available to any WordPress operator regardless of technical background, enabling international-quality image performance at a fraction of the cost of the AWS-native approach.

Your international visitors deserve the same image speed as your local ones. CDN makes it possible.
WP FTP Media connects your WordPress media to FTP storage and delivers every image through global CDN edge nodes, eliminating geographic latency for international visitors and achieving passing Core Web Vitals across all audience regions at 83% lower cost than S3 plus CloudFront.
Hey! Quick question since CDNs can vary by region, which one would you actually recommend for heavy traffic in both Europe and Southeast Asia?
Finally got my European traffic LCP scores out of the red after switching to BunnyCDN with FTP. no more worrying about which S3 region to pick or complex replication setups. Just works
So fast, way easier