{"id":64378,"date":"2025-02-17T07:00:00","date_gmt":"2025-02-17T15:00:00","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=64378"},"modified":"2026-08-11T08:36:54","modified_gmt":"2026-08-11T15:36:54","slug":"contact-form-in-wordpress","status":"publish","type":"post","link":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/","title":{"rendered":"How To Set Up a Contact Form in WordPress Without Using Code?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Most business owners juggle countless tasks every day. Emails, phone calls, social media messages, and more. It\u2019s easy to lose track of who asked what.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A WordPress contact form helps by routing inquiries into one place. Instead of scattered messages showing up from unknown email addresses, visitors simply fill out a short form, and you receive the details by email or in a dashboard, depending on the form tool and plan you choose.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this step-by-step guide, we\u2019ll see how to add a no-code contact form to your WordPress site and how to optimize it for the best results.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-add-a-contact-form-in-wordpress\" class=\"wp-block-heading\">How do you add a contact form in WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>To add a contact form in WordPress, install a form plugin like WPForms, create a form from a template, and embed it in any page or post with the plugin\u2019s block or shortcode.<\/strong> No code required. Prefer to skip a dedicated form plugin? The Jetpack Form block or a hand-coded form works, too \u2014 we cover all three routes below.<\/p>\n\n\n\n<h2 id=\"h-why-use-wordpress-contact-forms\" class=\"wp-block-heading\">Why use WordPress contact forms?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A contact form keeps inquiries organized in one place, cuts spam compared with a public email link, and captures the details you need upfront. It also shapes how visitors see your brand.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When people want to reach you, a form sends a message that you value communication. An open email link can add unnecessary obstacles to reaching your team and even lead to spam.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A form is a single channel that keeps requests organized and often filters out junk with CAPTCHA or anti-spam plugins like <a target=\"_blank\" href=\"https:\/\/automattic.pxf.io\/daXbzW\" rel=\"noopener\">Akismet<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, contact forms capture the required details upfront. For instance, a real estate agent might want prospective clients to share their budget range, home requirements, or preferred areas. Or an online shop might need an order number so they can quickly check the shipment status.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A contact form captures these details quickly, saving time, reducing guesswork, and making your business look more polished.<\/p>\n\n\n\n<h2 id=\"h-best-tools-to-create-a-contact-form-no-code-plugins\" class=\"wp-block-heading\">Best tools to create a contact form (no-code plugins)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most WordPress users rely on <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/wordpress-plugins-good-or-bad\/\" rel=\"noopener\">plugins<\/a> to avoid writing code. You\u2019ll find many form builders, each with a slightly different approach. (Not sold on adding a form plugin? Skip ahead to the Jetpack Form block or the code-it-yourself route below.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WPForms, Contact Form 7, and Ninja Forms are three options worth comparing. They\u2019re known for user-friendly options and the ability to add a form to any page or post.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/shareasale.com\/r.cfm?b=834775&amp;u=4337179&amp;m=64312&amp;urllink=&amp;afftrack=DHblog\" rel=\"noopener\"><strong>WPForms<\/strong><\/a> stands out for its visual drag-and-drop builder and quick setup. It includes built-in templates like a standard contact form, a feedback form, or a newsletter signup. The free Lite version has no usage limits (unlimited forms and submissions), but dashboard entry storage, conditional logic, file uploads, multi-page forms, and most integrations are Pro features, per WPForms\u2019 own Lite vs. Pro comparison (July 2026). For beginners, WPForms is our first pick for its straightforward builder, as long as you don\u2019t need those Pro-only features.<\/li>\n\n\n\n<li><strong>Contact Form 7<\/strong> is completely free, with no paid tier, and runs on 10+ million active installations per WordPress.org (August 2026). The trade-offs: it looks dated by default and takes some styling effort, spam protection means pairing it with a separate integration like Akismet or reCAPTCHA, and it doesn\u2019t save submissions to your database out of the box, so those notification emails are your only copy.<\/li>\n\n\n\n<li><strong>Ninja Forms<\/strong> is another drag-and-drop choice. Its free core includes unlimited forms and submissions, email notifications, and CSV export; premium features like conditional logic, file uploads, multi-step forms, and payments are sold as 40+ separate add-ons (per Ninja Forms on WordPress.org, 2026).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Picking a plugin usually depends on your experience and needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you only want a simple contact form, the free tier of any of these will do the job. The paid walls only show up when you need extras like stored entries, file uploads, or conditional logic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you plan to add payment gateways, registration forms, or advanced features, check each plugin\u2019s add-on library before you decide.<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h-step-by-step-setting-up-a-wordpress-contact-form\" class=\"wp-block-heading\">How to add a contact form in WordPress (step by step)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plenty of new WordPress users worry they need <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/best-online-resources-learn-to-code\/\" rel=\"noopener\">coding skills<\/a>. That\u2019s not the case with a well-built form plugin. (And yes, you can skip form plugins entirely; we cover the Jetpack Form block and the hand-coded route after the walkthrough.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s a closer look at each phase, using WPForms as an example.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-install-and-activate-the-plugin\">Step 1: Install and activate the plugin<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Go to your WordPress dashboard, which should be &lt;yourdomain.com&gt;\/wp-admin \u2014 unless you\u2019ve changed it to <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/change-wordpress-login-url\/\" rel=\"noopener\">strengthen security<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click <strong>Plugins<\/strong> on the left &gt; <strong>Add New Plugin<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1097\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin.webp\" alt=\"WordPress plugins dashboard showing five installed plugins including WP-Optimize\" class=\"wp-image-64380 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-300x206.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-1024x702.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-768x527.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-1536x1053.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-600x411.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-1200x823.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-730x501.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-1460x1001.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-784x538.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-1568x1075.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/01_add_new_plugin-877x601.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1097;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Type \u201c<a target=\"_blank\" href=\"https:\/\/shareasale.com\/r.cfm?b=834775&amp;u=4337179&amp;m=64312&amp;urllink=&amp;afftrack=DHblog\" rel=\"noopener\">WPForms<\/a>\u201d in the search bar and hit <strong>Install Now<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"694\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin.webp\" alt=\"WordPress plugin search results showing WPForms with 6+ million installs\" class=\"wp-image-64381 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-300x130.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-1024x444.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-768x333.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-1536x666.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-600x260.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-1200x521.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-730x317.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-1460x633.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-784x340.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-1568x680.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/02_activate_plugin-877x380.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/694;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When WordPress is done installing, click <strong>Activate<\/strong>. WPForms will now appear in your dashboard menu!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Create your first form<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Click the WPForms menu link and then select <strong>Add New<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"915\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form.webp\" alt=\"WPForms dashboard showing two existing forms - Newsletter Signup and Contact Form\" class=\"wp-image-64382 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-300x172.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-1024x586.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-768x439.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-1536x878.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-600x343.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-1200x686.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-730x417.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-1460x835.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-784x448.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-1568x897.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/03_add_new_form-877x502.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/915;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The plugin shows you a few templates, like a simple contact form or a newsletter signup. You can also have WPForms generate a form with AI: describe the fields you want in plain English and refine from there (included in the free version, per WPForms\u2019 Lite vs. Pro comparison, July 2026).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"929\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates.webp\" alt=\"WPForms template selection screen showing blank form, contact form\" class=\"wp-image-64383 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-300x174.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-1024x595.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-768x446.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-1536x892.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-600x348.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-1200x697.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-730x424.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-1460x848.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-784x455.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-1568x910.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/04_form_templates-877x509.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/929;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pick the basic contact form to start. You\u2019ll see fields such as \u201cName,\u201d \u201cEmail,\u201d and a big text box for the message.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"797\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option.webp\" alt=\"WPForms editor interface showing standard form field options and a simple contact form with name\" class=\"wp-image-64384 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-300x149.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-1024x510.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-768x383.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-1536x765.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-600x299.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-1200x598.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-730x364.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-1460x727.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-784x391.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-1568x781.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/05_contact_form_dropdown_option-877x437.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/797;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you need extra fields (maybe a dropdown to let users pick a topic), you can drag and drop them from the left panel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Configure the form settings<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Select <strong>Settings<\/strong> within the form builder. You\u2019ll see choices for \u201cNotifications\u201d and \u201cConfirmations.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click <strong>Notifications<\/strong> to set the email address where messages should go.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1109\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings.webp\" alt=\"WPForms notification settings panel showing email configuration options with sender details\" class=\"wp-image-64385 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-300x208.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-1024x710.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-768x532.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-1536x1065.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-600x416.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-1200x832.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-730x506.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-1460x1012.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-784x543.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-1568x1087.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/06_notifications_settings-877x608.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1109;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you want a certain subject line, add that too. You can use something like \u201cNew Inquiry from WordPress Form\u201d so you know when a new inquiry drops in your inbox from this contact form.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then check <strong>Confirmations<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"891\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message.webp\" alt=\"WPForms confirmation settings panel showing message type configuration\" class=\"wp-image-64386 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-300x167.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-1024x570.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-768x428.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-1536x855.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-600x334.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-1200x668.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-730x407.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-1460x813.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-784x437.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-1568x873.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/07_set_confirmation_message-877x488.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/891;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s the message visitors see after they submit. You could say, \u201cThank you for contacting us. We\u2019ll reply soon!\u201d or customize the message according to your brand voice.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Embed the form on a page or post<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Go to the WordPress editor for any page or post.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"831\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block.webp\" alt=\"WordPress block editor showing WPForms block insertion with form selector dropdown menu\" class=\"wp-image-64387 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-300x156.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-1024x532.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-768x399.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-1536x798.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-600x312.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-1200x623.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-730x379.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-1460x758.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-784x407.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-1568x814.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/08_wordpress_form_block-877x455.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/831;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re using the block editor, you\u2019ll see a WPForms block. Insert it, then pick your form from a list.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s another method: copy the shortcode from WPForms and paste it into the editor.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"644\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode.webp\" alt=\"WPForms dashboard listing three forms with their shortcodes and creation dates\" class=\"wp-image-64388 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-300x121.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-1024x412.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-768x309.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-1536x618.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-600x242.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-1200x483.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-730x294.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-1460x588.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-784x316.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-1568x631.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/09_wordpress_form_shortcode-877x353.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/644;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It looks like <strong>[wpforms id=&#8221;1234&#8243;]<\/strong>. Save or publish your changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voil\u00e0, your form is live!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Test the form<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A quick test avoids headaches later. Open the live page and fill out the form with a test name, email, and a short message. Click <strong>Submit<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The page should show the confirmation you set up. Then check your email to see if the notification arrived.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you don\u2019t see it, look in your spam folder or verify that your email address is correct in the plugin settings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes hosting providers or email clients filter out automated messages. If that\u2019s an issue, you can add a plugin like WP Mail SMTP to <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/email-authentication\/\" rel=\"noopener\">improve email deliverability<\/a>. We break down why this happens, and the full fix, in the deliverability section below.<\/p>\n\n\n\n<h2 id=\"h-add-a-contact-form-with-the-jetpack-form-block\" class=\"wp-block-heading\">Add a contact form with the built-in Form block (Jetpack)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You don\u2019t need a dedicated form plugin to add a contact form in the block editor. With the free <a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/jetpack\/\" rel=\"noopener\">Jetpack plugin<\/a> installed, self-hosted WordPress sites get a Form block: open your page or post, click the + block inserter, search for \u201cform,\u201d and insert it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pick a template (contact, RSVP, registration, appointment, or feedback form), or describe the form you want and let AI draft it. Each field is a regular block, and you can adjust the style, colors, fonts, and field widths right in the editor. Responses arrive at the email address you choose and collect in a Forms dashboard under Jetpack \u2192 Forms, where you can search, filter, and export them. One honest caveat: Akismet-powered spam filtering for form responses is one of Jetpack\u2019s paid security features (per Jetpack\u2019s WordPress.org listing, 2026).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Choose this route if you already run Jetpack or want everything native to the block editor. Choose a form plugin instead when you need more, like conditional logic, payment gateways, or a deep add-on library.<\/p>\n\n\n\n<h2 id=\"h-how-to-create-a-contact-form-without-a-plugin\" class=\"wp-block-heading\">How to create a contact form without a plugin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Can you skip plugins entirely? Yes, if you\u2019re comfortable writing code. A hand-built contact form means creating the HTML form markup, then writing a PHP handler that processes each submission and sends the message with WordPress\u2019s wp_mail() function.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The form itself is the easy part. The handler is where the real work lives: you need to sanitize and validate every field \u2014 WordPress provides functions like <a target=\"_blank\" href=\"https:\/\/developer.wordpress.org\/apis\/security\/sanitizing\/\" rel=\"noopener\">sanitize_text_field() and sanitize_email()<\/a> for exactly this \u2014 plus a nonce to block forged submissions, and your own spam protection, since there\u2019s no plugin filtering junk for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Who should do this? Developers who want zero plugin overhead and full control. Everyone else will get the same result faster, and more safely, from a form plugin or the Jetpack Form block.<\/p>\n\n\n\n<h2 id=\"h-why-your-contact-form-emails-dont-arrive\" class=\"wp-block-heading\">Why your contact form emails don\u2019t arrive (and how to fix it)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The most common contact form failure isn\u2019t the form at all: a visitor submits successfully, and the notification email never reaches your inbox.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s why. By default, WordPress sends every email, including form notifications, through PHP\u2019s mail function via wp_mail(), and many hosting servers aren\u2019t properly configured for it. Those messages also often lack the authentication that providers like Gmail check for, so they land in spam or disappear entirely (per WP Mail SMTP\u2019s documentation on WordPress.org, 2026).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The fix is to stop relying on default PHP mail:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Install an SMTP plugin.<\/strong> <a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-mail-smtp\/\" rel=\"noopener\">WP Mail SMTP<\/a>, used by 4+ million websites per WordPress.org, reconfigures wp_mail() to send through a proper SMTP provider or its direct API.<\/li>\n\n\n\n<li><strong>Authenticate your domain.<\/strong> Set up SPF, DKIM, and DMARC records so providers can verify your messages. Our <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/email-authentication\/\" rel=\"noopener\">email authentication guide<\/a> walks through each one.<\/li>\n\n\n\n<li><strong>Send from your own domain.<\/strong> Use a from-address that matches your site\u2019s domain rather than a free mailbox, so your messages line up with those authentication records.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once SMTP and authentication are in place, resend your test submission and confirm the notification lands in your inbox.<\/p>\n\n\n\n<h2 id=\"h2_contact-us-templates-that-work\" class=\"wp-block-heading\">Contact Us templates that work<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/the-perfect-contact-us-page\/\" rel=\"noopener\">perfect Contact Us page<\/a> gives visitors the sense that you\u2019re approachable. It doesn\u2019t need to be fancy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s a Contact Us page from Swab the World. See how it reminds the visitor to share a note and says they\u2019ll be reading it all?<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1140\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example.webp\" alt=\"Clean contact page with &quot;Drop Us A Line&quot; in large purple text\" class=\"wp-image-64389 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-300x214.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-1024x730.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-768x547.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-1536x1094.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-600x428.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-1200x855.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-730x520.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-1460x1040.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-784x559.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-1568x1117.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/10_contact_form_example-877x625.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1140;\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/www.dreamhost.com\/blog\/the-perfect-contact-us-page\/\" target=\"_blank\" rel=\"noreferrer noopener\">Source<\/a><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s pretty much all you need. A line or two to help the reader know there\u2019s someone who will read their message.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are a few ideas you can adapt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Friendly:<\/strong> \u201cWe\u2019re here to help. Send us your questions, and we\u2019ll get back to you as soon as we can.\u201d<\/li>\n\n\n\n<li><strong>Business-like:<\/strong> \u201cHave questions about our services? Please fill out the form below, and we\u2019ll respond promptly.\u201d<\/li>\n\n\n\n<li><strong>Warm and personal:<\/strong> \u201cDrop us a line if you need anything at all. We love hearing from you and will do our best to assist.\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If you have a dedicated support team, you can even mention their usual response time to set expectations.<\/p>\n\n\n\n<h2 id=\"h2_pro-tips-to-optimize-your-contact-form\" class=\"wp-block-heading\">Pro tips to optimize your contact form<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Adding a form is the first step. Optimizing it can increase the number of useful leads and reduce spam or confusion. Here are a few suggestions to consider:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"900\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist.webp\" alt=\"Checklist for optimizing contact forms with 5 key points: mobile-friendly design, spam blocking\" class=\"wp-image-64390 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-300x169.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-1024x576.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-768x432.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-1536x864.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-600x338.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-1200x675.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-730x411.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-1460x821.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-784x441.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-1568x882.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/11_contact_form_optimization_checklist-877x493.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/900;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Focus on mobile users<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Plenty of people browse on their phones these days. The form should look neat on smaller screens.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WPForms and other modern builders create forms that automatically adjust, but you can still preview them on a phone or tablet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure the text is large enough, and the buttons are easy to tap.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filter spam with CAPTCHA and Akismet<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Spam submissions are annoying. CAPTCHAs test whether a visitor is a real person, while tools like Akismet check submissions against a spam database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Combine <em>both<\/em> if you notice a spike in unwanted submissions. This approach frees your inbox of nonsense.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Keep only what you need<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Overly complicated forms scare people away. If you only need a name and email address, stick to those fields. If you must have a phone number or shipping address, add them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Just remember that the more fields you include, the <em>less<\/em> likely people are to fill them out.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Offer a clear confirmation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When visitors click \u201cSubmit,\u201d they want a sign that the message went through. That can be as simple as \u201cThanks for contacting us!\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You could also use the confirmation page to direct them to common questions or a link to your blog for more reading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let that be a smooth transition rather than a dead end.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Track form submissions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Form submissions might be a key part of your marketing or customer support workflow. Tracking them can show how well your site is doing. <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/ga4-reports\/\" rel=\"noopener\">Google Analytics<\/a> or a specialized plugin can log each submission, giving you a way to measure conversion rates. It\u2019s also worth knowing where the submissions themselves live, because it varies by tool: Ninja Forms stores unlimited entries in your dashboard for free (searchable and exportable to CSV), the Jetpack Form block collects responses under Jetpack \u2192 Forms, Contact Form 7 doesn\u2019t save submissions to the database by default, and in WPForms, dashboard entry storage is a Pro feature.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you learn that only a few people submit the form per month, you might test changes to the form fields, your calls-to-action, or your page design.<\/p>\n\n\n\n<h2 id=\"h-wordpress-contact-form-faqs\" class=\"wp-block-heading\">WordPress contact form FAQs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-how-do-i-add-a-contact-form-to-a-wordpress-page\">How do I add a contact form to a WordPress page?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Install a form plugin like WPForms, build a form from a template, then open the page in the editor and insert the plugin\u2019s block (or paste its shortcode). Publish, and the form is live.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-can-i-add-a-contact-form-to-a-post-or-sidebar\">Can I add a contact form to a post or a sidebar?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Contact forms embed anywhere blocks or shortcodes work: blog posts, pages, and theme widget areas like sidebars and footers. If a widget area doesn\u2019t support blocks, paste the form\u2019s shortcode instead.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-where-do-wordpress-contact-form-submissions-go\">Where do WordPress contact form submissions go?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To the notification email address you set in the form\u2019s settings. Depending on the tool, entries may also be stored in your WordPress dashboard: free in Ninja Forms and the Jetpack Form block, a paid (Pro) feature in WPForms.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-can-i-add-a-contact-form-in-wordpress-without-a-plugin\">Can I add a contact form in WordPress without a plugin?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, if you can code: build the HTML form, then write a PHP handler that sanitizes, validates, and sends via wp_mail(), with nonce and spam protection. For most site owners, a form plugin or the Jetpack Form block is the practical route.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-why-is-my-wordpress-contact-form-not-sending-emails\">Why is my WordPress contact form not sending emails?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Usually because WordPress\u2019s default PHP mail is unconfigured or unauthenticated on your host, so notifications get junked or dropped. Install an SMTP plugin like WP Mail SMTP and set up SPF, DKIM, and DMARC on your domain.<\/p>\n\n\n\n<h2 id=\"h2_ready-to-get-visitors-to-reach-you\" class=\"wp-block-heading\">Ready to get visitors to reach you?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Each time you make your site easier to use, you improve your connection with visitors. A WordPress contact form is an easy win because it creates a clear path for questions, leads, or support requests.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can install a simple plugin, create fields that fit your business, and post it on your site without editing code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Prefer not to manage all of this yourself?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019d rather hand off more WordPress maintenance, <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/wordpress\/managed\/\" rel=\"noopener\">DreamPress<\/a>, DreamHost\u2019s managed WordPress hosting, includes security optimization, daily offsite backups, and failover protection. Compare the plans to see whether that support is worth the added cost for your site.<\/p>\n\n\n\n\n<div class=\"article-cta-shared article-cta-small article-cta--product\">\n\t<div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/03\/product-cta-wordpress-hosting-877x586.webp 1x, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2024\/03\/product-cta-wordpress-hosting.webp 2x\"  alt=\"website management by DreamHost\" \/><\/div>\n\n\t<a href='https:\/\/www.dreamhost.com\/wordpress\/managed\/' class='link-top' target='_blank' rel='noopener noreferrer'>\n\t\t<span>WordPress Hosting<\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\" width=\"15\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\n\t<div class=\"content-btm\">\n\t\t<h2 class=\"h2--md\">\n\t\t\tUnbeatable WordPress Hosting\n\t\t<\/h2>\n\t\t<p class=\"p--md\">\n\t\t\tReliable, lightning-fast hosting solutions specifically optimized for WordPress.\n\t\t<\/p>\n\n\t\t        <a\n            href=\"https:\/\/www.dreamhost.com\/wordpress\/managed\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            See More                    <\/a>\n\n\t<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Help customers reach you by adding a contact form to your WordPress site. Our guide has 5 easy steps with no coding required.<\/p>\n","protected":false},"author":1077,"featured_media":64379,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"WordPress Contact Form: How to Add One - DreamHost","_yoast_wpseo_opengraph-description":"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.","_yoast_wpseo_twitter-title":"WordPress Contact Form: How to Add One - DreamHost","_yoast_wpseo_twitter-description":"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.","toc_headlines":"[[\"h-how-do-you-add-a-contact-form-in-wordpress\",\"How do you add a contact form in WordPress?\"],[\"h-why-use-wordpress-contact-forms\",\"Why use WordPress contact forms?\"],[\"h-best-tools-to-create-a-contact-form-no-code-plugins\",\"Best tools to create a contact form (no-code plugins)\"],[\"h-step-by-step-setting-up-a-wordpress-contact-form\",\"How to add a contact form in WordPress (step by step)\"],[\"h-add-a-contact-form-with-the-jetpack-form-block\",\"Add a contact form with the built-in Form block (Jetpack)\"],[\"h-how-to-create-a-contact-form-without-a-plugin\",\"How to create a contact form without a plugin\"],[\"h-why-your-contact-form-emails-dont-arrive\",\"Why your contact form emails don\u2019t arrive (and how to fix it)\"],[\"h2_contact-us-templates-that-work\",\"Contact Us templates that work\"],[\"h2_pro-tips-to-optimize-your-contact-form\",\"Pro tips to optimize your contact form\"],[\"h-wordpress-contact-form-faqs\",\"WordPress contact form FAQs\"],[\"h2_ready-to-get-visitors-to-reach-you\",\"Ready to get visitors to reach you?\"]]","hide_toc":false,"show_updated_at":"1","footnotes":""},"categories":[550,696],"tags":[],"class_list":["post-64378","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","category-wordpress"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WordPress Contact Form: How to Add One - DreamHost<\/title>\n<meta name=\"description\" content=\"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WordPress Contact Form: How to Add One - DreamHost\" \/>\n<meta property=\"og:description\" content=\"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-17T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-11T15:36:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/1220x628_ogimage_decoding_wordpress_how_to_set_up_a_contact_form_in_wordpress_without_using_code.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Jos Velasco\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"WordPress Contact Form: How to Add One - DreamHost\" \/>\n<meta name=\"twitter:description\" content=\"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jos Velasco\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WordPress Contact Form: How to Add One - DreamHost","description":"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/","og_locale":"en_US","og_type":"article","og_title":"WordPress Contact Form: How to Add One - DreamHost","og_description":"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.","og_url":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2025-02-17T15:00:00+00:00","article_modified_time":"2026-08-11T15:36:54+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/1220x628_ogimage_decoding_wordpress_how_to_set_up_a_contact_form_in_wordpress_without_using_code.webp","type":"image\/webp"}],"author":"Jos Velasco","twitter_card":"summary_large_image","twitter_title":"WordPress Contact Form: How to Add One - DreamHost","twitter_description":"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Jos Velasco","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/#article","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/"},"author":{"name":"Jos Velasco","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/a1740f361d8662c2c7fb6e0c4a9bcab5"},"headline":"How To Set Up a Contact Form in WordPress Without Using Code?","datePublished":"2025-02-17T15:00:00+00:00","dateModified":"2026-08-11T15:36:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/"},"wordCount":2626,"publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/1460x1095_blog_hero_decoding_wordpress_how_to_set_up_a_contact_form_in_wordpress_without_using_code.webp","articleSection":["Tutorials","WordPress"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/","url":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/","name":"WordPress Contact Form: How to Add One - DreamHost","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/1460x1095_blog_hero_decoding_wordpress_how_to_set_up_a_contact_form_in_wordpress_without_using_code.webp","datePublished":"2025-02-17T15:00:00+00:00","dateModified":"2026-08-11T15:36:54+00:00","description":"WordPress contact form setup: install a plugin, build it, and embed it on any page or post \u2014 no coding required.","breadcrumb":{"@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/#primaryimage","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/1460x1095_blog_hero_decoding_wordpress_how_to_set_up_a_contact_form_in_wordpress_without_using_code.webp","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/02\/1460x1095_blog_hero_decoding_wordpress_how_to_set_up_a_contact_form_in_wordpress_without_using_code.webp","width":1460,"height":1095,"caption":"How To Set Up a Contact Form in WordPress Without Using Code?"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dreamhost.com\/blog\/contact-form-in-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dreamhost.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How To Set Up a Contact Form in WordPress Without Using Code?"}]},{"@type":"WebSite","@id":"https:\/\/www.dreamhost.com\/blog\/#website","url":"https:\/\/www.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/a1740f361d8662c2c7fb6e0c4a9bcab5","name":"Jos Velasco","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2023\/08\/jos-velasco-150x150.png","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2023\/08\/jos-velasco-150x150.png","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2023\/08\/jos-velasco-150x150.png","caption":"Jos Velasco"},"description":"Jos Velasco is a WordPress Professional Consultant at DreamHost. His responsibilities include helping with advanced WordPress cases, creating training material, and identifying trends impacting the WordPress community. In his free time, he enjoys climbing mountains, eating healthy, and watching drama movies. Follow Jos on LinkedIn: https:\/\/www.linkedin.com\/in\/josvelasco\/","url":"https:\/\/www.dreamhost.com\/blog\/author\/josvelasco\/"}]}},"lang":"en","translations":{"en":64378,"es":64458,"it":68600,"fr":70790,"nl":70821,"ru":72121,"uk":72212,"pt":72236,"pl":72257,"de":72780},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/64378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1077"}],"version-history":[{"count":1,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/64378\/revisions"}],"predecessor-version":[{"id":86903,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/64378\/revisions\/86903"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/64379"}],"wp:attachment":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=64378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=64378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=64378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}