HomeAdd a widgetWordPress

Contact form · WordPress

Add a contact form to WordPress

A contact form styled to match your WordPress site, placed with Sorraia’s own plugin as a block or a shortcode, or with one copy-paste into a Custom HTML block, and every client site’s submissions in one dashboard.

Self-hosted WordPress: no plan needed · WordPress.com: a paid plan with hosting features activated

Free plan with no time limit, no card.

See it working

This is a real Sorraia form — our own contact form, loaded by the same embed script you paste. Send it something; it reaches us.

How to add a contact form to WordPress

Start with Sorraia’s own plugin from the WordPress plugin directory. Connect it once with the site’s key under Settings → Sorraia, then either add the Sorraia widget block and pick the form from its list, or paste the form’s shortcode into any editor. The page stores only the block or the shortcode, never a script, so there is nothing for WordPress to strip when someone saves it. No plugin? The Custom HTML block steps below do the same job.

  1. In Sorraia, add the website and verify it — a DNS TXT record, or a meta tag in your homepage’s <head>. Verification is what lets you attach a widget to that site, so it comes before there is anything to paste.

  2. Save the form and the Copy Embed Code popup appears; you can also open the Install wizard from the form’s row on the Forms page, which walks you through pasting it and re-checks the page for you.

  3. Open the page in WordPress (Pages → hover the page → Edit) and put the cursor where the widget should sit.

  4. Click the Block Inserter (the + icon), search for “HTML”, and choose Custom HTML. In an empty paragraph you can also type /html and press Enter.

  5. On WordPress 7.0, click Edit HTML on the block to open its editing modal, paste the Sorraia snippet into the HTML panel, and press Update. On earlier versions, paste it straight into the block. Then click Publish or Update on the page.

  6. Open the live page in a new tab, logged out or in a private window, and check the widget there rather than in the editor.

Where these steps come from:12

Verifying a WordPress site

Add the DNS TXT record if you manage the domain’s DNS. Otherwise the meta tag goes in your homepage’s <head>: a header-and-footer plugin such as WPCode has a Header box for exactly this.3

WordPress.org and WordPress.com are not the same gate

Self-hosted WordPress has no plan gate on any of this. WordPress.com filters script tags out of the Custom HTML block on the free plan, so nothing renders. Any paid plan — Personal, Premium, Business or Commerce — runs the snippet once its hosting features are activated: install a plugin, upload a third-party theme, or (on Business and Commerce) turn on backups. Commerce sites are activated automatically. Activation is one-time, and it moves the site’s default address to *.wpcomstaging.com.4567

Worth knowing for this one

  • On a Multisite network only Super Admins hold the unfiltered_html capability, so even a site’s own Administrator loses a pasted script tag when the page is saved. The Sorraia block and shortcode don’t depend on that capability.81
  • WordPress 7.0 gives the Custom HTML block separate CSS and JavaScript panels beside the HTML one, shown only to users with unfiltered_html. Leave them empty: the whole Sorraia snippet goes in the HTML panel.1

What WordPress already has

WordPress.com’s Form block is on every plan: basic forms come free, and multistep forms and integrations start on Business. Its responses collect under Jetpack → Forms, where you can read, search and export them, and Jetpack brings the same contact form to a self-hosted site, with an email for each response. For a single site, that may be all you need. A Sorraia form is for the agency case — every client site’s submissions in one dashboard, whatever each site runs on, and client logins scoped to one site.91011

What’s included

  • Styled to match: colours from the site’s brand kit
  • Live with one copy-paste
  • One dashboard across client sites
  • Client logins scoped to one site

Free plan with no time limit, no card.

Questions

Do I need Sorraia’s plugin to put a form on WordPress?

No. Anything that lets you add a raw script tag works, and the Custom HTML block is part of WordPress itself. The plugin makes it simpler: pick the form from a list in its block, or paste a shortcode in the form [sorraia type="form" id="…"], and the page never stores a script.

My form vanished after an Author saved the post. Why?

Authors and Contributors don’t have the unfiltered_html capability, so WordPress removes the script tag from a Custom HTML block when they save. Use the Sorraia block or shortcode in their posts: the script is added when the page is displayed and is never stored in the post.

Are the form’s submissions kept in the WordPress database?

No. They go to your Sorraia dashboard, beside every other client site’s submissions, so a theme change, a host move or a plugin clean-up leaves them where they are.

Does the form work with the classic editor?

Yes, through the shortcode: paste it into the classic editor like any other text. The plugin’s Add to selected pages button does the same for you, adding the shortcode to a page whose content is still classic and the block to an empty page or a block page.

Can a client read their form submissions without a WordPress account?

Yes. Give them a Sorraia client login scoped to their site: they read that site’s submissions in Sorraia and see nothing else on your account, and their access to WordPress doesn’t change.

Sources

  1. Custom HTML block · wordpress.org
  2. Adding a new block · wordpress.org
  3. WPCode header and footer · wpcode.com
  4. Custom HTML block (WordPress.com) · wordpress.com
  5. Code on WordPress.com · wordpress.com
  6. Activating a WordPress.com plan · wordpress.com
  7. Plugins on WordPress.com · wordpress.com
  8. Roles and capabilities · wordpress.org
  9. Form block (WordPress.com) · wordpress.com
  10. Business plan (WordPress.com) · wordpress.com
  11. Jetpack (plugin directory) · wordpress.org

Each page read and checked on 20 October 2026.

Add a contact form to WordPress

Build it in Sorraia, put it live on your WordPress site with one copy-paste, and change it later without touching the embed again.