
<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>Sat, 04 Apr 2026 11:18:36 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Integrating our Integrations: Getting WHMCS and cPanel Talking]]></title>
            <link>https://blog.cloudflare.com/integrating-our-integrations-getting-whmcs-and-cpanel-talking/</link>
            <pubDate>Mon, 23 Mar 2015 18:12:29 GMT</pubDate>
            <description><![CDATA[ CloudFlare provides integrations for several of the most popular hosting control panels and billing systems such as WHMCS, cPanel, and Plesk. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>CloudFlare provides integrations for several of the most popular hosting control panels and billing systems such as WHMCS, cPanel, and Plesk. Each of these integrations provide a simple interface for our partners’ customers to sign-up for CloudFlare and start adding domains almost immediately.</p><p>But what about partners that use more than one system? The best experience occurs when we can get our integrations talking to each other, as our recently updated WHMCS and cPanel plugins do.</p>
    <div>
      <h3>Integration Basics</h3>
      <a href="#integration-basics">
        
      </a>
    </div>
    <p>All of <a href="https://www.cloudflare.com/resources-downloads">our hosting integrations</a> speak directly to CloudFlare through our host API. With just a single click, the integration passes the necessary information for CloudFlare to create an account and provision the domain. We respond when the provisioning completes, and the integration finishes the setup by making the necessary changes locally (adding and adjusting several DNS records) to route traffic to the domain through CloudFlare.</p><p>This makes signing up through a hosting partner integration even easier than signing up directly with CloudFlare. These proven systems make DNS changes accurately in order to save a lot of headaches.</p>
    <div>
      <h3>Where do I integrate CloudFlare?</h3>
      <a href="#where-do-i-integrate-cloudflare">
        
      </a>
    </div>
    <p>Many hosting companies expose two different applications to their customers: a billing system and a hosting control panel. The former allows customers to manage their billing information and the products they have purchased; the latter is used to configure hosting products such as accessing files, managing DNS, adding email addresses, and setting up a database.</p><p><a href="https://www.cloudflare.com/cloudflare-partners-self-serve-program-open-beta/">Hosting partners</a> that use both WHMCS (billing) and cPanel (hosting), commonly ask, “Which integration should I use?” In the past, we have recommended the cPanel integration, because cPanel manages the DNS records for a domain. Domains added through cPanel can be set up in one click, whereas WHMCS required presenting instructions to the end-user on finishing the configuration.</p>
    <div>
      <h3>Time to Get WHMCS and cPanel Talking!</h3>
      <a href="#time-to-get-whmcs-and-cpanel-talking">
        
      </a>
    </div>
    <p>WHMCS, as a billing system, handles auto-provisioning for a variety of hosting control panels, including cPanel. When configured, WHMCS will automatically set up new accounts in cPanel once the order is complete.</p><p>We join in this auto-provisioning, and immediately after CloudFlare is added, we send requests from WHMCS to the cPanel account to set up a CloudFlare account as well. The exact setup breaks down to a few easy steps:</p><ol><li><p>Send a request from WHMCS to cPanel logging in as the cPanel user. This returns an access token for the user that we can use in subsequent requests to act as the user.</p></li><li><p>Send a second request with the access token simulating the action that a user would have performed if signing up through cPanel.</p></li></ol><p>This action has the added benefit of not only setting the domain to run on CloudFlare, but it also sets up our cPanel plugin to show the domain as orange clouded and provides the options to manage many CloudFlare settings through cPanel.</p><p>Analogous to how CloudFlare stands between web servers and web visitors, we’re using cPanel between WHMCS and our API to make it easy for our partners’ customers to add CloudFlare to any new cPanel hosting account at the point of purchase!</p><p><i>(Note: only CNAME or partial setup added in WHMCS currently provisions through cPanel.)</i></p>
    <div>
      <h3>Getting Started</h3>
      <a href="#getting-started">
        
      </a>
    </div>
    <p>The latest version of our WHMCS integration can be <a href="http://www.cloudflare.com/static/misc/cloudflare_whmcs-latest.zip">downloaded here</a>. Installation requires a partner API key. New partners can apply at <a href="https://www.cloudflare.com/certified-partners">https://www.cloudflare.com/certified-partners</a>.</p><p>For technical questions related to our integrations, please email us at <a>partnersupport@cloudflare.com</a>.</p> ]]></content:encoded>
            <category><![CDATA[Plesk]]></category>
            <category><![CDATA[API]]></category>
            <category><![CDATA[Partners]]></category>
            <guid isPermaLink="false">7IHiUIGFMkorzhF1MdlnF8</guid>
            <dc:creator>David Fritsch</dc:creator>
        </item>
        <item>
            <title><![CDATA[Flexible SSL & Wordpress: Fixing “Mixed Content” Errors]]></title>
            <link>https://blog.cloudflare.com/flexible-ssl-wordpress-fixing-mixed-content-errors/</link>
            <pubDate>Wed, 21 Jan 2015 21:47:09 GMT</pubDate>
            <description><![CDATA[ As many are aware, CloudFlare launched Universal SSL several months ago. We saw lots of customers sign up and start using these new, free SSL certificates. For many customers that didn’t already have an SSL certificate, they were able to use “Flexible SSL”. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>As many are aware, CloudFlare launched <a href="https://support.google.com/webmasters/answer/6073543?utm_source=wmx_blog&amp;utm_medium=referral&amp;utm_campaign=tls_en_post">Universal SSL</a> several months ago. We saw lots of customers sign up and start using these new, <a href="https://www.cloudflare.com/application-services/products/ssl/">free SSL certificates</a>. For many customers that didn’t already have an SSL certificate, they were able to use “Flexible SSL”.</p><p>Flexible SSL creates a secure (HTTPS) connection between the website visitor and CloudFlare and then an in-secure (HTTP) connection between CloudFlare and the origin server. For any site using absolute links to assets (i.e. javascript, css, and image files), this can lead to a “Mixed Content” error.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6fogaeQLTAc6tj2BAMzJ0g/ea7d5d7f7ff94469267238d4875aae4f/Screen-Shot-2015-01-21-at-10-50-54-AM-5.png" />
            
            </figure>
    <div>
      <h4>Mixed Content = Mixed Protocol</h4>
      <a href="#mixed-content-mixed-protocol">
        
      </a>
    </div>
    <p>What is “Mixed Content”? This can be understood as mixed protocol. When the webpage is loaded over SSL (HTTPS protocol), most browsers expect all of the assets to be loaded over the same protocol. Some browsers will display an error about loading “insecure content” while others will just block the insecure content outright.</p><p>This error only applies to pages loaded over SSL, since the browser is working to make sure that secure pages only load equally secure assets.</p>
    <div>
      <h4>Wordpress Plugin Updates</h4>
      <a href="#wordpress-plugin-updates">
        
      </a>
    </div>
    <p>The latest version of the CloudFlare plugin for Wordpress works to resolve a lot of these errors by altering the protocol within the links to assets. Where currently your Wordpress site may link to your stylesheet like this:</p>
            <pre><code>http://www.example.com/wp/wp-content/themes/twentyfifteen/style.css?ver=4.1</code></pre>
            <p>We’ll remove the “http:” part to make this into a relative protocol:</p>
            <pre><code>//www.example.com/wp/wp-content/themes/twentyfifteen/style.css?ver=4.1</code></pre>
            <p>A further update to this rewriting doesn’t enable this rewriting for canonical URLs, since Google and other search engines expect this to be an absolute URL. Google also <a href="https://support.google.com/webmasters/answer/6073543?utm_source=wmx_blog&amp;utm_medium=referral&amp;utm_campaign=tls_en_post">recommends securing your site with SSL</a>, and being able to enable Flexible SSL is a great way to achieve this SEO boost!</p>
    <div>
      <h4>Relative Protocol</h4>
      <a href="#relative-protocol">
        
      </a>
    </div>
    <p>A relative protocol <code>//www.example.com</code> tells your browser to load the asset over the same protocol as the main page. If your site loads over HTTPS, then the browser will try to load the asset over HTTPS as well. (In other words, NOT mixed. Everything is over HTTPS!)</p><p>This approach has no negative side effects for customers who don’t enable SSL (or who have traffic visit over HTTP as well as HTTPS), since if the page is loaded over HTTP, the assets will be loaded on the same protocol.</p>
    <div>
      <h4>Best Practices using Wordpress and Flexible SSL</h4>
      <a href="#best-practices-using-wordpress-and-flexible-ssl">
        
      </a>
    </div>
    <p>Protocol rewriting is on by default in our current version of the Wordpress plugin, so you should be able to enable Flexible SSL on your account and have traffic go to <a href="https://www.yourdomain.com">https://www.yourdomain.com</a>.</p><p>CloudFlare recommends also adding a page rule for <a href="http://www.yourdomain.com">http://www.yourdomain.com</a>* that redirects all traffic to HTTPS (assuming that Wordpress is set up for the WWW subdomain and isn’t within a directory on your domain).</p><p>With these two changes we can secure all traffic to your Wordpress site between the customer and CloudFlare’s server.</p>
    <div>
      <h4>Limitations of Protocol Rewriting</h4>
      <a href="#limitations-of-protocol-rewriting">
        
      </a>
    </div>
    <p>While this improvement should allow many Wordpress users to enable Flexible SSL without any other changes to their website, there are a few items to consider:</p><p>If after upgrading to the latest version of the Wordpress plugin, you still get “Mixed Content” errors, it’s likely that a plugin you are using adds assets to the site though javascript. The ways and methods to do this vary greatly, so it’s not currently possible to catch all of these instances. Plugin developers are encouraged to link to assets relatively or use Wordpress’s built-in methods for adding assets to the page.</p><p>It’s also important to note the limitation of Flexible SSL. For websites that collect credit cards and other secure information, it’s important to secure this information from the customer all the way to your server, so we recommend using Full SSL and having an SSL certificate on your server because this also secures the traffic between CloudFlare and your origin.</p> ]]></content:encoded>
            <category><![CDATA[WordPress]]></category>
            <category><![CDATA[HTTPS]]></category>
            <category><![CDATA[Mixed Content Errors]]></category>
            <category><![CDATA[SSL]]></category>
            <category><![CDATA[Security]]></category>
            <guid isPermaLink="false">7h0xjOF9xXTYY9GdmqgUzy</guid>
            <dc:creator>David Fritsch</dc:creator>
        </item>
    </channel>
</rss>