
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Sun, 05 Apr 2026 16:36:15 GMT</lastBuildDate>
        <item>
            <title><![CDATA[The Internet Mince Pie Data Base: 2018 Edition]]></title>
            <link>https://blog.cloudflare.com/internet-mince-pie-database/</link>
            <pubDate>Mon, 24 Dec 2018 09:33:36 GMT</pubDate>
            <description><![CDATA[ A year ago, we unveiled the true mission of Cloudflare’s scale: to find the best mince pie available to the public. Discover what makes a mince pie great and how to learn this at Cloudflare’s scale. ]]></description>
            <content:encoded><![CDATA[ <p>In December 2017 we unveiled the <a href="/imdb-2017/">true potential</a> of Cloudflare’s scale: to find the best commercially available mince pie and let the world know about it. In 2018, we’ve all been extremely busy helping Cloudflare &amp; our customers, and therefore we left it <i>very</i> late this year. Uncomfortably late.</p><p>If you want to know the best mince pie to buy in 2018 right now, skip straight to the bottom of this post where we reveal the winner. If you want to understand more about what makes a mince pie great and how we can learn this at Cloudflare’s scale - read on.</p>
    <div>
      <h2>How do you review 42 varieties of mince pie in an hour?</h2>
      <a href="#how-do-you-review-42-varieties-of-mince-pie-in-an-hour">
        
      </a>
    </div>
    <p>With a very short amount of time to get this research out to a discerning and demanding public, we engaged the entire Cloudflare London team to help. Team members diligently went out and purchased mince pies from all over the South East of England for everyone to taste.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7jZ2L5QDE6kEQZ99YLWeea/2e524861a4f9969ad8abe85955b0a933/mince_pie_collecting_collage.png" />
            
            </figure><p>On Monday the team assembled for a “Mince Pie Jam”, where we would taste &amp; consistently review each pie:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/191cbkS3GWDQFlk2vHIp3P/63842c9eea00cb215f19580cee41d488/2018_mince_pie_jam_kitchen.jpg" />
            
            </figure>
    <div>
      <h2>A quick refresher - what is a mince pie?</h2>
      <a href="#a-quick-refresher-what-is-a-mince-pie">
        
      </a>
    </div>
    
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4hvZNibFEBxOfXo1UqMkd2/543453431e2cf33c28c6b59d5d76ec38/internet_search_mince_pies.png" />
            
            </figure><p>As we can see from even the most cursory Internet search, there are a lot of questions surrounding mince pies. After some confusion relating to our 2017 edition of the IMDB we should clearly state: modern mince pies do not contain meat. A Mince Pie is “a sweet pie of British origin, filled with a mixture of dried fruits and spices called mincemeat, that is traditionally served during the Christmas season in the English world.” - <a href="https://en.wikipedia.org/wiki/Mince_pie">Wikipedia for Mince Pie</a></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/9l4k8S5cx7UqPVdw7p25L/886121a89eafd3a780bd90449fef52ef/mincepie-Sketch--Today-at-14.07.04.png" />
            
            </figure>
    <div>
      <h2>Our methodology</h2>
      <a href="#our-methodology">
        
      </a>
    </div>
    <p>We reviewed the mince pies in terms of its characteristics as well as overall. Each mince pie was given a score of 1 to 10 for each of the following:</p><ul><li><p>Innovation</p></li><li><p>Booziness</p></li><li><p>Pastry to Filling Ratio</p></li><li><p>Pastry</p></li><li><p>Mince</p></li><li><p>Overall rating</p></li></ul><p>The top 3 categories there are somewhat objective measurements compared to the more subjective ones below. During analysis, this created some exciting opportunities.</p>
    <div>
      <h2>Analysis</h2>
      <a href="#analysis">
        
      </a>
    </div>
    <p>With this combination of 3 subjective &amp; 3 objective metrics and a total of 214 submitted reviews by our team, we had a lot of data. To break this data down Nela quickly settled on the Pearson Correlation Coefficient (PCC).</p>
    <div>
      <h3>The Pearson Correlation Coefficient</h3>
      <a href="#the-pearson-correlation-coefficient">
        
      </a>
    </div>
    <p><a href="https://wikipedia.org">Wikipedia</a> describes the PCC as follows:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1iok4F6Gh9I3kqz4e16YyF/709ee53c3f83f81dd87ca7f2c66eab0a/f76ccfa7c2ed7f5b085115086107bbe25d329cec.1.0.0_" />
            
            </figure><blockquote><p>The correlation coefficient ranges from −1 to 1. A value of 1 implies that a linear equation describes the relationship between X and Y perfectly, with all data points lying on a line for which Y increases as X increases. A value of −1 implies that all data points lie on a line for which Y decreases as X increases. A value of 0 implies that there is no linear correlation between the variables.</p></blockquote><p>By setting our X Value as the Overall Rating, we were able to plug in each of the other metrics from our reviews as the Y value, to understand how important each of these characteristics are in producing a high quality result.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/As76BfBuh2Rcz9zZVHq5c/646c19c3259e6adfea3e2611523b9b89/2018_mince_pie_correlation_coefficient-1.png" />
            
            </figure><p>2018 Internet Mince pie Database evaluation criteria coefficient. <a href="https://public.tableau.com/profile/nela7296#!/vizhome/2018MincePieRatingCriteria/RatingCriteriaCoefficient">Explore the full dataset</a></p><p>From this data we can conclude that satisfaction with a pie’s mince filling is the most likely criteria for overall pie satisfaction with <code>r=.841</code>, while innovation creates a negative correlation implying that traditional mince pies are favoured, and straying from this will only lead to dissatisfaction. Alcohol content had a minor positive correlation while pastry, pastry to filling ratio, and aesthetic had an average positive correlation.</p>
    <div>
      <h3>Word Association</h3>
      <a href="#word-association">
        
      </a>
    </div>
    <p>Along with scores, our reviewers also left tasting notes which gave an insight into how they arrived at their scores. Taking the reviews which scored a mince pie from 1-5 we’re able to see the terms most associated with poorer performing pies:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6GPC7lCIeM7O27KtOOS5Gm/10730a7e3eed59fda527c77048cac7a8/bad_mince_pie_review_word_cloud.png" />
            
            </figure><p>Pies scoring between 6 and 10 points had the following terms used the most in tasting notes:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5pDTjVBjvHukQAzb3klSqn/dc866033e9313259b76ce5e4bd28fe24/good_mince_pie_review_word_cloud.png" />
            
            </figure>
    <div>
      <h2>Also-rans and notable mentions</h2>
      <a href="#also-rans-and-notable-mentions">
        
      </a>
    </div>
    <p>Before we get to the final overall rankings, there are a few categories we wanted to mention.</p>
    <div>
      <h3>The Most Expensive Pies</h3>
      <a href="#the-most-expensive-pies">
        
      </a>
    </div>
    <p>Unsurprisingly, some of the most expensive mince pies come from London’s fanciest Restaurants &amp; Bakeries. The 3 most expensive mince pies did not rank highly enough to feature elsewhere - which goes to show you that money doesn’t necessarily buy you the best mince pie.</p>
    <div>
      <h4><a href="https://ottolenghi.co.uk/">Ottolenghi</a> Mince Pie</h4>
      <a href="#mince-pie">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>6.647</p></td><td><p>£10 for 4 (250ppp)</p></td><td><p>8.176</p></td><td><p>8.471</p></td><td><p>7.647</p></td><td><p>4.000</p></td><td><p>6.588</p></td><td><p>6.059</p></td></tr></table><blockquote><p>A Dickensian-styled thing of beauty, I expected a pie-seller to appear muttering "gawd blimey guv'nor thems good pies". Good bite, alcohol was raw and overly pungent, tasty but I needed a quiet lie down afterwards.</p></blockquote>
    <div>
      <h4><a href="https://www.flourishbakery.com/">Flourish</a> Mince Pie</h4>
      <a href="#mince-pie">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>7.167</p></td><td><p>230ppp</p></td><td><p>3.167</p></td><td><p>6.333</p></td><td><p>8.167</p></td><td><p>6.000</p></td><td><p>7.667</p></td><td><p>6.667</p></td></tr></table><blockquote><p>Deeelicious and moist. A little citrus and Christmas on the finish.</p></blockquote>
    <div>
      <h4><a href="https://stjohnrestaurant.com/a/restaurants/bakery">St. John</a> Mince Pie</h4>
      <a href="#mince-pie">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>6.273</p></td><td><p>230ppp</p></td><td><p>6.273</p></td><td><p>4.000</p></td><td><p>6.727</p></td><td><p>4.727</p></td><td><p>6.182</p></td><td><p>6.000</p></td></tr></table><blockquote><p>In a word, dense. Dense filling, dense pastry. A bit too heavy all round.</p></blockquote>
    <div>
      <h3>The Bottom 3</h3>
      <a href="#the-bottom-3">
        
      </a>
    </div>
    <p>Below are the 3 lowest scoring mince pies in 2018. We publish this not to humiliate but in the hope that these bakers will learn &amp; improve for 2019.</p>
    <div>
      <h4><a href="https://www.tesco.com/groceries/products/301637989">Tesco Mince Pie Cookies</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>2.4</p></td><td><p>£3.00 for 8 (~38ppc)</p></td><td><p>3.2</p></td><td><p>1</p></td><td><p>2</p></td><td><p>10</p></td><td><p>2.8</p></td><td><p>1</p></td></tr></table><blockquote><p>The 10 on "experimental" here means ... experiment gone badly wrong. If ratings allowed for complex numbers, this one would score an overall '10i'.</p></blockquote>
    <div>
      <h4><a href="https://groceries.asda.com/product/tarts-pies-bakewells/asda-extra-special-allbutter-luxury-mince-pies/910000327219">ASDA Extra Special All-Butter Luxury</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>4.2</p></td><td><p>£1.50 for 6 (25ppp)</p></td><td><p>6</p></td><td><p>3</p></td><td><p>2</p></td><td><p>3.75</p></td><td><p>5.75</p></td><td><p>4.5</p></td></tr></table><blockquote><p>A bit dry and what on earth is all that air doing there?! Get out and put mince in!</p></blockquote>
    <div>
      <h4><a href="https://www.aldi.co.uk">Aldi</a> Holly Lane Mince Pies</h4>
      <a href="#holly-lane-mince-pies">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>4.667</p></td><td><p>£0.75 for 6 (~13ppp)</p></td><td><p>5.667</p></td><td><p>3</p></td><td><p>4.333</p></td><td><p>1.667</p></td><td><p>5</p></td><td><p>4.333</p></td></tr></table><blockquote><p>BANG average from Aldi. I don't know where Holly Lane is but if I were to guess it would be firmly in the middle of somewhere. Slightly chalky, pasty pastry and sweet uninteresting mince.</p></blockquote>
    <div>
      <h3>The most innovative mince pies</h3>
      <a href="#the-most-innovative-mince-pies">
        
      </a>
    </div>
    <p>Nela’s impressive Pearson Correlation work showed that there is actually a minor negative correlation with mince pies that are highly innovative. During tasting we observed that innovative pies drew people in but they most definitely divided opinion. Here are the 3 most innovative mince pies (as ranked by their innovation score).</p>
    <div>
      <h4><a href="https://www.waitrose.com/ecom/products/heston-from-waitrose-chocolate-and-cherry-mince-pies/689473-666824-666825">Heston from Waitrose Chocolate &amp; Cherry Mince Pies</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>5.600</p></td><td><p>£3.00 for 6 (50ppp)</p></td><td><p>5.800</p></td><td><p>5.400</p></td><td><p>5.400</p></td><td><p>9.600</p></td><td><p>4.200</p></td><td><p>6.000</p></td></tr></table><blockquote><p>Bad.</p></blockquote>
    <div>
      <h4><a href="https://groceries.asda.com/product/tarts-pies-bakewells/asda-extra-special-allbutter-caramel-crumble-pies/1000071078214">ASDA Extra Special All-Butter Caramel Crumble Pies</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>6.667</p></td><td><p>£2.00 for 6 (~33ppp)</p></td><td><p>7.333</p></td><td><p>1.000</p></td><td><p>4.000</p></td><td><p>9.333</p></td><td><p>7.333</p></td><td><p>6.667</p></td></tr></table><blockquote><p>Interesting but this is not a mince pie.</p></blockquote>
    <div>
      <h4><a href="https://www.aldi.co.uk/flavoured-mince-pies/p/071747105694400">Aldi Black Forest Mince Pies</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>6.700</p></td><td><p>£1.99 for 6 (~33ppp)</p></td><td><p>6.000</p></td><td><p>2.300</p></td><td><p>7.200</p></td><td><p>9.300</p></td><td><p>5.500</p></td><td><p>6.800</p></td></tr></table><blockquote><p>Absolutely amazing taste however questionable as a mince pie. 😱😱😱😱</p></blockquote>
    <div>
      <h2>The overall chart</h2>
      <a href="#the-overall-chart">
        
      </a>
    </div>
    <p>Here are 2018’s top mince pies as stringently tested by the Cloudflare mince pie QA engineers:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2GUErGVz4gB2QM6yAAPtYG/a8a1c1e89552b1b8d68c1e3ac8cf2f89/2018_mince_pie_rankings-2.png" />
            
            </figure><p>2018 Internet Mince pie Database Rankings. <a href="https://public.tableau.com/profile/nela7296#!/vizhome/2018MincePieRating/AverageRatingDash">Explore the full dataset</a>.</p>
    <div>
      <h3>The IMDB Top 3 mince pies for 2018</h3>
      <a href="#the-imdb-top-3-mince-pies-for-2018">
        
      </a>
    </div>
    
    <div>
      <h4><a href="https://christmasfood.marksandspencer.com">M&amp;S Bakery Mince Pies</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>8.400</p></td><td><p>£1.30 per pie</p></td><td><p>8.200</p></td><td><p>4.400</p></td><td><p>8.000</p></td><td><p>3.200</p></td><td><p>8.000</p></td><td><p>8.400</p></td></tr></table><blockquote><p>I tried it twice. Will probably try to grab another one. Even with 14 others in-between the first and the second sampling, my preference hasn't changed. To me this is the star of the show. Yum!</p></blockquote>
    <div>
      <h4><a href="https://gailsbread.co.uk/order/christmas/390-6-mince-pies.html">Gail’s Bakery Mince Pies</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>8.200</p></td><td><p>£8.75 for 6 (146ppp)</p></td><td><p>7.700</p></td><td><p>4.900</p></td><td><p>8.000</p></td><td><p>4.300</p></td><td><p>8.000</p></td><td><p>8.300</p></td></tr></table><blockquote><p>Tasty filling, with a solid pastry. A great all rounder, if a little sweet with extra filling peel and topped sugar on the pastry.</p></blockquote>
    <div>
      <h4><a href="https://groceries.iceland.co.uk/iceland-luxury-6-mince-pies/p/56837">Iceland Luxury Mince Pies</a></h4>
      <a href="#">
        
      </a>
    </div>
    <table><tr><td><p><b>Overall</b></p></td><td><p><b>Price</b></p></td><td><p><b>Booziness</b></p></td><td><p><b>Aesthetic</b></p></td><td><p><b>Pastry-to-Filling Ratio</b></p></td><td><p><b>Innovation</b></p></td><td><p><b>Pastry</b></p></td><td><p><b>Filling</b></p></td></tr><tr><td><p>7.500</p></td><td><p>£1.89 for 6 (~32ppp)</p></td><td><p>6.000</p></td><td><p>3.500</p></td><td><p>6.000</p></td><td><p>3.000</p></td><td><p>3.500</p></td><td><p>9.500</p></td></tr></table><blockquote><p>Iceland are a dark horse here - the mince here elevates the fairly pedestrian pastry - which is pale and a little bit chalky in texture. But that mince - full of complexity - there's a hint of banana in here despite there being no actual bananas. HOW DID THEY DO THIS? DELICIOUS.</p></blockquote>
    <div>
      <h2>Thanks</h2>
      <a href="#thanks">
        
      </a>
    </div>
    <p>Thanks to everyone at Cloudflare who took part in this extensive research. If you’re inspired by some of the questions answered in this blog post, and you like spiced fruit and intense pastry debates then Cloudflare is hiring in <a href="https://www.cloudflare.com/careers/locations/london/">London</a> and <a href="https://www.cloudflare.com/careers/locations/">all over the world</a>.</p><p>Happy Holidays!</p> ]]></content:encoded>
            <category><![CDATA[Trends]]></category>
            <guid isPermaLink="false">4jbD76Y3KCEPvvknnVHBYj</guid>
            <dc:creator>Nela Collins</dc:creator>
            <dc:creator>Simon Moore</dc:creator>
            <dc:creator>Tom Arnfeld</dc:creator>
        </item>
        <item>
            <title><![CDATA[The truth about Black Friday and Cyber Monday]]></title>
            <link>https://blog.cloudflare.com/the-truth-about-black-friday-and-cyber-monday/</link>
            <pubDate>Tue, 11 Dec 2018 10:50:44 GMT</pubDate>
            <description><![CDATA[ Something we all see and hear a lot about at this time of year are Black Friday (23 November this year) and Cyber Monday (26 November) - but just how important are these days on the Internet? ]]></description>
            <content:encoded><![CDATA[ <p>At Cloudflare we handle a lot of traffic on behalf of our customers. Something we all see and hear a lot about at this time of year are Black Friday (23 November this year) and Cyber Monday (26 November) - but just how important are these days on the Internet?</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2CdCcJWms9KfhkHVoS8obS/938d6625acf464be16dd9b5e7692f685/15894285291_b73d2af904_k-2.jpg" />
            
            </figure><p>Black Friday by <a href="https://www.flickr.com/photos/perolofforsberg/">Per-Olof Forsberg</a>, license: <a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a></p><p>To try and answer this question, we took a look at anonymised samples of HTTP requests crossing our network. First of all, let’s look at total page views from across our global network from the last few weeks and see if we can spot Black Friday and Cyber Monday:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6FhmseKPIpDhYFvNE0fqOn/cfa7beda1f5fde5b49d4c760d8497f13/all_page_views_black_friday_cyber_monday_utc-1.png" />
            
            </figure><p>All page views</p><p>So this is total page views by day (UTC) from November 19 (a week before Cyber Monday) until Monday December 3. Other than follow-the-sun fluctuations in a repeating daily pattern, each whole day is pretty similar in shape and size compared to the last. Black Friday and Cyber Monday aren’t visible in overall traffic patterns.</p>
    <div>
      <h2>Get specific</h2>
      <a href="#get-specific">
        
      </a>
    </div>
    <p>We have a very diverse set of customers across <a href="https://www.cloudflare.com/products/registrar/">12 million domain names</a> and not all of them are selling products or doing so directly online. To identify those websites that are, I used metadata from the wonderful <a href="https://httparchive.org/">HTTP Archive</a> project to export a list of domains using Cloudflare that were also running ecommerce software.</p><p>Here are the page views for these ecommerce sites over the same time period:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6En6Ly7MNHWzu5zhvLHNzr/763c7a846c0dbc998396b91810a3d070/ecommerce_page_views_black_friday_cyber_monday_utc.png" />
            
            </figure><p>Ecommerce page views</p><p>So we can see clearly that our <a href="https://www.cloudflare.com/ecommerce/">ecommerce customers</a> are seeing a big increase in page views on November 23 and 26. Black Friday and Cyber Monday are most certainly a thing. This year Black Friday was quite a bit busier than Cyber Monday - around 22% busier in terms of page views. If we compare the page views of each day to the week prior, we can see the changes clearly:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7xC7tSp6bWyMWTNXa4C4MI/9bceb6fa2bc3f6d2391b92b73f5d290e/page_views_black_friday_cyber_monday_prior_week_comparison_utc.png" />
            
            </figure><p>% page view change vs previous week</p><p>The uplift starts on Wednesday but really kicks in during Thanksgiving with an increase of more than 100% on Black Friday.</p>
    <div>
      <h2>Browsing vs Buying</h2>
      <a href="#browsing-vs-buying">
        
      </a>
    </div>
    <p>So we’ve established that these shopping days are important in terms of visitor activity. More pages are being viewed on these days - but is anyone buying anything?</p><p>We’re dealing with trillions of requests across a really large data set of different websites without any specific knowledge of what a purchase transaction would look like for each - so to approximate this I took a crude approach, which is to look for successful checkout interactions in the data. If you imagine a typical ecommerce application makes a purchase with a HTTP request like “POST /store/checkout HTTP/1.1” we can look for requests similar to this to understand the activity.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/e14XnD1aGOZXbdleVqdo2/95ae4b72b586605876078a33a53cba25/checkout_interaction_black_friday_cyber_monday_prior_week_comparison_utc.png" />
            
            </figure><p>% of checkout interactions vs prior week</p><p>We can see here that Black Friday has an almost 200% increase in checkout interactions compared to the previous Friday.</p><p>Using this raw number of checkout interactions to compare with the page views we have something approximating a conversion %. This is not a true conversion figure - calculating a true conversion figure would require data that identifies individuals and detailed action tracking for each website. What we have is the total number of page views (HTTP requests that return HTML successfully) compared to the total number of POST requests to a checkout. This gives us a baseline to compare changes in “conversion” over these big November shopping days:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/52Mr9YjKoGVvdq2pavrx6A/a48394c8bcb8ce02bed6505677eb881a/checkout_interaction_as_percentage_of_page_views_black_friday_cyber_monday_prior_week_comparison_utc.png" />
            
            </figure><p>% of checkout interactions / page views vs prior week</p><p>Each bar on this chart represents the % change in checkout interactions as a proportion of page views compared to the same day the previous week. We can see this increased by 45% on Black Friday compared to the Friday before (boring old beige Friday November 16). The following Saturday was booming at 60% - because we’re dealing with time in UTC, a UTC Saturday actually includes Black Friday traffic for some parts of the world, the same can be said of Tuesday which contains overlap from Cyber Monday - we’ll break this down a bit later.</p><p>On Cyber Monday, the increase actually beats Black Friday, meaning page views lead to cart interactions 57% more often than the prior Monday (boring old vanilla Monday November 19), albeit from a lower number of transactions.</p>
    <div>
      <h2>What devices are people buying on?</h2>
      <a href="#what-devices-are-people-buying-on">
        
      </a>
    </div>
    <p>What we see here is just how much more browsing people do on mobiles today vs desktop, with mobile winning most days:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1SXxZ4SEd2S8TIoAANXeNg/99a1fe2e2ec68a1e5e99debeede1694f/page_views_by_device_type_black_friday_cyber_monday_utc.png" />
            
            </figure><p>Page Views by Device Type</p><p>When it comes to checkout interactions though, we can see the situation is switched with visitors more likely to interact with the checkout on a desktop overall, but even more so on Black Friday (14% more likely) and Cyber Monday (20% more likely).</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/AT2Ig9vnQWZwgnoRt9iHx/1548111f5f18ebfdb37595c3240513c9/checkout_interaction_by_device_type_as_percentage_of_page_views_black_friday_cyber_monday_utc.png" />
            
            </figure><p>Checkout Interaction as % of Page Views</p><p>Let’s look at a specific region to understand more, starting with the US:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/MNHlkz9LG0NHrjides5bB/e904a148d6e36b5d4ddf6be3d1faa15c/usa_black_friday_cyber_monday_page_views_pst.png" />
            
            </figure><p>USA Page Views (PST)</p><p>We can see a more normal weekday pattern on the prior Thursday &amp; Friday (15 &amp; 16 Nov) whereby desktop page views eclipse mobile during the daytime while people are at their desks. In the evenings and weekends, mobile takes over. What we see from the 21st onward is evidence of people taking time off work and doing more with their mobile devices. Even on Thanksgiving, there is still a big rise in activity as people start gearing up for Friday’s deals or finding ways to avoid political discussion with relatives at home!</p><p>On Cyber Monday, traffic earlier in the day is lower as people return to work, however we are seeing heavy use of desktop devices. As the working day ends, mobile once again dominates. Things begin to settle back into a more regular pattern from Tuesday November 27 onwards.</p><p>Let's take a look at checkout interaction over the Black Friday to Cyber Monday weekend by device type.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/240tKTStoBAVPrvsNPI6ct/5431367a6989f0d836cdacce7821fbd7/usa_black_friday_cyber_monday_checkout_interaction_percentage_by_device_type_pst.png" />
            
            </figure><p>USA Checkout Interaction % (PST)</p><p>Despite all of that mobile browsing activity, desktop devices are more commonly used for checkout actions. People seem to browse more on mobile, committing to buy more often with desktop, it may also just be that mobile users have more distractions both on the device and in the real world and are therefore less likely to complete a purchase. From personal experience, I also think the poor <a href="https://www.cloudflare.com/performance/accelerate-mobile-experiences/">mobile optimisation</a> of some sites’ checkout flows make desktop preferrable - and when customers are incentivised with discounts &amp; deals, they are more likely to switch devices to complete a transaction if they hit an issue.</p>
    <div>
      <h2>Is Black Friday / Cyber Monday international?</h2>
      <a href="#is-black-friday-cyber-monday-international">
        
      </a>
    </div>
    <p>It might be obvious if you’re reading this from the UK, but despite the fact that Thanksgiving is not a holiday here, <a href="https://www.cloudflare.com/retail/">retailers</a> have very much picked up the mantle from US retailers and seized the opportunity to drive sales over this weekend.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/10DVGES8qxwWCJRpLktybt/a53651260d0f3748bb89fd7de9f9c485/uk_black_friday_cyber_monday_page_views_utc.png" />
            
            </figure><p>UK Page Views (UTC)</p><p>Page views to ecommerce websites on Cloudflare look very similar in shape to the US on Black Friday. However, mobile is more dominant in the UK, even during working hours. It’s worth noting one big difference here - Cyber Monday in the UK was only 22% up in terms of page views compared to the prior Monday - in the US the increase was more than 4x that.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5uX8Wt5UWFDEYLhEXJ1Htm/fd5253c0919f8aea3805d46c6476c00c/uk_checkout_interaction_as_percentage_of_page_views_utc.png" />
            
            </figure><p>UK Checkout Interaction as % of Page Views</p><p>When it comes to checkout, it also looks like UK visitors to ecommerce sites commit more with their mobile, but desktop is still more likely to lead to more conversion.</p><p>Taking Germany as another example, here’s how page views look:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/18g6BZETsanoJr838h9A3J/05e2cef6eeff99b29eca64ca69e00ade/germany_black_friday_cyber_monday_page_views_cet.png" />
            
            </figure><p>Germany Page Views (CET)</p><p>Desktop use during typical working hours is much more pronounced in Germany. Black Friday and Cyber Monday show higher page views than a normal Friday / Monday but the difference is much smaller than regions such as the US &amp; UK.</p>
    <div>
      <h2>Conclusions</h2>
      <a href="#conclusions">
        
      </a>
    </div>
    <p>Black Friday is spreading internationally despite these still being normal working days for the rest of the world. Cyber Monday is also increasing ecommerce activity internationally but tends to be quieter than Black Friday. Overall, mobile browsing eclipses desktop, but those desktop page views tend to lead to checkout more often.</p><p>Retailers should continue to invest in making their mobile &amp; desktop ecommerce experiences fast &amp; resilient to seize on these key days.</p> ]]></content:encoded>
            <category><![CDATA[Traffic]]></category>
            <category><![CDATA[Holidays]]></category>
            <category><![CDATA[eCommerce]]></category>
            <category><![CDATA[Mobile]]></category>
            <category><![CDATA[USA]]></category>
            <category><![CDATA[Germany]]></category>
            <category><![CDATA[United Kingdom]]></category>
            <guid isPermaLink="false">1F38cCJdX8Omxx2IftVfwD</guid>
            <dc:creator>Simon Moore</dc:creator>
        </item>
        <item>
            <title><![CDATA[We have lift off - Rocket Loader GA is mobile!]]></title>
            <link>https://blog.cloudflare.com/we-have-lift-off-rocket-loader-ga-is-mobile/</link>
            <pubDate>Fri, 01 Jun 2018 16:31:00 GMT</pubDate>
            <description><![CDATA[ Today we’re excited to announce the official GA of Rocket Loader, our JavaScript optimisation feature that will prioritise getting your content in front of your visitors faster than ever before with improved Mobile device support.  ]]></description>
            <content:encoded><![CDATA[ <p>Today we’re excited to announce the official GA of Rocket Loader, our JavaScript optimisation feature that will prioritise getting your content in front of your visitors faster than ever before with improved Mobile device support. In tests on <a href="http://www.cloudflare.com">www.cloudflare.com</a> we saw reduction of 45% (almost 1 second) in First Contentful Paint times on our pages for visitors.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/25aMZaHJf0XUvF13Sao55h/704e6dd9f7ae3502d77dbedb1f9e2ae5/photo-1457364887197-9150188c107b" />
            
            </figure><p>Photo by <a href="https://unsplash.com/@spacex?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">SpaceX</a> / <a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Unsplash</a></p><p>We initially launched Rocket Loader as a beta in June 2011, to asynchronously load a website’s JavaScript to dramatically improve the page load time. Since then, hundreds of thousands of our customers have benefited from a one-click option to boost the speed of your content.</p><p>With this release, we’ve vastly improved and streamlined Rocket Loader so that it works in conjunction with mobile &amp; desktop browsers to prioritise what matters most when loading a webpage: your content.</p>
    <div>
      <h3>Visitors don’t wait for page “load”</h3>
      <a href="#visitors-dont-wait-for-page-load">
        
      </a>
    </div>
    <p>To put it very simplistically - load time is a measure of when the browser has finished loading the document (HTML) and all assets referenced by that document.</p><p>When you clicked to visit this blog post, did you wait for the spinning wheel on your browser tab to start reading this content? You probably didn’t, and neither do your visitors. We’re conditioned to start consuming content as soon as it appears. However the industry had been focused on the load event timing too much, ignoring user perception &amp; behaviour. Data from Google analytics has shown that 53% of visits are abandoned if a mobile site takes longer than 3 seconds to load. This makes sense if you think about the last time you browsed onto a website in a hurry - if nothing is rendered quickly on screen you’re much more likely to go elsewhere.</p><p>Paint timing metrics are a closer approximation of how your users perceive speed. Put simply, paint timing measures when something is displayed on screen, and there are various stages of paint that can be measured &amp; reported which we’ll explain as we go.</p>
    <div>
      <h3>Analysing your performance</h3>
      <a href="#analysing-your-performance">
        
      </a>
    </div>
    <p>One of the ways in which you can learn more about your website’s performance is to use one of the many great synthetic analysis tools out there. The <a href="https://developers.google.com/web/tools/lighthouse/">Lighthouse</a> tool in Chrome can run a performance audit on your page simulating a typical mobile device &amp; connection. I ran this on Cloudflare’s homepage to illustrate the way the page loads over time:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/48XQjYN7Z7oEu95mvSXfYM/10aa074fb1393452f26e120460cc6d6b/Lighthouse-performance-filmstrip-without-Rocket-Loader.png" />
            
            </figure><p>The First Meaningful Paint (FMP) takes 4.8 seconds on this mobile device simulation. FMP doesn’t measure the time of the first paint, but it waits for any web fonts to render and for the biggest above-the-fold layout change to happen. The red line drawn at 4.8 seconds shows our FMP in this test. So what can we do to improve?</p>
    <div>
      <h3>Render blocking scripts are a problem for paint times</h3>
      <a href="#render-blocking-scripts-are-a-problem-for-paint-times">
        
      </a>
    </div>
    <p>Most tools will give you suggestions, and Lighthouse calls these opportunities and orders these by their estimated time saving:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/79GA4jBO0JSKSVstyCGs6y/2c97d235cbc1482beb916dcc875beb2b/Lighthouse-performance-opportunities-without-Rocket-Loader.png" />
            
            </figure><p>Try running a lighthouse audit on your website and see what opportunities you get.</p>
    <div>
      <h4>The march of the scripts</h4>
      <a href="#the-march-of-the-scripts">
        
      </a>
    </div>
    <p>Now is a good time to quantify the spread of JavaScript on the web. Using the excellent <a href="https://httparchive.org">HTTP Archive</a> project we can review the make up of the Alexa top 500k websites over the years. Using <a href="https://httparchive.org/reports/state-of-javascript?start=2011_06_01&amp;end=2018_05_01">their data</a>, we can see that the median number of JavaScripts on mobile has increased from 5, at Rocket Loader’s launch in June 2011, increasing nearly four fold to a whopping 19 JavaScripts in May 2018. So most of us have plenty of JavaScript on our websites and there’s a good chance it will be very high on the list of performance opportunities you can seize to improve your visitors’ experience.</p><p>Implementing this recommendation would require you to make changes to your origin application’s code to asynchronously load, defer or inline your scripts. In some cases this might not be possible because you don’t control your application’s code or have the expertise to implement these strategies. Rocket Loader to the rescue!</p>
    <div>
      <h3>How Rocket Loader works</h3>
      <a href="#how-rocket-loader-works">
        
      </a>
    </div>
    <p>Without Rocket Loader</p><p>With Rocket Loader</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/73cenr7paH30Yn2VWxALxW/49b4759f66a080b839a9a4b976cc97df/Rocket-before.svg" />
            
            </figure>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6TVRmx5nlCPzaPampT8xDJ/7d60135dd5e75ca49673fe8d14b7fc70/Rocket-after.svg" />
            
            </figure><p>New Rocket Loader prioritises paint time by locating the JavaScripts inside your HTML page and hiding them from the browser temporarily during the page load. This allows the browser to continue parsing the rest of your HTML and begin discovering other assets such as CSS &amp; images that are required to render your page. Once that has completed, Rocket Loader dynamically inserts the scripts back into the page and so the browser can load these.</p>
    <div>
      <h4>Enabling Rocket Loader</h4>
      <a href="#enabling-rocket-loader">
        
      </a>
    </div>
    <p>This bit is quite labour-intensive, so watch closely:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5cElUV4Id3F8ybKjRpaGxS/81d040e078fadebb4ccb7d0718438600/Enabling-Rocket-Loader-animation.gif" />
            
            </figure>
    <div>
      <h3>Measuring the impact</h3>
      <a href="#measuring-the-impact">
        
      </a>
    </div>
    <p>Let’s run lighthouse again on our homepage now we have Rocket Loader enabled:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1LWqQJ9m4mSVMHm0n5YYQh/bac12594f3ee8a6a24a607dc1669ca3e/Lighthouse-performance-fimstrip-with-Rocket-Loader.png" />
            
            </figure><p>So Lighthouse has detected that First Meaningful Paint is just over 1.5 seconds faster in this test - a really impressive improvement delivered from a single click!</p><p>To drive this home, the opportunity lighthouse identified is now officially a “passed audit”:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/48gHKjbXHuGJ4m2pn1yOBx/85ebab62116894cf848d044d1999344f/Lighthouse-performance-audit-with-Rocket-Loader.png" />
            
            </figure>
    <div>
      <h4>Let’s get Real (User Measurement)</h4>
      <a href="#lets-get-real-user-measurement">
        
      </a>
    </div>
    <p>To measure this with real users &amp; devices, last week we ran a simple A/B test on <a href="http://www.cloudflare.com">www.cloudflare.com</a> where 50% of page views were optimised using Rocket Loader so we could compare performance with and without it enabled. As shown by the lighthouse audits above, our main website is a great use-case for Rocket Loader because while we do use a lot of JavaScript for some interactive aspects of our pages, most important to our visitors is reading information about Cloudflare’s network, products &amp; features. So in short, content should be prioritised over JavaScript.</p><p>To illustrate the changes we observed, below is a graph of the Time To First Contentful Paint (TTFCP) for <a href="http://www.cloudflare.com">www.cloudflare.com</a> visits by real users during our test. TTFCP measures the first time something in the Document Object Model (DOM) is painted on the page. For websites that are primarily for consumption of content rather than heavy interactions, this is a closer representation of a user’s perception of your website speed than measuring load time.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/69COKNcTYBszg9BxaQNTZM/0fef1b1230c18d1c1c216de0cf7cfaef/Distribution-of-Time-To-First-Contentful-Paint-in-Baseline-vs-Rocket-Loader.png" />
            
            </figure><p>With Rocket Loader you can see those orange bars are grouped more to the left (faster) and higher meaning many more of our visitors were getting content on screen in under a second. In fact, the median improvement delivered by Rocket Loader during our <a href="http://www.cloudflare.com">www.cloudflare.com</a> test lands at a 0.93 second reduction in Time To First Contentful paint or around a 45% improvement over the baseline. Boom!</p>
    <div>
      <h3>What’s new in Rocket Loader</h3>
      <a href="#whats-new-in-rocket-loader">
        
      </a>
    </div>
    <p>So Rocket Loader continues to drive performance improvements on JavaScript heavy websites, but lots has changed under the hood. Here is a summary of the key changes:</p><ul><li><p>Improves time to first paint speed not just load time</p></li><li><p>Now compatible with over 93% of mobile devices<a href="#fn1">[1]</a></p></li><li><p>Tiny! Less than 10% of the size of prior version</p></li><li><p>Reduced complexity &amp; better compatibility with your on-site &amp; 3rd party JavaScripts</p></li><li><p>Compliant with stricter Content Security Policies (CSP)</p></li></ul>
    <div>
      <h4>More mobile users now get optimised</h4>
      <a href="#more-mobile-users-now-get-optimised">
        
      </a>
    </div>
    <p>We’ve already predicted that by the end of 2018 mobile usage will reach 60%. Additionally as of July 2018 Google will begin using page speed in <a href="https://webmasters.googleblog.com/2018/01/using-page-speed-in-mobile-search.html">mobile search ranking</a>. With that in mind providing a fast experience for mobile devices is more important than ever.</p><p>Rocket Loader beta was first launched back in 2012 at a time when mobile device usage on the web was around 15%. That version of Rocket Loader intercepted JavaScript on the page, and executed it in a virtual sandbox: a world familiar, but with behavior changed behind the scenes. Unfortunately, the technique we chose to create this virtual sandbox didn't work well on all mobile browsers. That was considered an undesirable but acceptable trade off 6 years ago, but today it’s vital customers can leverage this technique on mobile. Thanks to the reduced complexity of our approach, new Rocket Loader works on over 93%<a href="#fn1">[1:1]</a> of mobile devices in use today. For those devices that are not compatible, we simply deliver the website normally without this optimisation.</p>
    <div>
      <h4>Leaner &amp; Meaner</h4>
      <a href="#leaner-meaner">
        
      </a>
    </div>
    <p>New Rocket Loader’s JS weighs in at a lightweight 2.3KB. We did some <a href="/making-page-load-even-faster/">extensive refactoring</a> during 2017 that reduced the size of the JS required to run Rocket Loader from 47KB to 32KB and saved a staggering 213 terabytes of transfer across the globe. Due to the simplicity of the way New Rocket Loader works rocket-loader.min.js resulting in a JS file that is less than 10% of the size, saving approximately another 417 Terabytes of transfer each year when Rocket Loader does its thing.<a href="#fn2">[2]</a></p>
    <div>
      <h4>Compatibility with Content Security Policy</h4>
      <a href="#compatibility-with-content-security-policy">
        
      </a>
    </div>
    <p>New Rocket Loader does not modify the content of your JavaScript, it only changes the time at which it is loaded which means it plays nicely with any Content Security Policy (CSP) you have defined. With Rocket Loader beta, if you wanted to set a CSP that only allowed execution scripts hosted on your domain you would need to disable Rocket Loader as that would also combine &amp; load external JavaScripts through your domain. New Rocket Loader does not use this approach and instead lets the browser load &amp; cache the files normally. As we also enable HTTP/2 for all of our customers, any first party scripts will load over a single TCP connection, and 3rd party scripts are still asynchronously loaded meaning we can optimise their loading without proxying this content. All of this means modifying your CSP to accommodate Rocket Loader is as simple as allowing <code>script-src</code> for <code>https://ajax.cloudflare.com</code> so that Rocket Loader itself can load.</p>
    <div>
      <h3>How can I enable new Rocket Loader?</h3>
      <a href="#how-can-i-enable-new-rocket-loader">
        
      </a>
    </div>
    <p>If you already have Rocket Loader enabled as of today your site is using the new version. You can modify your settings at any time by visiting the Speed section of your Cloudflare settings.</p><p>If you had Rocket Loader disabled or in Manual mode just click the button in the Speed section to turn Rocket Loader on.</p>
    <div>
      <h3>What else can I do with Cloudflare to optimise my website?</h3>
      <a href="#what-else-can-i-do-with-cloudflare-to-optimise-my-website">
        
      </a>
    </div>
    <p>As always achieving good performance typically takes a variety of approaches and Rocket Loader tackles JavaScript specifically. There are some other very simple optimisations you should also ensure are enabled:</p><ul><li><p><b>Caching</b> - cache everything you can so content is served directly from any one of our 150+ data centres without waiting for your origin.</p></li><li><p><b>Minify &amp; Compress</b> - Enable minification of your HTML, <a href="https://www.cloudflare.com/learning/performance/how-to-minify-css/">CSS</a> &amp; JS in your Speed settings to losslessly reduce the total byte size of your web pages and enable Brotli compression so browsers that support this new compression method receive smaller responses.</p></li><li><p><b>Optimise your images</b> - Polish will automatically reduce the size of images on your website with support for highly efficient formats such as WebP. You can also turn on Mirage to optimise images for mobile devices with poor connectivity.</p></li><li><p><b>Use HTTP/2</b> - You get HTTP/2 support automatically as long as your site is served over HTTPS. Move as much as your content as you can onto your Cloudflare enabled URLs so all of that content can be multiplexed down a single TCP connection.</p></li><li><p><b>Use Argo &amp; Railgun</b> - For dynamic content Argo and Railgun can help optimise the connection &amp; transfer between Cloudflare and your origin server.</p></li></ul><hr /><ol><li><p>Rocket Loader utilises a browser API called <code>document.currentScript</code> which is currently supported by 93.7% of mobile devices and growing: <a href="https://caniuse.com/#feat=document-currentscript">https://caniuse.com/#feat=document-currentscript</a> <a href="#fnref1">↩︎</a> <a href="#fnref1:1">↩︎</a></p></li><li><p>Back of the envelope calculations based on 270 million rocket-loader.min.js responses served per week with a 29.7KB saving per serving. <a href="#fnref2">↩︎</a></p></li></ol> ]]></content:encoded>
            <category><![CDATA[Rocket Loader]]></category>
            <category><![CDATA[Product News]]></category>
            <category><![CDATA[Speed & Reliability]]></category>
            <category><![CDATA[Optimization]]></category>
            <guid isPermaLink="false">2nGGFnv0vU43zJm2VyHzAK</guid>
            <dc:creator>Simon Moore</dc:creator>
        </item>
        <item>
            <title><![CDATA[Jetpack for WordPress: automatic protection]]></title>
            <link>https://blog.cloudflare.com/our-waf-is-keeping-wordpress-jetpack-on-track/</link>
            <pubDate>Thu, 10 Apr 2014 01:59:00 GMT</pubDate>
            <description><![CDATA[ As we've said before, lots of our users run WordPress on their websites and its popularity makes it a big target. So when a new vulnerability is discovered, acting quickly is prudent. ]]></description>
            <content:encoded><![CDATA[ <p>As we've said <a href="/wordpress-pingback-attacks-and-our-waf">before</a>, lots of our users run WordPress on their websites and its popularity makes it a big target. So when a new vulnerability is discovered, acting quickly is prudent.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6CQjKqntHcWuyaaEA33OyG/d0e5d42506426641a8008ab54470ff93/Screen_Shot_2014-04-10_at_18.11.59_1.png" />
            
            </figure><p><a href="http://jetpack.me">Jetpack</a> is an extremely popular plugin to provide self-hosted blogs with all of the <a href="http://jetpack.me/about/">additional functionality</a> that WordPress provide to sites hosted with their own hosted platform at WordPress.com.</p><p>Very recently, a serious security flaw in Jetpack was discovered. It has the potential to allow an attacker to complete actions on a blog without having to log in, such as posting. The WordPress team has written about the the problem <a href="http://jetpack.me/2014/04/10/jetpack-security-update/">here</a>.</p><p>This problem was assigned the CVE number <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0173">CVE-2014-0173</a> and is fixed in Jetpack 2.9.3 released today. Everyone using Jetpack on their WordPress site should update immediately.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2zziU8EltOqoW9poVrYqP0/994b07ab9fc48c2f9fe444f3f2e31df2/Screen_Shot_2014-04-10_at_18.45.40.png" />
            
            </figure><p>All CloudFlare customers who use WordPress are automatically protected against this bug. We rolled out a <a href="https://www.cloudflare.com/waf">Web Application Firewall</a> (WAF) rule that is automatically enabled for all customers (free or paid) to protect against this problem.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2VnZTWe4kyFTOTyLA3CkY5/576cace78b9832ad9ee1fc151f455df4/Screen_Shot_2014-04-10_at_18.15.25.png" />
            
            </figure><p>Customers using Jetpack should still upgrade immediately, but the WAF rule gives a little breathing space.</p> ]]></content:encoded>
            <category><![CDATA[WordPress]]></category>
            <category><![CDATA[Speed & Reliability]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <guid isPermaLink="false">7xhD4xu7m7wxKWeDPxPBJt</guid>
            <dc:creator>Simon Moore</dc:creator>
        </item>
        <item>
            <title><![CDATA[WordPress Pingback Attacks and our WAF]]></title>
            <link>https://blog.cloudflare.com/wordpress-pingback-attacks-and-our-waf/</link>
            <pubDate>Tue, 11 Mar 2014 16:00:00 GMT</pubDate>
            <description><![CDATA[ At CloudFlare a lot of our customers use WordPress, that's why we have our own plugin, we hang out at WordCamp and we wrote a WordPress specific ruleset for our Web Application Firewall. ]]></description>
            <content:encoded><![CDATA[ <p>At CloudFlare a lot of our customers use WordPress, that's why we have our own <a href="http://WordPress.org/plugins/cloudflare">plugin</a>, we hang out at <a href="https://twitter.com/CloudFlare/status/424232493282107392">WordCamp</a> and we wrote a WordPress specific ruleset for our <a href="https://www.cloudflare.com/waf">Web Application Firewall</a>.</p><p>WordPress' ubiquity on the web can make it an ideal target for <a href="http://en.wikipedia.org/wiki/OSI_model#Layer_7:_application_layer">Layer 7</a> attacks, and its powerful features as a blogging platform can be demanding on small web and database servers, meaning Layer 7 attacks can be effective in making a WordPress server go offline using a relatively low number of requests.</p><p>Recently the folks at <a href="http://blog.sucuri.net/2014/03/more-than-162000-WordPress-sites-used-for-distributed-denial-of-service-attack.html">Sucuri</a> observed a large DDoS using WordPress' pingback mechanism. A <a href="http://en.wikipedia.org/wiki/Pingback">pingback</a> is a way of one website telling another that it has linked to their content. We’ve seen this attack in the past and already had WAF rules in place to block it.</p><p>WordPress exposes an <a href="http://en.wikipedia.org/wiki/XML-RPC#PHP">XMLRPC</a> endpoint - xmlrpc.php - which other sites can make POST requests to in a standard format to inform a blog that their content has been linked to. The message it sends contains the blog link they referred to, and the page on which they placed that link.</p><p>When WordPress receives a pingback, it makes a request back to the source page to check that the link is actually there. Attackers can use this mechanism to specify a genuine link on a WordPress site and an intended victim, which will trigger a HTTP request to the victim's site. You can think of this as a kind of HTTP Reflection attack, in that the attacker can send a relatively small request to an XMLRPC endpoint that supports pingbacks, and trigger a much larger amount of effort and response on the victim's server.</p><p>Fortunately, our WordPress WAF rule WP0001 "WordPress Pingback Blocker" will immediately stop your WordPress blog from being used for this type of pingback abuse. If you run WordPress, you may want to consider enabling this today.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1tbprIqovu6zSt0IYPfzkv/1f373113a25886b9e4df8eca83ff2ed6/cloudflare_waf_wordpress_ruleset_1.png" />
            
            </figure><p>You can find the “CloudFlare WordPress” ruleset under the CloudFlare Settings &gt; Security &gt; Manage WAF section, toggle the switch to turn the CloudFlare Wordpress ruleset on, and you’re all set.</p><p>For an added sting in the tail, the attack Sucuri observed also used a mutating query string when specifying a URL on which they had placed a link. This bogus mutating URL will neutralise most caches and means a server has to expend the effort of producing a page from scratch over and over again. Fortunately we also have CloudFlare WordPress rule 100000 "WordPress Numbers Botnet" which will block this type of behaviour.</p><p>So whether your blog is used to attack others or to be attacked itself, our WAF can help. For more information on our WAF <a href="https://www.cloudflare.com/waf">cloudflare.com/waf</a></p> ]]></content:encoded>
            <category><![CDATA[WordPress]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Attacks]]></category>
            <guid isPermaLink="false">1u0EzGgqOoO0AlreSLiTB0</guid>
            <dc:creator>Simon Moore</dc:creator>
        </item>
    </channel>
</rss>