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

8 minute read
PagePipe specializes in mobile WordPress speed strategy for web businesses using free plugins and themes.

Save the Internet from WordPress speed abuse.

Updated: June 2017

Our “Contact Form 7 Alternative” eBook is 1,610 words.
Signup below to download the PDF for free.

Enter your email address to download Faster Alternatives to Contact Form 7 – PDF.

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 nameMeginstallsdownloadsretention
AntiRobot Contact Form0.0053001,36122.04%
POWr Form Builder cloud0.011,00011,6368.59%
Very Simple Contact Form0.01410,000108,8389.19%
Just Contact Form0.0184002,21418.07%
Seos Contact Form0.021,0003,75826.61%
CB Contact Form0.0243001,72717.37%
NM Contact Forms0.0422,00019,61210.20%
SimpleModal Contact Form0.064,000149,9632.67%
Jazzy Forms0.0653,00037,7097.96%
Simple Basic Contact Form0.0889,00052,37417.18%
Slick Contact Forms0.10410,000249,8034.00%
MN Contact Form0.111,00015,6966.37%
Quick Contact Form0.14510,00083,18012.02%
Simple Contact Forms0.1451001,4416.94%
DD Contact Form0.177006,87210.19%
HTML Contact Form0.1891,0005,17619.32%
Contact Form With Captcha0.1959,00078,09611.52%
PirateForms0.199100,000631,21315.84%
Contact Form Email0.33240,000507,6827.88%
FormBuilder0.33210,000219,1134.56%
Contact Form Clean and Simple0.34250,000355,25414.07%
Contact Form0.34920,00057,57234.74%
Calculated Fields Form0.35920,000362,8095.51%
PROPER Contact Form0.44,00031,17912.83%
123ContactForm for WordPress0.4084,00038,03210.52%
Contact Form 70.4671,000,00042,546,9682.35%
Contact Form With Shortcode0.517008,2408.50%
Visual Form Builder0.551100,000854,83111.70%
Contact Form Pro0.5521,00010,8509.22%
Ultimate Form Builder Lite0.6540,000233,10017.16%
Responsive Contact Form0.674,00055,7747.17%
Nino contact form0.7037002,51627.82%
Forms0.72420,000102,12219.58%
Contact Form Builder by vCita0.8510,000282,2103.54%
Contact Form by Supsystic0.87210,00034,07229.35%
WPForms Lite0.95130,000134,41422.32%
Perfect Easy & Powerful Contact Form1.27,00079,2278.84%
First Contact Form1.2701,8003.89%
Formidable Forms1.3300,0001,478,78520.29%
Form Plugin1.310,000487,1782.05%
Contact Bank1.530,0001,629,5041.84%
FormGet Contact Form1.630,000456,5246.57%
BigContact Contact Page1.77,000105,6236.63%
WCP Contact Form1.810,00081,77412.23%
Fast Secure Contact Form1.9400,0006,545,4596.11%
Contact Forms by Cimatti1.95,00040,13712.46%
Smart Forms1.910,000158,0316.33%
Contact Form Generator29,00063,13214.26%
Creative Contact Form23,00055,8665.37%
Custom Contact Forms2.160,0001,186,4205.06%
Form Generator2.11,00012,9387.73%
WR ContactForm2.35,00039,35912.70%
Form Builder2.680,000706,89811.32%
NEX-Forms – Ultimate Form builder3.48,00048,25116.58%
Contact Form by BestWebSoft3.5200,0003,823,2115.23%
Contact Form3.570,000530,04113.21%
Form3.780,0001,293,9026.18%
Ninja Forms5.5700,0003,563,70319.64%
Cool Contact6.6501,7972.78%

Godspeed—

Steve Teare
performance engineer

Serious Mobile WordPress Speed Strategy for Business

What others think of us:


"I'm so thankful to you, Steve for helping me throughout. That page loads very fast." quvor.com Mumbai, Maharashtra, India

by - Faizan Shaikh