How do you test and speed up your website in China?
Measure properly first, because the result decides what's worth paying for.
- 1Measure
- 2Clear the waits
- 3Lighten the page
- 4Move closer
- 5Mainland, with an ICP
The short answer
Test from several mainland cities and carriers at different times of day, and compare medians rather than one run. Then fix in order: remove what makes the page wait, lighten it, move it closer, and only then consider mainland hosting or a mainland CDN, which need an ICP.
- Chinafy's 2025-26 benchmark of 614 sites reports a load time of 15.3 seconds from Beijing, against 7.4 from Virginia, though it labels these figures inconsistently.
- Three runs of one page from Shanghai took 8.1, 10.9 and 38.1 seconds in Dotcom-Monitor's published test.
- In a one-day test within a 2020 study, only 34.45% of bottleneck hops matched Great Firewall hops that inject resets.
- In an AppInChina test published in April 2025, failed analytics calls took 3 minutes 9 seconds to give up.
- Google's good threshold for Largest Contentful Paint is 2.5 seconds, at the 75th percentile of page views.
A site can feel instant in your office and take a long time in Shanghai. Most advice skips straight to buying a CDN, usually from the company giving the advice.
Measure first. The result tells you which fix is worth your money. This guide is part of our work on putting your website in China. It assumes your site loads at all.
If you aren’t sure, check whether it’s accessible or find out if it’s blocked or just slow.
How do you test your website’s speed from China?
Test from inside the mainland, from several cities and carriers, at more than one time of day, and repeat each test. One run from one node tells you very little.
Here’s a method you can reuse, with or without a developer.
- Pick 3 to 5 key pages. Use the pages Chinese visitors will land on, not only your home page.
- Test on more than one carrier. Filter by China Telecom, China Mobile and China Unicom where the tool allows it.7
- Test in the morning and the evening. Slowdowns follow a daily pattern.1 Dotcom-Monitor names 8 to 10 a.m. and 5 to 10 p.m. in Shanghai as peak hours,4 and Tencent Cloud names 8 to 11 p.m. Beijing time.28 Both are vendor statements, so cover both windows.
- Run each test at least 3 times. Keep the median, and write down the worst run.
- Run the same test from your home market. That’s your baseline for reading the gap.
- Save the waterfall. It shows which request cost the time, and a score doesn’t.
Which tools can test speed from China?
No study compares these tools, and none replaces a real visitor. Choose by what you need to see. Our accessibility guide covers the tools for checking whether a site opens at all.
| Tool | Where it tests from | What you get | Limits |
|---|---|---|---|
| WebPageTest | Beijing and Shanghai in a November 2025 Catchpoint list 8 | Waterfall 29, TTFB 2 | We couldn’t confirm these agents are live today, so check its location list first |
| 17CE | Not stated on the page we read | Analysis by region, ISP and test point 6 | Metrics and free limits aren’t listed there 6 |
| BOCE | Filter by carrier, and by data center or home node 7 | Average response speed 7 | One node by default, daily guest quota 7 |
| ITDog | Not verified | HTTP test, TCPing, traceroute, per a third-party article 5 | Described secondhand 5 |
| Dotcom-Tools | Shanghai 4 | Free, no sign-up. Its published test shows first and repeat visits with waterfalls 4 | Per-element analysis needs the paid platform 4 |
| Speed in China, WordPress plugin | Beijing, Shenzhen, Guangzhou, Shanghai, Qingdao 10 | DNS, TCP, TLS, TTFB, total load time 10 | One free test every 30 days, sends your URL to its API and Globalping 10 |
| Chinafy Global Speed Test | 18 servers, including Beijing, Shanghai and Guangzhou 11 | Load time comparison by location 11 | The vendor sells the fix |
How do you read the results?
Split the load into stages, then compare each stage with your home market. The stage that grows most is where to look first. A single score hides that.
Website speed tests usually split a request into DNS, TCP connection, TLS handshake, redirects and server response.5
The article we cite gives no thresholds, and we found none we’d trust. The reading below is our own inference from what each stage does.
| Stage that stands out | What it suggests | Where to look first |
|---|---|---|
| DNS lookup | Slow resolution, or too many hosts | Your DNS provider, the number of outside domains |
| TCP connect and TLS | A long or lossy route | Server location |
| Redirects | Extra round trips across the border | Chains such as http to https to www |
| Time to first byte, China only | The route | Server location or edge cache |
| Time to first byte, everywhere | Your server | Backend, page cache |
| One long bar in the waterfall | A resource that hangs | That domain |
| Many medium bars | Too much page | Weight and number of requests |
Matomo’s documentation makes a useful point here: its server time measure includes network latency, so it isn’t pure server processing.26
The baseline from your home market is what separates the two.
As a target, Google rates Largest Contentful Paint as good at 2.5 seconds or less, and poor above 4 seconds, at the 75th percentile of page views.12
These are global thresholds, not a rule for China or for Baidu.
How slow is normal for a foreign site in China?
Slow, but no published number deserves much weight. Everything below is one project or one vendor, and methods differ.
| Source | What was measured | From China | Comparison |
|---|---|---|---|
| Chinafy, 2025-26 2 | Load time, labeled median or average depending on the section | 15.3 s, Beijing | 7.4 s Virginia, 4.7 s London |
| Chinafy, 2025-26 2 | Time to first byte, basis not stated | 1.4 s, Beijing | 0.35 s Virginia, 0.31 s London |
| Thoughtworks, 2022 3 | First Contentful Paint, one client’s site | 2.27 times longer | EU |
| Thoughtworks, 2022 3 | Page onload, one client’s site | 10.07 times longer | EU |
| Dotcom-Monitor, date of test not stated 4 | TED.com, first visit average, local peak hours | 19.0 s, Shanghai | 6.2 s New York |
The business statistics around this topic are weaker still.
- Chinafy says 90% of non-Chinese sites take 5 seconds or more, quoting Mlytics.29 Mlytics gives no source for it.18
- Chinafy cites a 7% conversion loss for a 1-second delay, crediting Kissmetrics.29 Mlytics, citing Akamai, gives 7% for 100 milliseconds.18
- Both repeat the idea that visitors expect 2 seconds, and Mlytics gives no source for that either.18
Treat these as talking points. We’d rather you measure your own pages.
What actually slows a site down there?
Two things: the road into China, and what your page waits for. You can only control the second one fully.
The road is the slower-moving problem. A 2020 study found slowdowns on 79% of measured pairs, and more than 70% of pairs fell below 1 Mbps for over 5 hours a day.1
Packet loss applied to traffic entering China.1
Don’t blame the firewall for all of it. In a one-day side test, only 34.45% of bottleneck hops coincided with it, though the authors measured only nodes that inject resets.1
More on that in what the Great Firewall means for your website.
The second problem is waiting. A resource that can’t load can hold the page while the browser keeps trying.
AppInChina tested a lightweight blog with Chrome DevTools on a mainland network, in an article dated April 2025. Google Analytics calls failed after 3 minutes 9 seconds, DOMContentLoaded came at 1 minute 3 seconds, and the last request finished at 5 minutes 3 seconds.17
Chinafy says a browser will often wait, sometimes for 30 seconds or more.19 Both are vendors. AppInChina’s result is one page, and Chinafy gives no method.
Free check
Is your website visible on Baidu?
Enter your website. We check Baidu, access from China and how your site is set up, then email you the report.
Request received
We will send your report by email.
How do you speed up your site, and in what order?
Start with what’s cheap and under your control, then move to what costs money or needs a local setup. Each step below can change whether you need the next one.
- 1Measure
- 2Clear the waits
- 3Lighten the page
- 4Move closer without an ICP
- 5Mainland hosting or CDN with an ICP
Retest after each step.
| Fix | What it solves | ICP needed? | Evidence |
|---|---|---|---|
| Clear the waits | Pages stuck on outside resources | No | One vendor test, plus web.dev guidance 1517 |
| Lighten the page | Bytes and requests on a slow route | No | Reasoning, no China-specific test found |
| Host in Hong Kong | Fewer hours of slowdown | No 31, but check the public security filing | 2020 study, nothing recent 1 |
| Edge cache outside the mainland | Distance, in part | No, on Alibaba Cloud’s and Tencent Cloud’s non-mainland zones 2032 | No independent test found |
| Mainland hosting or CDN | Distance and the border | Yes 213132 | Vendors, who disagree 222 |
We found no independent before-and-after test for any of these. The gain figures in circulation come from companies selling the fix, so we don’t repeat them.
1. Clear the waits
List every outside domain your page loads, using the method in our guide to Google services in China. Then test what happens when each one fails.
- To see what breaks: in Chrome DevTools, right-click a request in the Network panel and choose Block request.13
- To see what a slow resource costs: use Throttle request in the same menu.13
- To see what a hang costs: use WebPageTest’s Hosts to fail setting, known as SPOF. It reroutes the hosts you list to a server that silently drops all requests.14
The last one matters most. It’s the closest thing to a resource that hangs instead of failing cleanly.
Then change how those resources load.
- Scripts: synchronous scripts delay DOM construction and rendering, so use
asyncordeferunless a script must run first.15 - Your own copies: serve fonts and libraries from your domain. The tradeoff is that self-hosted scripts can go out of date.15
- Fonts:
font-display: swapgives a font an extremely small block period, so visitors see fallback text instead of nothing.16 Our guide to fonts and embeds has the rest. - Anything optional: load it after the main content, or remove it. Removal is web.dev’s first option for a script that slows your page.15
2. Lighten the page
We found no serious China-specific study on images, CSS or JavaScript. This step rests on reasoning, not on a test.
The reasoning is simple. If packet loss hits traffic entering China,1 every byte you send travels the troubled direction, so fewer bytes and fewer requests should help more there than at home.
- Compress images, and size them for the slot they fill.
- Replace autoplay video with an image and a link.
- Cut scripts and styles nobody uses on that template.
- Set long cache headers on static files.
The last point has some evidence behind it. Dotcom-Monitor’s repeat visits from Shanghai averaged 5.1 seconds, against 19.0 for first visits.4
Caching helps returning visitors, though, not someone arriving from Baidu for the first time.
3. Move closer without an ICP
Hong Kong is the one location the 2020 study singles out. Hong Kong averaged about 3 hours of daily slowdown into the mainland, while most mainland receivers averaged 5 to 17 hours across all senders.1 We found no recent independent measure to update that.
See Hong Kong or mainland hosting.
Some CDNs offer a middle option. Alibaba Cloud’s “Global (Excluding the Chinese Mainland)” zone needs no ICP, and it serves mainland users from Japan, Singapore and Hong Kong.20 Tencent Cloud’s “Outside Chinese mainland” region needs no ICP either.32
None of this fixes your dependencies. Chinafy’s line on hosting is fair: it “only solves for proximity.”19
4. Go onshore, if the numbers justify it
Serving from the mainland needs an ICP, and a foreign company needs a local subsidiary or a licensed local partner to get one.31 Our guide to the ICP license explains who qualifies, and a local adviser should confirm your case.
The requirements can be substantial.
Cloudflare’s China Network needs an Enterprise plan, a separate subscription, an ICP for each apex domain, a content review by JD Cloud and your ICP number in the footer.21
Verdict
Don’t buy a mainland CDN to fix a page that hangs on a blocked script. Vendors differ on what a CDN adds. Chinafy’s benchmark found that CDN selection alone didn’t correlate with loading in China.2 Fastly, an interested party, says a local CDN always performs better but the gain may be marginal, so it favors assessing without one first.22
Compare the options in hosting in China and CDNs and Cloudflare in China.
Does speed affect your Baidu rankings?
Possibly, but we can’t show you how much. We read no official Baidu page that sets a current speed threshold or says what weight speed carries.
Third-party sites reported a 2017 Baidu algorithm called Lightning, aimed at mobile home pages, with time bands at 2 and 3 seconds.23
We haven’t read Baidu’s original, and we wouldn’t treat those numbers as a current rule.
The safer argument is simpler: a page that doesn’t finish loading is a poor page for a buyer and for a crawler. See Baidu ranking factors for the rest of the picture.
How do you keep measuring real visitors?
Collect timings from real Chinese visitors with a tool you host yourself. Test nodes tell you what’s possible, and visitor data tells you what happens on real phones and networks.
Skip Google Analytics for this, since its data from China is unreliable.17 Two self-hosted options:
- web-vitals: a small Google library, about 3K compressed, that measures LCP, INP, CLS, FCP and TTFB on real users.25 Its docs recommend installing it through npm or self-hosting it, and include an example that posts to your own endpoint.25
- Matomo: its page performance report separates network, server, transfer and DOM processing time.26 Matomo says a copy on your own servers can track Chinese visitors, because your Matomo URL “won’t be affected by the Great Firewall.”27 That’s its general claim, so test your own address from the mainland.
Before you collect anything from Chinese visitors, read whether China’s privacy law applies to your website and check with a local adviser.
To put this alongside your other launch checks, use the China-ready website checklist.
The bottom line
Measure from the mainland, several times, and read the waterfall before you spend anything. A page that hangs on one blocked script won’t be saved by a better server.
Clear the waits, lighten the page, move closer, and go onshore only when your Chinese results justify a local setup and an ICP. Then keep measuring, because no single fix lasts.
How Index in China can help
We localize your site into Simplified Chinese, with a person reviewing every page, and index it on Chinese search engines. We don’t guarantee traffic.
To go through your site, your market and what getting indexed would take, book a 30-minute call.
Book a 30-minute callCommon questions
Can I test my site's speed in China with a VPN?
Not for a number you can trust. A VPN sends your traffic along its own route, so the result describes that service and not an ordinary visitor. Use test nodes inside mainland China, or ask someone there to open the page on a normal connection and time it.
Does PageSpeed Insights show how fast my site is in China?
Not reliably. Google says lab tests run in a Google data center and report as North America, Europe or Asia, with no mainland location named. Field data comes from the Chrome UX Report, and we couldn't confirm how well that covers Chinese visitors.9 Use it to find code and page weight problems, and take China timings from mainland nodes.
Why does one tool say my site is fast and another say it's slow?
They often measure different things. One may report a response time from a data center, while another loads the full page in a browser. City, carrier and time of day shift the result too. Compare the same metric from the same tool, rather than comparing scores across tools.
How often should I retest?
Retest after any change to templates, tags or plugins, since a new script can bring a new dependency without anyone noticing. Conditions also shift over time, so one clean test doesn't settle anything. Keep your list of key pages short enough that someone will actually rerun it, and date each run.
Should I build a lighter, separate version of my site for China?
Only if your main templates can't be fixed. Conditional loading can remove maps, captchas and tags from your Chinese pages and leave other versions alone. A separate build gives you more control, but it's one more site to maintain. Our guide to site structure covers that tradeoff in detail.
Sources
- Zhu et al.: Characterizing Transnational Internet Performance and the Great Bottleneck of China, Proc. ACM Meas. Anal. Comput. Syst.
- Chinafy: 2025-26 benchmark report
- Thoughtworks: Why are foreign websites slower in China?
- Dotcom-Monitor: What does my website look like from China?
- Juejin: ITDog and DNSPup network testing compared (Chinese)
- 17CE: About
- BOCE: Network testing tools
- Catchpoint: WebPageTest IP addresses to allow
- Google: About PageSpeed Insights
- WordPress.org: Speed in China plugin
- Chinafy: Global Speed Test
- web.dev: How the Core Web Vitals metrics thresholds were defined
- Chrome for Developers: Request conditions
- Catchpoint: WebPageTest Instant Test
- web.dev: Efficiently load third-party JavaScript
- MDN: font-display
- AppInChina: Does Google Analytics (GA4) work in China?
- Mlytics: Why your website is slow in China
- Chinafy: Does WordPress work in China in 2026?
- Alibaba Cloud: Change the accelerated region
- Cloudflare: Get started with the China Network
- Fastly: Global CDNs in China solution brief
- Aliyun Developer: Baidu Lightning algorithm report (Chinese)
- StatCounter: Mobile browser market share in China
- GoogleChrome: web-vitals library
- Matomo: Page performance metrics
- Matomo: Does Matomo work in China?
- Tencent Cloud: Why your website is slow in China
- Chinafy: How to test your website's speed in China
- Matomo: Why page performance reports show very high processing time
- China Briefing: Internet business licenses for foreign companies
- Tencent Cloud: CDN acceleration regions and ICP filing