A lot can happen over coffee. If you’re a cafe owner, you’ll be wishing it does happen in your cafe. And what better way to drive people through your cafe’s door than to have an awesome website? The best cafe WordPress themes can give you a leg up here!
So, what does it take to have a super-inviting online presence? On top of the list would be mouth-watering photographs that make visitors reach out for that cup of greatness on their screens. And a well-organized gallery to display them. Sliders to showcase happy customers and social sharing to help them spread the word. A fast loading theme that’s optimized for search engines to find you. Responsive too, so visitors can find you on their mobiles as well. These best cafe WordPress themes give you all these features, and then some!
On your website, visitors need to be able to browse the menu, book a table and find your location. So pre-made pages, maps and a booking system such as linking up with OpenTable should all help. Many of these best cafe WordPress themes have pre-built, ready made website templates that you can import in a single click. Page builder support and theme customizers also help.
With that being said, we’re not going to keep you waiting any longer. Here are the best cafe WordPress themes to help you build a great website.
* The starter site badge means that after you get the theme in question, you can install a starter site template on it that gives you the cafe WordPress theme look.
Best coffee shop / cafe WordPress themes
Lightweight, easy setup and compatible with the popular page builders
Mobile-first approach, AMP compatible
Control over website layout
Starter sites library to easily import websites
Pro add-ons such as blog and WooCommerce booster
Optimized for SEO and speed
RTL and translation ready
Full Elementor integration
Background image in footer
Many importable pre-made demos
Change colors and fonts using the customizer
Access to a selection of Google fonts
100% translation ready
Support for WooCommerce
Build any website with 370+ available demos
Highly flexible elements
Ajax transition animations and stunning infographic elements
Easy-to-use admin interface, frontend login for users
24 layout concepts
Includes four premium plugins
One-click import and auto updates
20 demo variations, creative layouts and powerful eCommerce features
Porto Optimizer for super speedy performance
Powerful theme options
Works fine on low level servers too
Plenty of widgets
33+ custom elements for Visual Composer
Wishlist, Ajax search, sorting and filtering
Intuitive frontend visual editing
More than 50 panels of neatly organized options
Page options can override theme options
60+ design elements
49 pre-built websites
Integration with WooCommerce
Six premium plugins included
Drag and drop page builder, demo importer
Live theme customizer
Premium plugins included, compatible with popular free plugins
Disable features you don’t need in the theme panel
SEO, WooCommerce and bbPress ready
Custom hover effects
Select specific navigation menus per page
Intuitive, fully visual page builder
50 demos with hundreds of pre-built sample pages
One-click demo installer
Compatible with popular plugins
Unlimited ways to showcase your portfolio
Beautiful section concepts
Modern design with WooCommerce integration
Superfast, lightweight and fine UI
80+ pre-made creative websites and 400 demo pages
Premium sliders included
Eight navigation settings in 20+ styles
60+ elements in 250+ styles
2500+ customizable font icons
Easy-to-use drag and drop page builder
FoodPress reservation and menu plugin fully integrated
Many layout possibilities with different header options
Live customizer, In-dashboard contextual help
1200 premium icons set
30+ ready-to-use pages
Full screen background image, easy parallax builder
Six one-click importable homepages
Many menu styles
Compatible with OpenTable for reservations
Visual Composer and Slider Revolution included
Six distinctive icon packs
Many stylized and beautiful elements
Numerous shortcodes included
One-click import, nine homepages
Integration with OpenTable for reservations
800+ Google fonts
Compatible with WooCommerce
Visual Composer and Slider Revolution included
Collection of creative inner pages and shortcodes
Zoom animations and parallax effect
One-click demo install
600+ Google fonts
Style Manager and Live Customizer
Use shortcodes to create menus quickly
OpenTable reservation compatibility
Optimized for speed, good SEO practices
Collection of home and inner pages
Import demo site with one click
WPBakery page builder included
Menu custom post type and multiple shortcodes
Portfolio hover types and animations
Instagram and Twitter feed widgets
Custom widget areas and customizable mega menu
14. Grand Restaurant
Import demo with pages, posts, images, settings and widgets
Multiple menu sizes and prices with order option
Parallax scrolling for maps, content and images
Food delivery with online and offline payment options
Create coupon codes and discounts
Flexible reservation options, including OpenTable
Google Maps style and multiple locations
Six fast food demo websites
Flexible food menu system
Powerful product layouts
Custom order hours functionality
Nutrition facts and allergens list
Build your own burger / pizza functionality
Look-book / portfolio functionality
Page builder and one-click installer
Built-in menu plugin and reservation form
Multiple post formats
WooCommerce and Contact Form 7 ready
Self-hosted HTML5 video player
Performance and SEO optimized
12 homepages, one-click demo import
Restaurant menu and reservation form and many more shortcodes
Twitter feed, Instagram feed and latest post widgets
A number of useful inner page examples
Various infographic elements
Customizable mega menu
18. The Flavour
Responsive and Retina-ready
Three sliders, including two premium sliders
One-click content install
Built-in events calendar
Restaurant specific icons
Built-in page layouts
Unyson framework with lots of settings and features
Easy-to-manage drag and drop interface
One-click demo content importer
Easy-to-use food menu page
Support for the Restaurants Reservations plugin
Sticky Menu and WooCommerce ready
One-click demo import
Page builder support
Compatible with popular plugins
Live customizer settings
Menu management system
Reservation with simple form or with a plugin
Translation ready, automatic updates
* This post contains affiliate links, which means that if you click on one of the product links and then purchase the product, we’ll receive a small fee. No worries though, you’ll still pay the standard amount so there’s no cost on your part.
Do you want to publish podcasts on your WordPress site? Podcasts can help you reach out to new audiences. You can encourage your site visitors to subscribe to your series and regularly listen to them. That way you can build a long-lasting relationship with your listeners and possibly convert them into leads and customers.
In this article, we’ll show you how to start a podcast in a few quick and easy steps. So let’s begin.
Step 1: Making a Podcasting in WordPress: Getting Started
Having a blog would be an added advantage if you want to run a successful podcast series. Blogging is more than just a supplement to the podcast. It’s even more accessible than podcasts itself, especially if you transcript them and publish on your blog. Plus, blogging can also give you a massive boost in your credibility.
An important step while setting up your WordPress blog is to select a domain name and good hosting platform.
A domain name is the address of your blog on the internet, like Google.com or IsItWP.com. Web hosting is where people store the content and files of their blogs.
We recommend you to opt for BlueHost, one of the leading web hosting providers on the market. Bluehost is also an officially recommended web hosting provider by WordPress.org.
When you want to start a new blog, the combined cost of domain and hosting can seem like quite a lot.
That’s why we’ve worked out a deal with Bluehost to offer our users a free domain name, free SSL, and over 60% off on WordPress hosting.
Click here to Claim this Exclusive Bluehost Offer »
If you do not have a blog yet, here’s a guide on How to Start a WordPress Blog (step-by-step).
Step 2: Set Up a Media Host to Create Podcasts
Generally, your podcasts are huge media files that need to be hosted on a reliable platform. So your next step would be to select a good media hosting platform. You might be wondering why would you need a separate host for your media files and not use Bluehost for it.
Well, that’s because you don’t want your website to slow down and become unresponsive due to the consumption of a huge amount of server resources. Media hosting platforms will take care of that and ensure that your website always performs faster.
To get the best results, you can opt for Blubrry which is a podcast specific media host. Blubrry also offers an excellent plugin called Blubrry PowerPress that simplifies the process of handling and managing your podcasts from WordPress.
Step 3: Choosing the Right Equipments
Now that you are ready with your podcast hosting, it’s time to select the right equipments for your podcast setup. The most important equipment for podcasters is a good quality microphone.
If you need an entry-level solution, you can buy Samson CO1U (USB). This is the industry’s first USB studio condenser mic, which helps you record high-quality podcasts by plugging directly into your computer via a USB port.
Alternatively, you can use Heil PR-40 (XLR connection, not USB), which is what professionals use. For this one, you will also need to buy an audio mixer.
Other than that, you’ll need –
If you want to purchase all necessary equipment as a bundle, consider buying Rode Podcaster Booming Kit, that comes with a Podcaster, PSA1 Arm, and PSM1 shock mount all packed together.
Let’s now check out the next step.
Step 4: Recording Your First Podcast
To start recording your first podcast episode, you’ll need an audio recording software. Audacity is one of the most popular recording software that you can use.
With Audacity, you can easily record your files and edit them as well. Once you install it, open the software » File » Start a new project. That’s it. You can now click on the Record button and start recording your podcast.
You can edit your file and refine it for your listeners. Remove awkward pauses, coughing, sneezing or anything that you think is unnecessary.
You can also add some background music if you want. For adding background music, go to File » Import. You can then browse through your music files and add the one you like.
Because Audacity is a tool with an extensive list of features, it’s not possible to cover its features in this tutorial. However, you can go through its wiki tutorials to have a detailed insight.
After recording, the next thing you need to do is to export your file. Generally, podcasts files are exported in the MP3 format. By doing that, the files are secured in superior quality and in smaller file sizes. Name your file and save it on your computer.
Step 5: Publishing Your Podcast with WordPress
To publish your podcast on your WordPress website, first log into your admin area. The second step is to go to Plugins » Add New » PowerPress Podcasting plugin by Blubrry.
PowerPress is a free plugin that makes publishing podcasts on your WordPress site super easy. Once the plugin is installed and activated, go to your PowerPress dashboard » Settings. Now click on the Configure Blubrry statistics and hosting services button.
You will have the following window on your screen. Here you will have to enter your Blubrry hosting account details.
Scrolling further down the page, you will see more options. Fill out these fields. The plugin will use the information in your podcast’s RSS feed. Then, this information will be used by iTunes to add your podcast to their directory.
Save the changes that you just made. Your website is all set to start publishing your podcasts now.
Step 6: Adding Media files to your Podcast Hosting
You are not ready to publish your podcasts unless your recorded files are uploaded to your media hosting service. To upload your files, log in to your Blubrry hosting account » Podcaster dashboard » Upload New Media Files.
You will now have the option to Upload New Media. Click on it and start uploading the files that you have previously saved on your computer.
Step 7: Adding Your First Podcast to WordPress
It’s now time to add the podcast to your WordPress website. So go to your WP dashboard » Posts » Add New Page. Add a catchy title and description to your podcast. You’ll also have to create a new category for your podcasts.
Now scroll down and find the Podcast Episode option.
You’ll see an option called the Media URL. Use the icon next to this option to upload the media files that you just uploaded in your Blubrry media. If you are using a different hosting, you can click your URL in the blank field. Now hit the Publish button on your right.
That’s it! Your podcast is live now.
We hope this article helped you start a podcast on your WordPress site. If you want to know about more WordPress Podcast plugins read our post on 12 Best WordPress Podcast Plugins Compared (Free & Premium)
Do you want to use Cloudflare CDN on your WordPress site?
Cloudflare is one of the best WordPress CDN and firewall services available in the market. They offer a free CDN that speeds up your website along with a suite of powerful security features for small business websites.
The challenge is that many entry-level users are not able to utilize Cloudflare because they think it is hard to set up.
In this guide, we will walk you through a complete Cloudflare setup in WordPress to help you improve your website speed.
Table of Contents:
What is CDN? Why You Need a CDN for Your Site?
A CDN or Content Delivery Network is a system of distributed servers which helps deliver your website files faster to the users based on their geographic location.
Typically, a web hosting service serves your website visitors from a single location. All the users access the same server, no matter where they are located. This can result in a delay in content delivery for users living further away from your website’s central hosting server.
CDN solves this problem by setting up multiple edge servers in different locations around the globe. These CDN servers cache static content from your site’s origin/central server, store, and present them to the users after they request for it.
When there is a user request, the CDN server closest from the user’s location will handle it. For example, if someone in the USA wants to access a UK-hosted website, then a CDN server in the USA will serve that request, not the main sever in the UK.
With CDN, all the user requests are handled by the nearest CDN servers. This mitigates the physical distance between the visitors and your website’s server. As a result, your website loads faster for all users regardless of their geographic location.
A faster website also improves user experience and gives your website a slight boost in SEO rankings.
Using a CDN also reduces the load on your primary server and protects it from crashing during traffic spikes. If you want to learn more, see our guide on why you need a CDN for your WordPress blog.
What Is Cloudflare CDN?
Cloudflare is the most popular free CDN provider available on the internet. It is a large network of globally distributed servers which automatically cache static content and deliver dynamic content swiftly.
On top of a CDN service, Cloudflare is also a cloud-based website firewall and a distributed proxy server. It monitors all incoming traffic to your website and blocks suspicious traffic even before it reaches your server.
They offer a free basic plan that’s suitable for small business websites and blogs. They also offer paid plans starting at $20 per month.
Cloudflare is an excellent choice for small businesses looking for a free CDN. However, if you want to fully utilize all Cloudflare features, then you will need the Business plan which costs $200 / month.
Editor’s note: We do not use Cloudflare on WPBeginner. Instead we use MaxCDN (now part of StackPath) for our CDN service. They do not force you to use their DNS and offer more reasonable pricing at scale.
MaxCDN vs. Cloudflare – What’s the Difference?
MaxCDN and Cloudflare are both quite different services actually. While MaxCDN is focused on serving your content through their CDN, Cloudflare is more focused on security and spam control.
They both use different technologies to serve content through their networks. MaxCDN serves content from your website’s DNS using pullzones, simply put they mirror your website. Cloudflare, on the other hand, serves content through their own DNS, and you are asked to change your website’s DNS to point to their servers.
Cloudflare acts as a proxy between you and your website’s visitors, which means you give up a lot of control. Whereas MaxCDN acts as a reverse proxy, which means you have all the control.
Cloudflare is better at optimizing your page speeds by preventing your site from malicious bots, attackers, and suspicious crawlers. MaxCDN is better at improving your website speed by serving your static content through their servers located around the world.
Cons of Using Cloudflare
The biggest user complaint with Cloudflare is that while it speeds up your website, sometimes it will add a second loading screen for security verification purposes which defeats the purpose of speed because users often have to wait 5 seconds before they can see your website.
Sometimes it can also display a CAPTCHA page asking users to prove that they are human. This creates a bad experience for first-time visitors who may never revisit the site.
Setting Up Cloudflare on Your WordPress Site
Setting up Cloudflare on a WordPress site is quite easy. There are two different methods:
By using a single-click Cloudflare setup option in your host’s control panel
By signing up manually on Cloudflare website
The first method is the easiest way to enable Cloudflare CDN on your WordPress blog. Some of the top WordPress hosting services like SiteGround have partnered with Cloudflare to offer an easy setup option through their control panel.
If your web host doesn’t offer a built-in Cloudflare setup option, then you can manually add the service on your site. We will show both of these methods in details below.
Method 1: Setting up Cloudflare CDN with One-Click Setup Option in cPanel
As we mentioned earlier that some WordPress hosting providers like SiteGround offer an easy option to configure Cloudflare CDN in WordPress.
These web hosts provide a built-in Cloudflare integration app in your hosting cPanel to enable the service with just a few clicks.
This Cloudflare setup option works similarly with most hosting providers that have the integration. For your reference, we will show the setup process on SiteGround hosting.
Enabling Cloudflare CDN on SiteGround
If you are using SiteGround as your WordPress hosting company, then you can set up Cloudflare CDN on your site in just a few minutes.
To get started, login to your cPanel and navigate to the ‘Site Improvement Tools’ section. After that, click on the ‘Cloudflare’ icon.
SiteGround recently started switching to a new control panel. If you’re using the new panel, then you’ll see Cloudflare listed under Speed tab. For example, take a look at the screenshot below.
To enable Cloudflare free CDN on your website, just click on the ‘Set Up’ button to continue.
After that, you will see a popup asking you to create a Cloudflare account or connect to your existing one.
Next, you will see a message indicating that the CDN activation is in progress. Once it is complete, the Cloudflare CDN will be active on your WordPress site.
Method 2: Setting up Cloudflare CDN in WordPress Manually
If your web hosting doesn’t have a single click Cloudflare configuration option, then you can use this method. It can take a few more minutes, but it is also easy and user-friendly.
To begin, you need to visit CloudFlare website and click on the ‘Sign Up’ button.
On the next page, you need to enter your email address and password to create a Cloudflare account. Simply enter the information required, and then click on the ‘Create Account’ button.
After that, you need to enter your website’s URL.
On the next screen, you will be asked to choose a plan. For the sake of this tutorial, we will select a free plan.
After that, Cloudflare will show you a list of all DNS records their systems found. This will include your subdomains as well.
The DNS records you want to be passed through Cloudflare will have orange cloud icon. The DNS records that will bypass Cloudflare will have a gray cloud icon.
You need to review the list to make sure that your primary domain is active on Cloudflare with an orange cloud icon.
Once you verify your DNS records, click on the Continue option at the bottom.
On the next and the final step of your setup, Cloudflare will ask you to update your nameservers. You will be asked to change your name servers and point them to Cloudflare nameservers.
Notice: Changing name server can take some time to propagate through all over the internet. During this time, your website may become inaccessible for some users.
You can change name servers either from your domain registrar account like Domain.com, or if you got a free domain from your web hosting provider like Bluehost, then you will have to change the name server by logging into your hosting account.
For the sake of this tutorial, we will be showing you how to change the name servers from the Bluehost control panel. While the process is similar across hosting companies, you can always ask your hosting provider for detailed instructions for their control panel.
Once you are logged on to your Bluehost cPanel dashboard, go to ‘Domains’ section, and select your domain name. After that, click on the ‘Name Servers’ tab and ‘Edit’ option.
Next, you need to select ‘Custom’ and enter the nameservers provided by Cloudflare.
After that, you need to go back to Cloudflare setup page, and click on ‘Done, check nameservers’ button to finish the setup.
That’s it! Now it will take a few minutes to update your domain nameservers and activate Cloudflare.
Once activated, you will see the success message on your Cloudflare dashboard.
You can now customize your Cloudflare settings from this dashboard. We will show you the most critical settings in the next section.
Note: The above screenshots show Bluehost control panel. Your nameserver settings may look different if you’re using a different hosting provider.
Configuring Most Important Cloudflare Settings
Your basic Cloudflare set up is complete, but there are a few essential settings you need to configure to keep your WordPress site secure.
1. Configure WordPress Specific Page Rules
By setting up page rules, you can customize how Cloudflare works on specific pages on your site. It is especially useful in securing critical pages like login page, wp-admin area, etc.
Cloudflare free account allows you to set up three page-rules. If you want to add more page rules, then you need to pay $5 per month for five additional rules.
First, you need to click on the Page Rules option at the top and then click on the Create Page Rule button.
After that, you can set up the following three page-rules.
a) Secure your WordPress login page
Page URL: example.com/wp-login.php* Setting: Security Level; High
b) Exclude WordPress Dashboard from Cloudflare and Enable High Security
Page URL: http://*example.com/* Setting: Always use HTTPS
2. Configure SSL Certificate Settings
Another important setting is the SSL certificate available in the ‘SSL/TSL’ menu at the top.
Make sure to choose ‘Full’ if you are already using SSL.
If you don’t have an SSL certificate, then see our guide on how to get a free SSL certificate for your website.
Once done, Cloudflare will provide a coveted green padlock to signify that your website is secure.
Optimizing Cloudflare for WordPress Using a Plugin
Cloudflare offers a dedicated WordPress plugin for one-click WordPress-optimized settings. The plugin lets you quickly set up Cloudflare on your WordPress site, add web application firewall (WAF) rulesets, automatically purge the cache, and more.
To get started, install and activate the Cloudflare plugin on your website. For more details, see our step by step guide on how to install a WordPress plugin.
Once done, you need to visit Settings » Cloudflare from your admin panel to configure Cloudflare settings.
On the settings page, you will see a Create Your Free Account button and Sign-in option for already existing accounts. Simply click on the sign-in option.
On the next screen, you will need to enter your Cloudflare email and API key.
You can find your API key in your account area on the Cloudflare website.
Simply open the ‘My Profile’ page and then click on the API tokens. After that, go to the Global API Key section and click on the View button.
This will open a popup and display your API key. You need to copy the key.
Next, come back to your WordPress dashboard and enter your email address and API key.
After that, Cloudflare home page will appear on your dashboard. From there, you can apply a single-click WordPress optimization, purge cache, enable automatic cache, etc.
You can find more Cloudflare options by clicking on the Settings option.
It also shows stats such as visitors, bandwidth saved, threats blocked, etc. from the Analytics option.
We hope this article helped you to learn how to set up Cloudflare free CDN in WordPress. You may also want to see our complete WordPress website security guide.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
On the 10th anniversary of WPBeginner, I shared that WPBeginner hosting infrastructure got a huge upgrade thanks to our web hosting partner, HostGator.
Shortly after, I started getting emails from readers asking me to share the details on how we made WPBeginner load blazing fast.
Yes, WPBeginner load faster than most static site generators and in some cases faster than Google AMP sites too.
In this article, I will give you behind the scenes look at how we made WordPress faster than static site generators and headless CMS platforms.
Note: This article is a bit more technical than what we typically publish on WPBeginner. For non-techy users, I recommend following our ultimate guide on how to speed up WordPress.
Lately WordPress has been getting a lot of bad rep from “modern” developers where they say WordPress is slow.
The statement is usually followed up with, you should switch to a JAMstack static site generator like GatsbyJS. Others in the enterprise world will say that you should switch to a headless CMS like Contentful.
Several of my very successful entrepreneur friends started asking me whether this was true.
Some even started the process of migrating to a headless CMS because they read case studies of how others unlocked huge speed improvements by switching from WordPress to static site generators.
This was very frustrating for me because I knew they were wasting tens of thousands of dollars in migration costs. Not to mention, the endless customization costs that will rack up in the future.
So I took it as a challenge to prove that a large WordPress content site like WPBeginner can load just as fast if not faster than most modern static site generators.
You can call me old school, but at the end of the day, a static site is just a page loading from cache.
Before I jump to the exact WordPress hosting infrastructure, server configurations, and plugins, I think its helpful to share the results.
Here’s how fast WPBeginner home page loads on Pingdom from their Washington, DC server:
Depending on the time of day and location you check from, this result will vary anywhere from 400ms – 700ms range which is pretty fast for a homepage.
Here’s a test that I ran for a single post page since it has bigger images and more content:
We also got a perfect score of “100” in Google page speed test for desktop. Although we do have some room for improvement on mobile score.
The results above are for cached pages which is what our readers and search engine bots get when they view our website. The perceived load time of WPBeginner is near instant (more on this later).
For the sake of comparison, here’s a speed test result for Gatsby’s homepage. This is a popular static site generator that a lot of developers are raving about:
Here’s the speed test result of Netlify’s homepage, a popular static site host, that a lot of developers recommend. Notice that they have half the amount of requests, and their page size is 30% of WPBeginner, yet it still loads slower than our homepage.
The homepage speed of Contentful, the headless CMS which is “how enterprises deliver better digital experiences” is just not optimized at all. This was the slowest website we tested.
I am sharing these stats not to discredit the other frameworks, but rather to give perspective that not all new things are as shiny as they may seem.
WordPress with a proper hosting infrastructure and optimizations can be just as fast as any static site generator. Furthermore, no other platform will even come close to the level of flexibility that WordPress offers to business owners through its large ecosystem of plugins and themes.
WPBeginner Hosting Infrastructure
When it comes to website speed, nothing plays a more important role than your web hosting infrastructure.
As many of you already know, I have been a HostGator customer since 2007. I started the WPBeginner blog in 2009 on a small HostGator shared hosting account.
As our website grew, we upgraded to their VPS hosting and then dedicated servers.
Over the last decade, I have gotten a chance to work closely with many of their team members, and they have become an extended part of the WPBeginner family.
So when I took on the challenge to make WPBeginner faster than static site generators, I turned to them for help.
I shared my vision with their leadership team, and they offered to help me build one of a kind enterprise hosting setup for WPBeginner.
They put the best engineers from both Bluehost and HostGator team to work closely with me to make WPBeginner blazing fast.
Here’s an overview of what the WPBeginner hosting setup looks like:
As you can see, this is a multi-server setup spread across two geographical regions (Texas and Utah). There are a total of 9 servers not including the load balancer cloud. Each server is a Xeon-D CPU with 8 cores (16 threads) with 32GB RAM and 2 x 1TB SSD (RAID setup).
We are using Google’s Cloud Load Balancing platform, so we can have seamless autoscaling and load balancing, worldwide.
Once the hardware was setup with proper data syncing in place, the Bluehost and HostGator team worked together to optimize the server configurations for WordPress. My hope is that some of these optimizations will soon make it into future WordPress hosting plans
Server Configuration Summary
Summarizing the server configurations of this complex setup in just a few paragraph is very tough, but I will try my best.
We are using Apache for our web server software because the team is more familiar with it. I won’t go into the NGINX vs Apache debate.
We are using PHP 7.2 along with PHP-FPM pools, so we can handle high loads of processes and requests. If your hosting company is not using PHP 7+, then you’re missing out on serious speed optimization.
We’re using Opcode caching with an advanced cache warmer to ensure that no real user should experience an uncached pageview.
We’re also using Object cache with memcache, so we can improve the response time for uncached page hits and other API response times in the WordPress admin area for logged-in users (our writers). Here’s a network load tab of our “All Posts” screen in the WordPress admin:
To put in perspective, our admin area experience is now 2X faster than what we had previously.
For our database server, we switched from MySQL to MariaDB which is a clone of MySQL but faster and better. We also switched from HyperDB to LudicrousDB because it helps us improve our database replication, failover, and load balancing.
There’s also a lot of other configurations that helps us with performance and scalability such as HTTP/2 and HSTS for faster connection + encryption, ability to spin up additional servers in new regions in case of datacenter outage, etc.
I feel like I’m not doing justice to the amazing setup that the team has built, but please know that my core strength is marketing. Yes, I am a blogger who writes about WordPress, but a lot of the technical optimizations here are way above my pay-grade.
They were done by super smart engineers in Endurance team including David Collins (chief architect of Endurance / CTO of HostGator), Mike Hansen (core WordPress developer), and others whom I’ll thank in the credits section below.
CDN, WAF, and DNS
Aside from web hosting, the other areas that play a significant role in your website speed is your DNS provider, your content delivery network (aka CDN), and your web application firewall (WAF).
While I have it listed as three separate things, a lot of companies are now offering these solutions in a bundled plan such as Sucuri, Cloudflare, MaxCDN (StackPath), etc.
Since I want to have maximum control and spread the risk, I am using three separate companies to handle each part efficiently.
WPBeginner DNS is powered by DNS Made Easy (same company as Constellix). They are consistently ranked as the fastest DNS providers in the world. The advantage of DNS Made Easy is that I can do global traffic direction when a specific data center on my CDN or WAF isn’t working properly to ensure maximum uptime.
We’re using Sucuri as our web application firewall. Aside from blocking attacks, they also act as another layer of CDN, and their overall performance is just amazing. I believe they have the best WordPress firewall solution in the market.
When working on website speed optimizations, shaving off every millisecond matters. That’s why using these solution providers combined with our new web hosting infrastructure makes a huge difference.
To illustrate, here’s the waterfall breakdown of WPBeginner.com vs GatsbyJS.org vs CloudFlare.com:
Notice that WPBeginner’s DNS time, SSL time, Connect time, and Wait time are all top notch when compared to these other popular websites. Each of these improvements compound to deliver the best results.
Instant.page, Optimized Images, and Other Best Practices
One of the things you might have noticed is the near instant load time when you browse WPBeginner posts and pages.
Aside from all the things I mentioned above, we’re also cheating latency by using a script called instant.page which uses just-in-time preloading.
Basically before a user clicks on a link, they have to hover their mouse over that link. When a user has hovered for 65ms (very short period of time), one out of two will actually click on the link.
Instant.page script starts preloading that page at this moment, so when the user actually clicks the link a lot of the heavy lifting is already done. This makes the human brain perceives website load time as nearly instant.
To enable Instant.page on your site, you can simply install and activate the Instant Page WordPress plugin.
This script is pretty neat. I highly recommend checking out their website and clicking on the “test your clicking speed” button to see how it cheats the brain.
Update: I have disabled instant.page for now, and I’m going to be testing FlyingPages plugin in the near future. Gijo Varghese shared his new plugin with me in the WPBeginner Engage Facebook group, and it seems to combine the best of instant.page and quicklink script.
Optimizing Images for Web
While there are new image formats being developed such as webp, we’re not using them yet. Instead we ask all of our writers to optimize each image using the TinyPNG tool.
You can also automate the image compression using plugins like Optimole or EWWW Image Optimizer.
However, I personally prefer to have the team do this manually, so we’re not uploading large files on the server.
Currently, we’re not doing any lazy loading for images, but I do plan to add it in the near future now that Google has lazy loading support built-in to Chrome 76.
There’s also a ticket in WordPress core to add this feature on all sites (really hoping that this happens soon), so I don’t have to write a custom plugin.
Update: Few hours after I published the blog post, Google released the Native Lazy Load plugin for WordPress.
Limiting HTTP Queries + Best Practices
For more details, see how WordPress plugins can affect your site load time.
Now before you jump to the wrong conclusion that too many WordPress plugins are bad, I want to let you know that there are 62 active plugins running on the WPBeginner website.
You can also follow the instructions in this article to do it manually which is what our team at WPBeginner has done.
Aside from HTTP requests that plugins and themes add, you also want to be mindful of other third-party scripts that you add on your website because each script will impact your website speed.
For example, if you are running a lot of advertising scripts or retargeting scripts, then they will slow down your site. You may want to use a tool like Google Tag Manager to conditionally load scripts only when they’re needed.
If you’re an ad-supported website like TechCrunch or TheNextWeb, then there’s very little you can do about this since removing ads isn’t an option.
Luckily, WPBeginner doesn’t rely on third-party ad scripts to make money. Want to see how WPBeginner makes money? See my blog post on WPBeginner income.
Lessons Learned (so far) + My Final Thoughts
This is a brand new hosting infrastructure, and I’m sure there are tons of lessons I will be learning overtime.
So far I love the speed improvements because it has helped us boost our SEO rankings, and our admin area is much faster.
With the new multi-server setup, we introduced a new deployment workflow to bring WPBeginner up to par with the rest of Awesome Motive product sites.
What this means is that we now have proper version controlling built-in, and there are measures put in place to stop me from being reckless (i.e adding plugins without proper testing, updating plugins from the dashboard without testing, etc).
These changes also set the path for me to finally step out of development and hand over the reigns of WPBeginner site to our dev team.
I have been resisting this for years, but I think the time is coming, and I just need to accept it.
The new setup does not have cPanel or WHM, so this makes me practically useless anyways since I’m not very fluent with command line anymore.
So far we have learnt two big lessons:
First, updating WordPress isn’t as straight forward due to server sync / replication. When we upgraded my personal blog (SyedBalkhi.com) to WordPress 5.2, the update files didn’t sync properly on one of the web nodes, and debugging took much longer than anticipated. We’re working on building a better build / testing process for this.
Second, we need to have better communication across teams because we had a minor crisis with load balancer misconfigurations which resulted in some downtime. To make it worst, I was on a transatlantic flight on Turkish Airlines, and the WiFi wasn’t working.
Luckily everything got sorted thanks to the quick response time by the hosting team, but this helped us create several new Standard Operating Procedures (SOPs) to better handle the incident in the future.
Overall I’m very happy with the setup, and I know that some of the caching configurations / optimizations that were made for WPBeginner will become a standard part of HostGator Cloud and Bluehost WordPress hosting plans.
I think this should go without saying that if you’re just starting a website, blog, or an online store, then you DO NOT need this sophisticated enterprise setup.
I always recommend that you start small with HostGator shared or Bluehost shared plans like I did, and then upgrade your hosting infrastructure as your business grows.
You can apply a lot of the optimizations that I shared above on your current WordPress hosting plans.
For example, Bluehost standard plan already comes with a built-in caching plugin that you can use, and they offer PHP 7 by default as well.
You can combine that with a CDN + WAF like Sucuri to significantly speed up your website.
Now if you are a mid-market / enterprise company who wants a similar hosting setup, then please reach out to me via our contact form. I can help point you in the right direction.
Special Thanks + Credits
While in the article above, I have given tons of shout out to HostGator and Bluehost brands, I want to take a moment to recognize and appreciate the individual people that worked behind the scenes to make it happen.
First, I want to say thank you to the Endurance leadership team Suhaib, Mitch, John Orlando, Mike Lillie, and Brady Nord for agreeing to help me with the challenge.
I also want to thank Mike Hansen, David Collins, Rick Radinger, Chris Miles, David Ryan, Jesse Cook, David Foster, Micah Wood, William Earnhardt, Robin Mendieta, Rod Johnson, Alfred Najem, and others in the data center team for actually doing the hard work and making it happen.
I want to give a special shout out to Steven Job (founder of DNSMadeEasy) for quickly answering my questions and helping me better understand some settings. Also want to give a shout out to Tony Perez and Daniel Cid at Sucuri for always having my back.
Last but not least, I want to give special recognition to Chris Christoff. He’s the co-founder of MonsterInsights, and he was kind enough to help me with a lot of the testing and deployment.
I really hope that you found this behind the scenes case study about WPBeginner hosting infrastructure to be helpful. You may also want to see our ultimate guide on how to speed up WordPress which is way more beginner friendly.
Bonus: Here are the best WordPress plugins and tools that I recommend for all WordPress sites.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Are you looking for the best WordPress donation plugins?
Collecting online donations is a very effective way to raise funds for a non-profits, charities, relief funds, and special causes.
In this article, we will share the best WordPress donation and fundraising plugins that will help you easily collect one time donations as well as recurring donations using PayPal, Stripe, WooCommerce, other credit card processors, and even cryptocurrency.
How to Choose the Best WordPress Donation Plugin
There are dozens of WordPress donation plugins available in the market. The problem is that not all of them are easy to use, and a lot of them lack customization options.
Accepting donation payments on your WordPress website is an extremely important task.
You need a donation plugin that is reliable, works on mobile as well as desktop computers, supports your preferred payment gateway, sends receipts to donors, allow donors to make recurring donations, and is customizable enough to look good on your website.
On top of all that, you want a WordPress donation plugin that charges the least amount of fees. Ideally it should either be free or fixed yearly payment vs something that charges a percentage fee on all your donations.
We used the above criteria to compare the best WordPress donation plugins for non-profits and charities.
Here’s our editorial pick for the top WordPress donation and fundraising plugins.
GiveWP is one of the best WordPress plugins for non-profits to accept donations and raise funds for your cause.
What makes GiveWP standout and earn the top-ranked spot in our best WordPress donation plugin list is their complete set of features along with their non-profit friendly pricing model.
GiveWP makes it easy to create a custom donation form inside WordPress to easily setup one-time donations as well as recurring donation options.
You can integrate with a wide variety of payment gateways to accept credits card donation payments including Stripe, Authorize.net, PayPal, 2Checkout, Braintree, Mollie, Paytm, PayFast, Square, AmeriCloud, Paymill, and many more.
GiveWP also allows you to fine-tune just about every aspect of your donation process with features like customizable donation tributes like “in honor of”, multi-level donations, campaign level donation goals / incentives, currency switcher options, tax deductible donation receipts, and more.
It comes with a complete donor management area with full-featured reporting, so you can easily manage all your donations (both online and offline donations).
GiveWP integrates with all major email marketing services, so you can easily communicate with your donors about seasonal gift giving campaigns.
If you run an online store with WooCommerce, then GiveWP allows you to add a donation upsell on the checkout screen, and they have seamless Google Analytics integration with enhanced eCommerce tracking.
GiveWP’s offers a free WordPress donation plugin, but you will have to upgrade to their yearly paid plans to unlock all the powerful addons and features. Basic paid plan starts at $240 / year, but you will need the Plus plan ($360 / yr) to get all their add-ons.
WPForms is the most beginner friendly drag & drop form builder for WordPress. It comes with a built-in form template to create an online donation form on your website.
A lot of smaller charities and non-profits don’t need a full-featured giveaway platform. Instead they just want a simple and easy to customize donation form that can accept one-time and recurring donations.
WPForms offer you just that. It integrates with both PayPal and Stripe, so you can securely collect donations via credit card right on your website.
Since WPForms is a more comprehensive form builder, it can also serve multiple purposes for a charity website such as contact form, survey forms, polls, email newsletter signup form, volunteer signup form, etc.
WPForms seamlessly integrates with all major email marketing services and CRM platforms like Constant Contact, SendinBlue, AWeber, MailChimp, and hundred others.
WPForms free plugin is used by over 2 million websites, but you will need their payment addons to accept online donations. They offer a special discounted license for non-profits at only $99 / year which is 75% off their regular price.
This gives you all of their Pro features that lets you build donation forms as well as other types of forms that we mentioned above. You can see the full list of over 150+ form template demos here.
Note: WPForms is a sister company of WPBeginner. The plugin was co-created by WPBeginner’s founder, Syed Balkhi.
3. Easy PayPal Donation
Easy PayPal Donation is a free WordPress donation plugin that lets you add a PayPal donate button on your website.
Your website visitors can click on the button and send donations using their PayPal account or credit card.
This is a very simple donation plugin that comes with 7 button templates, and you also have the option to upload a custom button style to match your design.
The goal of this plugin is to make it easy to connect your PayPal account with WordPress and receive the donations. This plugin also allows visitors to choose recurring monthly donation options.
We have this plugin listed as #3 not because it’s the most feature-rich, but because sometimes you may not need all the features that plugins GiveWP and WPForms offer.
If you don’t want to customize your donation form and want a straight-forward solution that’s completely free for accepting one-time donations, then this plugin can do the job for you.
For setting up recurring donations, you will need their Pro version which costs $59.95 / year at which point you’re better off going with WPForms because you get a lot more value.
4. WP Crowdfunding
WP Crowdfunding is a powerful WordPress fundraising plugin that helps you create a fundraising backer site like GoFundMe or KickStarter.
You can use the crowdfunding campaign style only for your charities or even offer an aggregate fundraising platform for other charities in your network.
It integrates with Stripe, PayPal, Authorize.net, and all WooCommerce gateways if you choose to process your payments with WooCommerce. WP Crowdfunding Native wallet system allows you to track pledges for each campaign and distribute funds accordingly to individual stakeholders.
If you’re looking to create an aggregate crowdfunding site like GoFundMe, then you also have the option to charge a commission fee for helping other charities collect donations.
The base plugin is free, but you will need to upgrade to the paid plan to unlock full features which starts at $149 / year.
Charitable is an easy WordPress donation plugin that allows you to create unlimited fundraising campaigns and set goals for your cause.
You can select a fixed donation amount, add a custom amount, or both. You can embed the donation form on your pages, posts, sidebars, and modal popups.
While the base plugin is free, you do have to upgrade to their Plus plan ($99 / year) to unlock their payment gateways like Stripe, Authorize.net, etc as well as newsletter sign up forms.
If you want recurring donations, crowdfunding, peer to peer fundraising, donor fee relief, and other powerful features, then you will need their Pro plan which costs $249 / year.
6. Seamless Donations
Seamless Donations is a free donations plugin for WordPress. It gives you complete control to collect and manage donations within the WordPress dashboard.
Seamless Donation works with PayPal, so users can make donations using their PayPal account or credit cards.
You can accept one-time donations or recurring donation payments. You can also allow users to select which campaign they want their funds allocated.
Unlike other plugins, Seamless donation sells few addons on an a-la carte basis such as Thank You Enhanced which lets you setup custom thank you pages and Giving Level Manager which lets you attribute custom donation levels.
Donorbox is a powerful donation form plugin that works on both WordPress as well as standalone websites.
It allows you to setup one time donations as well as monthly, annual, and weekly recurring donations. You have the option to do company gift matching and accept company donations.
Donorbox allows you to accept payments from credit cards as well as popular payment platforms like Apple Pay, Google Pay, PayPal Express with One-Touch, and ACH bank payments for US and Europe based donors.
It also comes with many other powerful features like Goal Meter, Donation popup forms, multi-currency support, donor wall, donor profile, complete donor management, end of year tax receipts, and so much more.
The reason why we have Donorbox listed towards the bottom in our list is because their pricing is not friendly to non-profits.
While they let you collect free donations for up to $1,000 per month, you will have to pay a 1.5% platform fee for all other amounts. This platform processing fee is in addition to the payment processing fees that are added by Stripe, PayPal, and other banks.
They do have the option to have your donors cover the fees, but we believe its better to use a platform like GiveWP where more of the donation money goes towards the actual cause.
Donorbox also charges separate monthly fees for various email marketing and CRM integrations.
To be fair, out of other SaaS donation platforms like Crowdrise, Donately, etc, Donorbox is by far the most affordable.
The reason why you may want to use the Donorbox platform is because they take away the technical management headache away from you.
You don’t have to worry about the security of your payment infrastructure because it’s all handled by their team.
8. Formidable Forms
Formidable Forms is the most advanced WordPress forms plugin. It allows you to easily create complex forms with drag and drop builder.
It has tons of form templates including a pre-built template to collect online donations. You can view the donation stats in graphical charts within the WordPress dashboard.
The plugin allows you to export the form data outside WordPress. It also gives you the option to import your donation entries from third-party services. Formidable Forms is fully compatible with the WPML translation plugin to translate the form in any language.
9. Donation Thermometer
Donation Thermometer is a classic WordPress donation plugin. It uses a thermometer style parameter to display the collected funds and your target amount.
It is ideal for sharing your fundraising campaign with your website visitors and motivate them to help out. It is also perfect for organizers to see how close or far away they are from their fundraising target
The thermometer is fully customizable for colors, text, currency, meter size, and more. You can use a shortcode to display the donation thermometer in your posts and pages. All settings are easy and manageable within WordPress.
It’s important to note that this plugin DOES NOT help you accept any donations. You can use it alongside any of the other WordPress donation plugins in this article.
10. PayPal Donations
PayPal Donations is another free WordPress PayPal donation plugin to raise funds for charities and non-profits. You can use their sidebar widget or the shortcode to add the PayPal donation button on your website.
Like other PayPal plugins, it lets you connect WordPress to your PayPal account and accept donations from visitors. Other settings include multiple currencies, localization, multiple button sizes, and more.
11. YITH Donations for WooCommerce
YITH Donations for WooCommerce allows you to add an option to collect donation in your online stores.
You can run seasonable campaigns to support your causes. Each time a user adds a product to cart, they will be prompted with an option to make a small donation.
This concept is utilized by many in the retail world, and YITH Donations for WooCommerce allows you to add this to your eCommerce website.
YITH has a free version of the plugin that’s quite limited. To get all the features like donation form on cart page, customize amounts, donation receipts, etc, you will need the premium version of the plugin which costs $59.99 for a single site.
Note: GiveWP also offers this feature along with a lot more which we believe is a better value.
12. Cryptocurrency Donation Box
If you’re looking to accept donations in cryptocurrency, then look no further. This free WordPress donation plugin allows you to accept donations in top 20 major cryptocurrencies.
You can accept payments in Bitcoin, Ethereum, Bitcoin Cash, Litecoin, Cardano and more.
Which is the Best WordPress Donation Plugin?
The plugins we mentioned in this article can all help you collect donations on your WordPress. However deciding the best WordPress donation plugin for your online fundraising will vary based on your needs.
If you’re looking to create a simple donation form with one-time and recurring donation option along with the ability for users to make payments via PayPal or credit card, then WPForms non-profit plan is the best value because they’re offering 75% off discount.
If you want a WordPress donation plugin that comes with advanced features like complete donor management, tax deductible donation receipts, campaign level goals / incentives, multi-level donations, customizable donation tributes like “in honor or”, full-featured reporting, a wide-variety of payment platform integrations, then nothing in the market beats GiveWP, and that’s why GiveWP is our pick for the #1 best WordPress donation plugin.
We hope this article helped you find the best WordPress donation and fundraising plugins for charities and non-profits. You may also want to check out our expert pick of the best WordPress page builders and must have WordPress plugins for all sites..
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.