Largest Contentful Paint (LCP) measures how quickly the main content of your Strikingly site loads. Poor LCP directly impacts SEO rankings and conversion rates.
Target: LCP under 2.5 seconds Good: Under 2.5s | Needs Improvement: 2.5-4.0s | Poor: Over 4.0s
For general LCP concepts, see the global LCP guide.
Strikingly-Specific LCP Issues
1. Hero Image Optimization
The most common LCP issue on Strikingly sites is unoptimized hero/banner images.
Problem: Large hero images loading slowly on one-page sites.
Diagnosis:
- Run PageSpeed Insights
- Check if hero/banner image is flagged as LCP element
- Look for "Properly size images" or "Serve images in next-gen formats"
Solutions:
A. Upload Optimized Images to Strikingly
Strikingly automatically optimizes images, but starting with smaller files helps:
Before Uploading:
Resize to appropriate dimensions:
- Desktop hero: 1920px width max
- Mobile hero: 750px width max
- Use tools like TinyPNG, Squoosh, or Photoshop
Compress images:
Use correct format:
- Photos: JPG or WebP
- Graphics/logos: PNG or SVG
- Avoid large PNG files for photos
Upload Process:
- In Strikingly editor, click your hero section
- Change Image → Upload optimized file
- Strikingly will further optimize via CDN
- Publish and test
B. Use Strikingly's Image Quality Settings
Strikingly automatically serves optimized images:
What Strikingly Does:
- Serves responsive images (different sizes for different screens)
- Uses CDN for fast delivery worldwide
- Automatic WebP conversion for supported browsers
- Image lazy loading for below-fold images
No Code Required: Strikingly handles optimization automatically when you upload via their interface.
C. Avoid Custom HTML Image Uploads
If using custom HTML sections:
Bad (Not Optimized):
<img src="https://yoursite.com/large-image.png" alt="Hero">
Good (With Optimization):
<img
src="https://optimized-cdn.com/image.jpg"
width="1920"
height="1080"
alt="Hero"
loading="eager"
decoding="async"
>
Best: Use Strikingly's built-in image blocks instead of custom HTML when possible.
2. Custom Code Impact on LCP
Custom tracking and third-party scripts can delay LCP.
Identify Custom Code Impact
Diagnosis:
- Run PageSpeed Insights on your site
- Look for "Reduce JavaScript execution time"
- Check "Avoid enormous network payloads"
- Note custom scripts in diagnostics
Common Culprits:
- Multiple tracking pixels in header
- Synchronous script loading
- Heavy JavaScript libraries
- Custom code without async/defer
Optimize Custom Code Placement
Bad (Blocks Rendering):
<!-- In Strikingly Header Code -->
<script src="https://example.com/heavy-script.js"></script>
<script>
// Lots of inline JavaScript
// Blocks page rendering
</script>
Good (Async Loading):
<!-- In Strikingly Header Code -->
<script async src="https://example.com/heavy-script.js"></script>
<script>
// Minimal inline code
// Defer heavy operations
</script>
Better (Defer to After Page Load):
<script>
window.addEventListener('load', function() {
// Load heavy scripts after LCP
var script = document.createElement('script');
script.src = 'https://example.com/heavy-script.js';
document.body.appendChild(script);
});
</script>
Consolidate Tracking Through GTM
Instead of multiple pixels in custom code:
Before (Multiple Scripts):
<!-- GA4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXX"></script>
<script>/* GA4 code */</script>
<!-- Meta Pixel -->
<script>/* Facebook Pixel code */</script>
<!-- Other tracking -->
<script>/* More tracking */</script>
After (Single GTM Container):
<!-- Just GTM -->
<script>(function(w,d,s,l,i){...})(window,document,'script','dataLayer','GTM-XXX');</script>
Benefits:
- One script load instead of many
- Better async handling
- Easier to manage
- Less blocking
See GTM Setup for implementation.
3. Strikingly Template Performance
Different templates have different performance characteristics.
Modern vs Legacy Templates
Modern Templates (Recommended):
- Optimized for Core Web Vitals
- Lightweight code
- Better image handling
- Faster LCP
Legacy/Older Templates:
- Use unoptimized CSS and larger image assets
- Lack lazy loading and modern image compression
- Switch to a newer template for better LCP scores
Template-Specific Optimizations
Test Your Template:
- Create test page with minimal content
- Run PageSpeed Insights
- Note baseline LCP score
- Compare to production site
If Template is Slow:
- Switch to different Strikingly template
- Contact Strikingly support
- Optimize custom sections
- Remove unnecessary template features
Custom Sections Performance
Strikingly custom HTML sections can impact LCP:
Best Practices:
- Minimize custom HTML sections
- Avoid heavy JavaScript in custom sections
- Use Strikingly's built-in blocks when possible
- Keep custom CSS minimal
4. Third-Party Widgets and Embeds
Social media widgets, chat tools, and other embeds impact LCP.
Common Third-Party Impact
Slow Third-Party Elements:
- Facebook page plugins
- Instagram feeds
- Twitter timelines
- Live chat widgets
- Review/rating widgets
- YouTube embeds above fold
Optimize Third-Party Widgets
Defer Non-Critical Widgets:
<script>
// Load chat widget after page load
window.addEventListener('load', function() {
setTimeout(function() {
// Insert chat widget code here
var chatScript = document.createElement('script');
chatScript.src = 'https://chat-provider.com/widget.js';
document.body.appendChild(chatScript);
}, 3000); // Wait 3 seconds after load
});
</script>
Use Lazy Loading for Embeds:
<!-- YouTube with lazy loading -->
<iframe
src="https://www.youtube.com/embed/VIDEO_ID"
loading="lazy"
width="560"
height="315"
></iframe>
Alternative Approaches:
- Use click-to-load for videos (thumbnail that loads video on click)
- Place social widgets below fold
- Remove widgets that aren't essential
- Use lightweight alternatives
5. Font Loading Issues
Custom fonts can delay LCP if not optimized.
Strikingly Font System
Strikingly provides built-in fonts that are pre-optimized:
Using Built-in Fonts (Recommended):
- Already optimized by Strikingly
- Faster loading
- No additional configuration needed
Custom Fonts (Requires Optimization):
If adding custom fonts via CSS:
Bad (Blocks Rendering):
@import url('https://fonts.googleapis.com/css2?family=CustomFont');
Good (With font-display):
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=CustomFont&display=swap" rel="stylesheet">
Best Practice:
@font-face {
font-family: 'CustomFont';
src: url('font.woff2') format('woff2');
font-display: swap; /* Show fallback immediately */
font-weight: 400;
font-style: normal;
}
Font Display Strategies
font-display options:
swap- Show fallback immediately (recommended for Strikingly)optional- Use custom font only if cachedblock- Wait for custom font (not recommended)
6. Strikingly CDN and Hosting
Strikingly uses a global CDN, but optimization is still important.
Strikingly CDN Benefits
Automatic:
No Configuration Needed: Strikingly handles CDN automatically.
Ensure Assets Use Strikingly CDN
Upload Assets to Strikingly (Not External Hosts):
Bad:
<!-- External, slow loading -->
<img src="https://yourserver.com/image.jpg">
Good:
<!-- Strikingly CDN, optimized -->
<img src="https://d1xdky342e0q8y.cloudfront.net/...">
Upload images, files, and assets directly to Strikingly for automatic CDN delivery.
7. One-Page Site Considerations
Strikingly specializes in one-page sites, which can be heavy if not optimized.
One-Page Performance Issues
Problem: All content loads at once, increasing LCP.
Solutions:
A. Prioritize Above-Fold Content:
- Optimize hero section first
- Lazy load below-fold sections
- Minimize initial content
B. Implement Section Lazy Loading:
<!-- Add to Custom Code -->
<script>
document.addEventListener('DOMContentLoaded', function() {
// Lazy load images in lower sections
var lazyImages = document.querySelectorAll('img[data-src]');
var imageObserver = new IntersectionObserver(function(entries) {
entries.forEach(function(entry) {
if (entry.isIntersecting) {
var img = entry.target;
img.src = img.dataset.src;
imageObserver.unobserve(img);
}
});
});
lazyImages.forEach(function(img) {
imageObserver.observe(img);
});
});
</script>
C. Split into Multi-Page Site: If content is extensive, consider using Strikingly's multi-page feature instead of one-page layout.
Testing & Monitoring
Test LCP
Tools:
- PageSpeed Insights - Lab and field data
- WebPageTest - Detailed waterfall
- Chrome DevTools - Local testing (Ctrl+Shift+I → Performance)
Test Your Strikingly Site:
- Enter your site URL in PageSpeed Insights
- Wait for results
- Check LCP score in Core Web Vitals
- Review "Opportunities" for specific issues
Test Different Devices:
- Desktop
- Mobile (most important for Strikingly sites)
- Tablet
Identify LCP Element
In PageSpeed Insights:
- Scroll to "Diagnostics" section
- Look for "Largest Contentful Paint element"
- Shows which element is causing slow LCP
In Chrome DevTools:
- Open DevTools (F12)
- Performance tab
- Record page load
- Look for LCP marker
- Click to see element
Monitor LCP Over Time
Chrome User Experience Report (CrUX):
- Real user data in PageSpeed Insights
- Shows 28-day trend
- Mobile and desktop separate
- Core Web Vitals report
- Shows pages failing LCP
- Impact on SEO
Manual Monitoring:
- Test weekly after changes
- Document LCP scores
- Track impact of optimizations
Strikingly-Specific Quick Wins
Start here for immediate LCP improvements:
- Compress hero image to < 200KB before uploading
- Remove custom code from header (move to footer if possible)
- Consolidate tracking through GTM
- Remove unused third-party widgets
- Use Strikingly's built-in fonts instead of custom fonts
- Upload all images to Strikingly (not external links)
- Test with modern Strikingly template
- Defer chat widgets and social embeds
- Remove custom JavaScript from header
- Test on mobile device (primary concern)
Performance Checklist
Before and after optimization:
Before Optimizing:
- Run PageSpeed Insights baseline test
- Document current LCP score
- Identify LCP element
- List all custom code in header
- Note third-party widgets
After Each Change:
- Save and publish site
- Wait 5 minutes for cache
- Run PageSpeed Insights again
- Compare LCP score
- Document improvement
Final Verification:
- LCP under 2.5 seconds
- Tested on mobile
- No JavaScript errors
- All tracking still works
- Site functionality intact
Common LCP Elements in Strikingly
Different sections have different LCP elements:
| Section Type | Common LCP Element | Optimization Priority |
|---|---|---|
| Hero Banner | Background image | Highest |
| Image Banner | Hero image | Highest |
| Video Hero | Video poster | High |
| Text Hero | First heading/text | Low (usually fast) |
| Gallery | First gallery image | Medium |
Optimize the LCP element for your specific site first.
Advanced Optimizations
Preload Critical Assets
Add to Custom Code (Header):
<!-- Preload hero image -->
<link
rel="preload"
as="image"
href="https://d1xdky342e0q8y.cloudfront.net/...your-hero-image..."
imagesrcset="..."
imagesizes="100vw"
>
<!-- Preload critical font -->
<link
rel="preload"
as="font"
href="font.woff2"
type="font/woff2"
crossorigin
>
Note: Only preload the LCP element. Don't overuse preload.
Critical CSS Inlining
For advanced users, inline critical CSS:
<style>
/* Critical CSS for hero section */
.hero-section {
/* Inline styles for above-fold content */
}
</style>
Caution: Requires CSS knowledge. Test thoroughly.
Resource Hints
Add to Header Code:
<!-- DNS prefetch for external domains -->
<link rel="dns-prefetch" href="https://fonts.googleapis.com">
<link rel="dns-prefetch" href="https://www.googletagmanager.com">
<!-- Preconnect to critical origins -->
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
Troubleshooting Poor LCP
LCP Still Above 4 Seconds
Check:
- Hero image file size (should be < 200KB)
- Custom code in header (minimize)
- Third-party widgets above fold (remove or defer)
- Template performance (try different template)
- Hosting/CDN issues (contact Strikingly support)
LCP Improved in Lab But Not Field
Possible Causes:
- User devices slower than test
- Real user network conditions
- Geographic distribution of users
- Mobile vs desktop discrepancy
Solutions:
- Focus on mobile optimization
- Test on 3G network conditions
- Consider user's typical devices
- Wait 28 days for CrUX data to update
LCP Varies Wildly Between Tests
Normal Variation:
- Network conditions
- Server response time
- Cache status
- Time of day
Reduce Variation:
- Run multiple tests
- Use WebPageTest (multiple runs)
- Focus on median/average
- Test at different times
When to Contact Strikingly Support
Consider reaching out to Strikingly support if:
- LCP consistently over 4 seconds after optimizations
- Template appears to have performance issues
- CDN serving slowly in your region
- Images not optimizing properly
- Technical issues with platform
Strikingly Support:
- Email: support@strikingly.com
- Live chat (Pro/VIP plans)
- Help center: support.strikingly.com
Next Steps
For general LCP optimization strategies, see LCP Optimization Guide.