Page Objects Test
The Page Objects Test counts every HTTP request the page makes during load, broken down by asset type (HTML, CSS, JS, image, font, XHR, third-party) and total bytes per category.
- Results in seconds
- Pass / fail + fix guidance
- No account required
The Page Objects Test counts every HTTP request the page makes during load, broken down by asset type (HTML, CSS, JS, image, font, XHR, third-party) and total bytes per category. High request counts and oversized payloads slow page load even on fast networks; the report shows you exactly which assets to consolidate, defer, lazy-load or remove.
What This Tool Checks
- Total request count and total bytes
- Requests per asset type (CSS, JS, image, font, XHR)
- Third-party domain count
- Largest individual assets
- Failed (4xx / 5xx) requests
- Cached vs non-cached request ratio
Why It Matters for SEO
Every additional request adds latency. Every additional third-party domain adds a DNS resolution plus TLS handshake (can be 100-300 ms each). Bloated pages with hundreds of small assets are slow even on HTTP/2 because of CPU cost, parsing time, and main-thread blocking. The fix is consolidation — bundle CSS / JS, sprite or inline small images, lazy-load below-the-fold assets, and audit third parties.
How to Fix It
Bundle CSS and JS so the browser fetches a few large files instead of dozens of small ones. Self-host stable third parties (fonts, GTM, fonts) where possible. Lazy-load images below the fold. Audit third-party scripts and remove anything not driving measurable value. Aim for under 100 total requests on most templates.
How It Works
Headless Chrome captures the full network waterfall during page load, classifies each request by MIME type and origin, and aggregates totals. Third-party domains are counted separately because each adds a DNS lookup and TLS handshake.
Common Mistakes to Avoid
- 50+ small JavaScript files instead of a few bundles
- 20+ third-party domains for analytics, ads and chat widgets
- Loading the entire icon font when only 5 icons are used
- Multiple A/B testing SDKs from different vendors
- Forgetting that each third party blocks the user even if it loads async
Quick Checklist
- Total requests under 100
- Fewer than 10 third-party domains
- CSS bundled into 1-2 files
- JS code-split per route, not per component
- Below-the-fold images lazy-loaded
Put your whole site on autopilot — SEO and AI search
PositionMySite monitors every signal on this page across your entire website 24/7 — plus keyword rankings, competitor moves and AI-search readiness (llms.txt, schema, ChatGPT & Gemini visibility). When something breaks, you know before Google does.
Every feature unlocked · No commitment · Cancel anytimeFrequently Asked Questions
There is no hard limit, but pages over 100 requests usually have consolidation opportunities. Over 200 requests is almost always a sign of bloat or third-party sprawl.
They add latency, privacy implications and unpredictable performance. Use them deliberately — every third party should justify its bytes and DNS cost with measurable value.
Yes for related code, with code splitting per route. The HTTP/2 era reduced bundling pressure, but parse / compile cost still favours fewer larger files over many tiny ones.
Indirectly. More requests means slower page load, worse Core Web Vitals and lower page-experience ranking signal. Reducing requests almost always improves real-user load metrics.
Open Chrome DevTools Network tab and reload the page. Run this tool for an aggregated summary plus categorisation. Lighthouse also reports total request count in its diagnostics.