Shifter logo

Add Forms to Shifter Static WordPress Sites with Basin

In this guide, we'll show you how to add a working contact form to your static WordPress site on Shifter using Basin.

Basin is a no-code form backend that's perfect for static WordPress sites hosted on Shifter.

Shifter is a serverless hosting platform that converts your WordPress site into static HTML. This makes your site faster and more secure, but it also means dynamic features like contact forms stop working — since there's no PHP server processing form submissions.

Basin solves this by giving you a form endpoint that accepts POST submissions over HTTPS. Your static HTML form sends data to Basin, and Basin handles the rest — email notifications, spam filtering, integrations, and more.

Requirements

You'll need a Basin account, which you can create for free here, and a WordPress site deployed on Shifter. You should be able to edit pages or templates in the WordPress admin before generating your static site.

Step 1 — Create a form endpoint in Basin

After logging in to your Basin account, create a new form endpoint from the Forms index page. Fill out the fields and click "Create Form".

After your new form endpoint is created, it will appear in your My Forms list. Select it to view the Submissions page.

Copy the form endpoint URL — you'll use it in the next step.

Step 2 — Add a contact form in WordPress

In your WordPress admin on Shifter, create or edit the page where you want your contact form. Switch to the Code editor (or use a Custom HTML block in the Gutenberg editor) and add the following:

<form action="https://usebasin.com/f/<YOUR_FORM_ID>" method="POST">
<p>
<label for="name">Name</label><br>
<input type="text" name="name" id="name" required
style="width: 100%; padding: 8px;" />
</p>
<p>
<label for="email">Email</label><br>
<input type="email" name="email" id="email" required
style="width: 100%; padding: 8px;" />
</p>
<p>
<label for="message">Message</label><br>
<textarea name="message" id="message" rows="5"
style="width: 100%; padding: 8px;"></textarea>
</p>
<button type="submit">Send</button>
</form>

Replace <YOUR_FORM_ID> with the form endpoint ID you copied from Basin.

The key difference from a normal WordPress form: the action attribute points to Basin's server instead of your WordPress site. This means the form works even after Shifter generates your static HTML — submissions go directly to Basin over HTTPS.

Step 3 — Generate and test

After saving your page in WordPress, generate your static site in Shifter. Once deployed, visit the contact page on your live site, fill out the form, and submit. You should see Basin's default success page, and the submission will appear in your Basin inbox.

From there you can configure email notifications, connect integrations, set up spam filtering, and more.

Conclusion

In this guide, you learned how to add a Basin-powered contact form to your static WordPress site on Shifter. Since Shifter generates static HTML, dynamic form handlers like PHP mail don't work — but Basin fills that gap by providing a reliable, external form endpoint.

To learn how Basin works with other frameworks and platforms, check out our other step-by-step installation guides.

Happy form building!

Have questions or need help with something specific? Read the docs or get in touch.