Contact Form 7 plugin slows down page speed for your entire website. Not just your contact page.

blue opt

Save the Internet from WordPress speed abuse.

Updated: September 2017

8 minute read

Many WordPress site owners cause damage when adding a popular contact-form plugin. Contact forms can hurt your load time. Not just on your contact page where the form appears – but on every single page of your site.

We love free stuff. Contact Form 7 is absolutely free. But we want the best free stuff money can’t buy. So we test a lot of free plugins. Before adding the popular Contact Form 7, our special test page had the following specifications:

BEFORE
Page size: 29.6k, requests: 5, load time: 543ms.

After installing and activating Contact Form 7, here’s what happened:

AFTER
Page size: 78.3k, requests: 10, load time: 768ms.

Wait! The page size more than doubled. The number of requests doubled. And speed slowed down by 40 percent. What happened?

OK. We admit this is a worst-case scenario. We’re using a test theme, Sobe, that doesn’t enqueue jQuery. For extreme speed, we often build WordPress sites without jQuery. PagePipe.com used to use Frank theme which doesn’t enqueue jQuery either.

But when you install Contact Form 7, it needs jQuery. That file combined with the needed Javascript and CSS to make the form work adds the 5 extra HTTP requests. Here’s the list of Gzip file sizes added:

  • contact-form-7/styles.css 944B
  • wp-includes/js/jquery/ 33.4k
  • wp-includes/js/jquery/ 4.3 k
  • jquery.form.min.js/contact-form-7/jquery.form-min.js 6.1k
  • plugins/contact-form-7/scripts.js 3.7k

That’s 48.4k total weight added site-wide to every single webpage. Even if we don’t have a form shortcode on any page or widget.

WordPress Form Mystery: Why does the silly form load everywhere – instead of only on the page with the shortcode like it should?

Contact Form 7 isn’t the only form plugin that loads its Javascript and CSS files on every page. This is not uncommon for most slider plugins, too. We call this global loading – or site drag. It’s a bad way to do things for speed. While it’s common, it’s not a universal practice. We’ve found sliders and forms that only load code on pages containing their shortcodes. How can you tell? Only by testing. There is nothing in the plugin documentation telling if this will happen. It’s a negative thing – so why would they publish it? Honesty perhaps?

You’d think those plugins that have better behavior would advertise speed benefits – but they don’t. Not yet anyway.

PagePipe: Further explanation of site drag >

Do you suppose 200 millisecond per page global-site waste is insignificant? Do you care about page speed for mobile users? They know if you do. Page speed is web hospitality. Do you serve pages slowly? Then your site may be apathetic and rude.

If you get a lot of form Spam then additionally you must protect Contact Form 7 with an anti-spam plugin. Usually another popular plugin – read more about Akismet and other plugin alternatives.

contact-form-7-icon

Contact Form 7 is the second most popular WordPress plugin of all time. It has hundreds of extensions or addons made by third-parties to enhance it’s features. Over 42,546,968 downloads. And presently, has 1+ million installs. Mid-2006 is when Takayuki Miyoshi (Japan) uploaded Contact Form 7 to the plugin repository. That makes it 10 years old – and still ticking.

So what can you do to speed things up? There are three things:

  1. Use a free plugin called Plugin Logic and activate your contact form only on your contact page. Just slow down that single page instead of all pages – especially protect your Home page speed. We use Plugin Logic all of the time now for speed improvements. We’ve an article written about this plugin: Selective activation of plugins for improved speed. >
  2. Use an alternative free plugin (see list below). Preferably a fast form that has Spam-protection built in (2-for-1 deal).
  3.  Don’t use a form. Use an email text link instead. Screaming-fast sites do just that simple solution. Especially for mobile users.

Below is a table of 60 free WordPress contact-form plugins with links.

Yes. Contact Form 7 is on the list. Contact Form 7 isn’t bad. We don’t hate it. But better alternatives exist for your site now. New contact form plugins appear and losers disappear on a regular basis. Our list is the “state of the moment.” Tomorrow it’ll be obsolete already because the 55,000+ plugin repository is growing between 20 to 25  percent per annum. Gads! How can we keep up with the changes?

Ranked plugins are in descending download package size (expressed in megabytes). Compressed package size is indicative of an author’s concern for optimization. That affects page speed. That’s our concern.

This ranking by package size is our crude rule of thumb used to cull plugins. It beats randomly loading and testing 60 separate plugins one at a time for hours. We start with the best speed candidates. Then work our way down the list until we find the first fast plugin that satisfies our needs. Is that safe? No. You still have to check what user forums say about a plugin’s reputation. And check with security vulnerability reporting plugins.

Small packages usually yield the fastest plugins. That doesn’t mean they’re any good. They still need torture testing.

Form builders usually are the plugin packages with the most bloat.

Plugin retention is the number of active installs divided by the number of all-time downloads. We call this the “satisfaction factor.” This number gives us an idea of how many plugins are actually kept and used after testing or temporary use. Small numbers show “fallout.” The higher the retention number the better it’s market acceptance and longevity. This is a more important benchmark than popularity or active installs.

Before you look at the table below, let’s talk about the TOP10 speed candidates – and winner. We installed and tested each of them with WordPress. It was boring work – but better we do it than you. Right? Besides we have an insatiable curiosity. We disqualified several immediately.

Group One: Instant fails.

We eliminated Powr Form Builder because it’s cloud-based (slow). And additionally charges for usage above 100 form emails per month. We don’t like that stuff.

We also axed SimpleModal Contact Form simply because it had a “clear” button. Including this button in a form is bad usability. It’s explained in the book, “Don’t Make Me Think.” Read it for free PDF download. Accidentally clearing a filled form with the wrong button is the ultimate user frustration. So clear buttons are page suicide.

Group Two: ReCAPTCHA slow downs.

reCAPTCHA establishes that a computer user is human. But you knew that.

recaptcha

  1. NM Contact Form plugin was the worst – adding 552 milliseconds. This is because of requesting Google’s free, cloud-based reCAPTCHA, a Spam-prevention utility.
  2. AntiRobot was the second-heaviest load time after installation. Adding 354 milliseconds to the baseline page speed for the same reason – reCAPTCHA loading killed it.

Group Three: Forms that enqueue jQuery.

jQuery is an oft-used Javascript library and usually adds between 30k and 70k extra page weight. Some WordPress sites already enqueue jQuery with sliders, top-of-page buttons, or other animation. Then, it’s no big deal to add these contact forms. But for extreme speed, we frequently use themes that don’t use jQuery.

Read more about jQuery and Speed >

These not-so-bad jQuery form plugins included:

  1. Just Ajax Contact Form with Captcha (204ms added).
  2. Quick Contact Form (229ms added).

Group Four: One fast form is a widget for footers and sidebars.

  1. CB Contact Form only adds 22 milliseconds. But isn’t a conventional form for contact pages. Still a winner in our book.

Group Five: The three fastest contact form plugins.

  1. Very Simple Contact Form (No added page weight! Only 1 extra HTTP request.)
  2. Simple Basic Contact Form (45 milliseconds added).
  3. SEOS Contact Form (143 milliseconds added).

These three are first-place tied. Especially since testing can fluctuate by those close numbers on our deliberately-chosen, shoddy host (GoDaddy). So we’ll use how the forms look to choose the best. Below: Three installations on a gray background page.

SEOS Contact Form
SEOS Contact Form Bonus! We could customize the button with our own words, “SIGNUP” easily in the plugin control panel. Stacking labels on top of fields is not  good usability. It also occupies more vertical space. Includes Captcha-addition question.

 

Simple Basic Contact Form
Simple Basic Contact Form – Nice! ‘Send Email” label on button. That works. Nice placement of labels by the left side. That’s the best usability from user testing. Includes Captcha-addition question for antispam.

 

Very Simple Contact Form
Very Simple Contact Form – Oh, oh! They used the word “submit” on the SEND button. Submit is what slaves do. That’s coder-jargon. “Enter number” for antispam instead of addition confuses some users. We know this from our user testing.

Our recommendation for general use on extreme speed sites: Simple Basic Contact Form. But it’s a matter of what works for you and your audience, so test.

Here’s the list of 58 Contact Form plugins:

plugin name Meg installs downloads retention
AntiRobot Contact Form 0.005 300 1,361 22.04%
POWr Form Builder cloud 0.01 1,000 11,636 8.59%
Very Simple Contact Form 0.014 10,000 108,838 9.19%
Just Contact Form 0.018 400 2,214 18.07%
Seos Contact Form 0.02 1,000 3,758 26.61%
CB Contact Form 0.024 300 1,727 17.37%
NM Contact Forms 0.042 2,000 19,612 10.20%
SimpleModal Contact Form 0.06 4,000 149,963 2.67%
Jazzy Forms 0.065 3,000 37,709 7.96%
Simple Basic Contact Form 0.088 9,000 52,374 17.18%
Slick Contact Forms 0.104 10,000 249,803 4.00%
MN Contact Form 0.11 1,000 15,696 6.37%
Quick Contact Form 0.145 10,000 83,180 12.02%
Simple Contact Forms 0.145 100 1,441 6.94%
DD Contact Form 0.17 700 6,872 10.19%
HTML Contact Form 0.189 1,000 5,176 19.32%
Contact Form With Captcha 0.195 9,000 78,096 11.52%
PirateForms 0.199 100,000 631,213 15.84%
Contact Form Email 0.332 40,000 507,682 7.88%
FormBuilder 0.332 10,000 219,113 4.56%
Contact Form Clean and Simple 0.342 50,000 355,254 14.07%
Contact Form 0.349 20,000 57,572 34.74%
Calculated Fields Form 0.359 20,000 362,809 5.51%
PROPER Contact Form 0.4 4,000 31,179 12.83%
123ContactForm for WordPress 0.408 4,000 38,032 10.52%
Contact Form 7 0.467 1,000,000 42,546,968 2.35%
Contact Form With Shortcode 0.51 700 8,240 8.50%
Visual Form Builder 0.551 100,000 854,831 11.70%
Contact Form Pro 0.552 1,000 10,850 9.22%
Ultimate Form Builder Lite 0.65 40,000 233,100 17.16%
Responsive Contact Form 0.67 4,000 55,774 7.17%
Nino contact form 0.703 700 2,516 27.82%
Forms 0.724 20,000 102,122 19.58%
Contact Form Builder by vCita 0.85 10,000 282,210 3.54%
Contact Form by Supsystic 0.872 10,000 34,072 29.35%
WPForms Lite 0.951 30,000 134,414 22.32%
Perfect Easy & Powerful Contact Form 1.2 7,000 79,227 8.84%
First Contact Form 1.2 70 1,800 3.89%
Formidable Forms 1.3 300,000 1,478,785 20.29%
Form Plugin 1.3 10,000 487,178 2.05%
Contact Bank 1.5 30,000 1,629,504 1.84%
FormGet Contact Form 1.6 30,000 456,524 6.57%
BigContact Contact Page 1.7 7,000 105,623 6.63%
WCP Contact Form 1.8 10,000 81,774 12.23%
Fast Secure Contact Form 1.9 400,000 6,545,459 6.11%
Contact Forms by Cimatti 1.9 5,000 40,137 12.46%
Smart Forms 1.9 10,000 158,031 6.33%
Contact Form Generator 2 9,000 63,132 14.26%
Creative Contact Form 2 3,000 55,866 5.37%
Custom Contact Forms 2.1 60,000 1,186,420 5.06%
Form Generator 2.1 1,000 12,938 7.73%
WR ContactForm 2.3 5,000 39,359 12.70%
Form Builder 2.6 80,000 706,898 11.32%
NEX-Forms – Ultimate Form builder 3.4 8,000 48,251 16.58%
Contact Form by BestWebSoft 3.5 200,000 3,823,211 5.23%
Contact Form 3.5 70,000 530,041 13.21%
Form 3.7 80,000 1,293,902 6.18%
Ninja Forms 5.5 700,000 3,563,703 19.64%
Cool Contact 6.6 50 1,797 2.78%

Godspeed—

Steve Teare
performance engineer

Mobile WordPress Speed – without coding!

What others think of us:


"I have been searching for years to find the most accurate information available on WordPress speed optimization but I was never able to get my site fast enough. I was extremely fortunate to stumble upon PagePipe which seemed to have a lot of information that no one was talking about, but it made so much sense." drhedberg.com North Carolina, USA

by - Dr. Nikolas Hedberg