- Home
- SEO Audit
- Performance & Technical
- Blocking Scripts Ratio
Blocking Scripts Ratio
Scripts without async or defer block page rendering. Less than 50% async/defer on stores with 10+ scripts indicates poor performance optimization.
What It Measures
Flags when too few scripts use async/defer attributes
Detection Method
Calculates ratio of scripts with async/defer attributes vs total scripts
Why This Matters to You
Shopify Agencies
Technical performance issue - justifies page speed audit.
SEO App Builders
Core Web Vitals impact - opportunity for technical SEO services.
General App Builders
Performance problem that may need developer intervention.
Theme Developers
Theme JavaScript may need optimization or replacement.
Scoring Breakdown
Low Ratio
<50% of scripts use async/defer (when 10+ scripts present)
Real-World Examples
Good Example
Total scripts: 24
Scripts with async/defer: 18
Ratio: 75%
Example: <script src="analytics.js" async></script>
✓ Good async/defer usage
✓ Scripts won't block page rendering
✓ Better perceived page speed
Bad Example
Total scripts: 18
Scripts with async/defer: 6
Ratio: 33%
Example: <script src="app.js"></script>
✗ Low async/defer ratio (-5 points)
✗ Blocking scripts slow initial render
✗ Poor First Contentful Paint
✗ Users see blank screen longer
Related SEO Factors
Ready to Find SEO Opportunities?
Every Shopify store in our database gets an automatic SEO audit. Filter by score to find your perfect leads.
Start Free TrialNo credit card required • Access 100+ SEO audits instantly
Everything you need to know
Stop guessing. Here is how StoreRadar helps you win deals before the competition arrives.
What's the difference between blocking and async/defer scripts?
Regular scripts block HTML parsing - the browser stops rendering until the script downloads and executes. Scripts with 'async' or 'defer' attributes load in parallel with page parsing, allowing content to appear faster. This improves perceived performance and Core Web Vitals.
Why do we only penalize if there are 10+ scripts?
With only a few scripts, blocking behavior has minimal impact. The penalty kicks in when you have 10+ scripts but less than 50% use async/defer - that's when you're creating significant render-blocking overhead.
Can all scripts be made async or defer?
Not all. Some scripts must run immediately and in order (critical styles, foundational libraries). However, most third-party scripts (analytics, ads, widgets) should be async or defer. Many Shopify apps add blocking scripts when they could use async.
How do I fix this?
Review your theme's script tags and app scripts. Add 'async' or 'defer' attributes where appropriate. For theme code, wrap non-critical scripts with these attributes. For apps, contact developers or replace with performance-conscious alternatives. Use Tag Manager to control script loading order.