- amanda trivizas picuki - xsusann - adelinelascano fapello - chivette alahna - ladiiscorpio erothot - jada adriana olivarez porn -
- andreafernandezz__ onlyfans - harper evelynxo - arhmei likey leak - nikki narvaez onlyfans leaked - florency wg bugil - samyra alexander lmft -
- daisygnahc anonib - kah dantas pelada - jyc_tn leaked - skylarmaexo nudes - jyc_tn leaks - imogenlucieee xnxx -
- drgsnddrnk слив - woohye0n nude - yonlibarry coomer - angelaincollege onlyfans - solamentebony coomer - thejaimeleeshow camwhore -
- ella bergztröm - meriarreghini nude - sara pikukii nude - yulia dimetra nude - anonibarchive nayara - aneta sipova porno -
- emily salch erothots - aniela verbin nudes - giuliabhhh leakimedia - rosiemayharper onlyfans - emelye ender erothot - yozzzi onlyfans -
- florencywg erome - sophia isabella xxbrits - latinaamommy twitter - evangelina lvovna xxx - greciaacurero onlyfans - ohsnapitskayci -
- janairysss leak - abigailwhhite onlyfans leaks - nayia roy leakimedia - agauchinhaofc onlyfans - jjennylom nude - aneta sipova onlyfans -
- jyc_tn alua nude - dualupe xxbrits - milanyelam10 erome - vicky costantini realtor - itshalococo erome - セレーナセレーネ リラク -
- kkatrunia simpcity - abigailwhhite nude leaks - ania_photomodel onlyfans - fairyybabyyy - sannylox nude - kaelee rene nude -
- madamelyax onlyfans - wika99 слив - esmyugartee onlyfans - curlyheadxnii telegram - joaquina bejerez telegram - uthygayoong onlyfans -
- malikaemiras onlyfans - makayla tovey naked - gorchessgaal reddit - adal grimaldo fapello - elvara caliva simpcity - fadinha maju porno -
- mariyturner leak - sweet850811 leaked - daniela kudel nude - catarina paolino onlyfans grátis - emerson gauntsmith leaked - heroinefinee leaked -
- marta lubawska fapello - giuliabhhh nude - maryta19pc erome - salinthip yimyai xxx - sinseitional coomer - christinebabygg nude -
- presti hastuti fapello - _pretalicia1 - sogandzakerhaghighi porn - cathleenprecious fapello - hannn0501 nude - angeluuur onlyfans -
- sassy poonam spangbang - kaeleereneofficial threesome - maryta19pc desnuda - fatimah_saeid nude - atiyyvh leaked - lisa lelli wikipedia -
- simpcity nadia gaggioli - yiyihahahaha vk - winyerlin maldonado xxx - ariaartizte leaked - nothing_betttter leaked - maham hala nooni -
- tania barbosa simpcity - onestar_xx leaked - ferji ovares porn - dajinism onlyfans - isabmariin simpcity - annelese milton nude -
- teri balci fapello - adelaidetonte nude - slpybby fansly - fatimah_saeid nsfw - cocobrocolee leak - yanita bebecita xxx -
- zamyra01 nude - anotherpopoo vk - adele grisoni picuki - charliepillows nude - nothing_betttter leak - swai_sy leak -
Your Jekyll site on GitHub Pages loads slower than you'd like, and you're noticing high bounce rates in your Cloudflare Analytics. The data shows visitors are leaving before your content even loads. The problem often lies in unoptimized Jekyll builds, inefficient Liquid templates, and resource-heavy Ruby gems. This sluggish performance not only hurts user experience but also corrupts your analytics data—you can't accurately measure engagement if visitors never stay long enough to engage.
In This Article
Establishing a Jekyll Performance Baseline
Before optimizing, you need accurate measurements. Start by running comprehensive performance tests on your live Jekyll site. Use Cloudflare's built-in Speed Test feature to run Lighthouse audits directly from their dashboard. This provides Core Web Vitals scores (LCP, FID, CLS) specific to your Jekyll-generated pages. Simultaneously, measure your local build time using the Jekyll command with timing enabled: `jekyll build --profile --trace`.
These two baselines—frontend performance and build performance—are interconnected. Slow builds often indicate inefficient code that also impacts the final site speed. Note down key metrics: total build time, number of generated files, and the slowest Liquid templates. Compare your Lighthouse scores against Google's recommended thresholds. This data becomes your optimization roadmap and your benchmark for measuring improvement in subsequent Cloudflare Analytics reports.
Critical Jekyll Performance Metrics to Track
| Metric | Target | How to Measure |
|---|---|---|
| Build Time | < 30 seconds (for medium sites) | `jekyll build --profile` |
| Generated Files | Minimize unnecessary files | Check `_site` folder count |
| Largest Contentful Paint | < 2.5 seconds | Cloudflare Speed Test / Lighthouse |
| First Input Delay | < 100 milliseconds | Cloudflare Speed Test / Lighthouse |
| Cumulative Layout Shift | < 0.1 | Cloudflare Speed Test / Lighthouse |
Advanced Liquid Template Optimization Techniques
Liquid templating is powerful but can become a performance bottleneck if used inefficiently. The most common issue is nested loops and excessive `where` filters on large collections. For example, looping through all posts to find related content on every page build is incredibly expensive. Instead, pre-compute relationships during build time using Jekyll plugins or custom generators.
Use Liquid's `assign` judiciously to cache repeated calculations. Instead of calling `site.posts | where: "category", "jekyll"` multiple times in a template, assign it once: ``. Limit the use of `forloop.index` in complex nested loops—these add significant processing overhead. Consider moving complex logic to Ruby-based plugins where possible, as native Ruby code executes much faster than Liquid filters during build.
# BAD: Inefficient Liquid template
# GOOD: Optimized approach
Conducting a Critical Ruby Gem Audit
Your `Gemfile` directly impacts both build performance and site security. Many Jekyll themes come with dozens of gems you don't actually need. Run `bundle show` to list all installed gems and their purposes. Critically evaluate each one: Do you need that fancy image processing gem, or can you optimize images manually before committing? Does that social media plugin actually work, or is it making unnecessary network calls during build?
Pay special attention to gems that execute during the build process. Gems like `jekyll-paginate-v2`, `jekyll-archives`, or `jekyll-sitemap` are essential but can be configured for better performance. Check their documentation for optimization flags. Remove any development-only gems (like `jekyll-admin`) from your production `Gemfile`. Regularly update all gems to their latest versions—Ruby gem updates often include performance improvements and security patches.
Dramatically Reducing Jekyll Build Times
Slow builds kill productivity and make content updates painful. Implement these strategies to slash build times:
- Incremental Regeneration: Use `jekyll build --incremental` during development to only rebuild changed files. Note that this isn't supported on GitHub Pages, but dramatically speeds local development.
- Smart Excluding: Use `_config.yml` to exclude development folders: `exclude: ["node_modules", "vendor", ".git", "*.scssc"]`.
- Limit Pagination: If using pagination, limit posts per page to a reasonable number (10-20) rather than loading all posts.
- Cache Expensive Operations: Use Jekyll's data files to cache expensive computations that don't change often.
- Optimize Images Before Commit: Process images before adding them to your repository rather than relying on build-time optimization.
For large sites (500+ pages), consider splitting content into separate Jekyll instances or using a headless CMS with webhooks to trigger selective rebuilds. Monitor your build times after each optimization using `time jekyll build` and track improvements.
Seamless Integration with Cloudflare Performance Features
Once your Jekyll site is optimized, leverage Cloudflare to maximize delivery performance. Enable these features specifically beneficial for Jekyll sites:
- Auto Minify: Turn on minification for HTML, CSS, and JS. Jekyll outputs clean HTML, but Cloudflare can further reduce file sizes.
- Brotli Compression: Ensure Brotli is enabled for even better compression than gzip.
- Polish: Automatically converts Jekyll-output images to WebP format for supported browsers.
- Rocket Loader: Consider enabling for sites with significant JavaScript, but test first as it can break some Jekyll themes.
Configure proper caching rules in Cloudflare. Set Browser Cache TTL to at least 1 month for static assets (`*.css`, `*.js`, `*.jpg`, `*.png`). Create a Page Rule to cache HTML pages for a shorter period (e.g., 1 hour) since Jekyll content updates regularly but not instantly.
Continuous Performance Monitoring with Analytics
Optimization is an ongoing process. Set up a weekly review routine using Cloudflare Analytics:
- Check the Performance tab for Core Web Vitals trends.
- Monitor bounce rates on newly published pages—sudden increases might indicate performance regressions.
- Compare visitor duration between optimized and unoptimized pages.
- Set up alerts for significant drops in performance scores.
Use this data to make informed decisions about further optimizations. For example, if Cloudflare shows high LCP on pages with many images, you know to focus on image optimization in your Jekyll pipeline. If FID is poor on pages with custom JavaScript, consider deferring or removing non-essential scripts. This data-driven approach ensures your Jekyll site remains fast as it grows.
Don't let slow builds and poor performance undermine your analytics. This week, run a Lighthouse audit via Cloudflare on your three most visited pages. For each, implement one optimization from this guide. Then track the changes in your Cloudflare Analytics over the next 7 days. This proactive approach turns performance from a problem into a measurable competitive advantage.