How to Build a Contact Form on Your Site

A contact form is one of the most important elements of any business site. On the WordPress CMS platform, setting up a form is very simple. It allows visitors to contact you without leaving the site, reduces spam compared to displaying an email address, and gives a professional impression. In this guide we'll compare the three most popular WordPress plugins for contact forms and show you how to set up a form step by step.
Why do you need a contact form?
Many site owners simply put their email address on the site and expect people to contact them. This is bad practice for several reasons. First, spam bots scrape sites and harvest email addresses. See our site security tips for more advice - if your address is visible on the site, expect tons of spam. Second, a contact form lets you collect structured information - instead of a free-form email, you can ask for name, phone, inquiry topic, and message in separate fields.
A contact form also improves user experience because the visitor doesn't have to open an email client. With business email we form a complete solution because the visitor doesn't have to open an email client - everything happens directly on your site. And from an analytics standpoint, you can track how many people use the form and convert that data into business insights. SEO optimization helps you attract more visitors who will use the form.
WPForms - the best for beginners
WPForms is the most popular contact form plugin with over 6 million active installations. Its main advantage is the drag-and-drop builder that enables creating forms without any coding.
The free version (WPForms Lite) offers: simple contact form, email notifications, basic spam protection, and responsive design. For most small sites, the free version is perfectly sufficient.
The Pro version adds: advanced fields (file upload, payment, date picker), conditional logic (show/hide fields based on answers), integrations with Mailchimp, Stripe, PayPal, and multi-page forms.
How to set up WPForms: Install the plugin from the WordPress repository, go to WPForms > Add New, choose the "Simple Contact Form" template, customize fields as desired, configure email notifications, and embed the form on the page using the WPForms block in the editor.
Contact Form 7 - free and flexible
Contact Form 7 is the oldest and most-used free contact form plugin with over 5 million active installations. Unlike WPForms, CF7 uses a text-based interface for configuring forms, which makes it more flexible but less intuitive for beginners.
CF7 advantages: Completely free with no premium version, extremely lightweight (doesn't slow the site), supports AJAX submit, flexible template system, and a huge ecosystem of additional plugins (Flamingo for storing messages in the database, CF7 Conditional Fields for conditional logic).
CF7 disadvantages: No visual drag-and-drop builder, beginners may have trouble with configuration, and it doesn't store messages in the database without an additional plugin.
How to set up CF7: Install the plugin, go to Contact > Contact Forms, edit the existing template or create a new one, configure the Mail tab for email settings, and embed the form using the shortcode the plugin generates.
Gravity Forms - for advanced users
Gravity Forms is a premium plugin (from $59/year) that offers the most advanced capabilities. It's ideal for companies that need complex forms, workflows, and integrations.
Key capabilities: Drag-and-drop builder, conditional logic, calculations in forms, approval workflows, integrations with over 30 services (CRM, payment gateway, email marketing), and an advanced notification system with routing.
Gravity Forms is overkill for an ordinary contact form, but it's indispensable if you need application forms, price calculation formulas, or complex multi-step workflows.
Comparison table
Price: WPForms Lite - free, CF7 - free, Gravity Forms - from $59/year
Ease of use: WPForms - excellent, CF7 - medium, Gravity Forms - good
Drag-and-drop: WPForms - yes, CF7 - no, Gravity Forms - yes
Spam protection: All three support reCAPTCHA and honeypot methods
Our recommendation: For most users, WPForms Lite is the best choice. It's free, simple, and entirely sufficient for a standard contact form.
Spam protection for contact forms
Spam is the biggest problem with contact forms. Without adequate protection, you can expect dozens of spam messages per day. Here are the most effective protection methods:
Google reCAPTCHA v3 - Runs in the background with no user interaction. It analyzes visitor behavior and assigns a score (0-1). If the score is low, the form is blocked. All three plugins support reCAPTCHA v3.
Honeypot method - Adds an invisible field to the form that only bots fill in. If the field is filled, the message is rejected. This method is free and doesn't require an external service.
Cloudflare Turnstile - A free alternative to Google reCAPTCHA that is less invasive for users. An increasingly popular option that doesn't collect user data.
Akismet - WordPress's built-in anti-spam service that analyzes message content and blocks known spam. Free for personal sites, paid for commercial.
GDPR compliance for contact forms
If your site is visited by users from the EU, you must take care about GDPR compliance for your contact form. Here's what's needed:
Consent checkbox - Add a required checkbox with text like "I consent to my data being used only to respond to this inquiry." It must not be pre-checked.
Link to privacy policy - Next to the checkbox there should be a link to your privacy policy page where you explain in detail how you use the collected data.
Data deletion - You must have the ability to delete user data on their request. If you use a plugin that stores messages in the database, enable deletion of individual entries.
SSL certificate - The form must be on an HTTPS page so data is encrypted in transit. BeoHosting offers a free SSL certificate with all hosting plans.
Conclusion
A contact form is an essential element of any professional site. For quick and simple setup, we recommend WPForms Lite - it's free, intuitive, and covers most sites' needs. Don't forget to add spam protection and GDPR consent, and your contact form will be ready for business.
BeoHosting Team
10+ years of experience — Web hosting and infrastructure specialists
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Last updated: