Does your website need a contact form?
Contact pages are a common and, indeed, a seemingly necessary addition to websites; in most cases this will include a contact form as the main method of communication with the site owners. However, when working with static pages such as those created by Publii, the situation becomes a little bit more complicated as it’s impossible to create a dynamic contact form without making use of external services to provide the functionality, which can in turn open up new security risks or failures.
So, it’s worth considering whether your website needs a contact form at all, or if there are alternative methods that will better serve your needs.
The unreliability of email delivery
The first thing we should look at here is the potential issues that a contact form might introduce to our email infrastructure. If we decide to use a form, the form action will largely depend on how it sends and collects form data.
For example, if you send the form data directly to your e-mail address, the potential broken links in the chain might be:
- Our server hosting
- The mail account used for sending mail via the SMTP
- Any service that mediates the sending of transactional emails on our website
Basically, the addition of a form introduces another piece to the grand puzzle that is our infrastructure and creates an additional element that could potentially fail.
Data security and you: collecting data through your site adds to your security obligations
The weak links mentioned above can be mitigated somewhat by having the form collect data directly via the website rather than sending it automatically to your email, as it eliminates the reliance on email service. However, this introduces a secondary issue that carries its own set of complications; due to the GDPR (General Data Protection Regulation) introduced in the EU, any data we collect must be properly protected and stored so that only authorized individuals are able to access it. If our website is hacked, there’s a risk that the stored data from these forms could be leaked, causing harm to both ourselves and our users.
Static pages neatly sidestep this issue, as the data will not be stored directly on the site (as there is no page management panel), but you should still take every precaution to maintain a high level of security regarding access to the service that collects form data.
Forms may be an inconvenience
A fairly common problem that we encounter is that the form interface is inadequate compared to our needs. Yes, it can fit perfectly on the contact page, but if the user wishes to provide a large amount of information to provide clearer details or context, we may find that the input field for the text is too small to accommodate the additional data, or the page’s CSS code makes it impossible to scale the text field for the content it’s meant to contain.
Spammers can take their toll
A contact form on our site may also expose us to a large amount of unwanted correspondence Due to the increasingly advanced tools used by spammers, it is becoming more and more difficult to defend against contact form spam. Additionally, some solutions such as reCAPTCHA or Akismet require information to be collected from the user in order to work; as such, before using them on our site we would need to analyze them in the context of the GDPR to ensure that user data is properly respected and secured. Though we may limit the impact of spam by tricking bots using a honeypot, it is an imperfect and not always effective solution.
An alternative to contact forms
So if we don’t want to use a contact form on our site, what’s the best alternative solution?
The simplest solution is to just put your contact email directly on the site; using a unique email purely for this purpose allows for users to contact you directly, while also limiting the impact of spam. In addition, we can also look at other avenues of communication that users may take advantage of, such as including a Facebook Messenger contact or even a telephone number. This would cover the most important function of our contact page; to make ourselves available to our users and potential users via communication methods they are comfortable with. If possible, it is worth providing 2-3 communication channels, depending on the type of client group that you provide services for. For example, though most people are familiar and comfortable with online communication, there are still large groups that prefer the personal touch of a phone call over writing an email.
What advantages does an email address provide?
By including your contact email on your contact page rather than a contact form, we gain access to several advantages:
- Sending an e-mail is based on the user's e-mail infrastructure e.g. Gmail, and in many cases may be more reliable than, for example, sending e-mails via our hosting server.
- Should there be an issue with email delivery, the user’s email provider will usually inform them of the problem, allowing them to resend their query; a solution that is not provided in the case of contact forms (errors may still be logged when they occur during the sending process, but this applies only to some of the potential issues rather than all).
- If the user’s email client or device splits each contact into its own thread, then writing directly to an email allows them more convenience when tracking correspondence and communication with us.
- Multiple attachments can be easily added if needed. It’s worth remembering that the ability to send files is one of the functions that can generate various security vulnerabilities - e.g. form plugins in WordPress quite regularly receive patches for security bugs related to such functions. When the user sends us an e-mail directly we eliminate this problem entirely, because the file does not end up on our server. Of course, the user can still send us a malicious attachment, but this applies to all e-mail communication, and since the attachment will be sent to our own email rather than stored on our website it will not have an impact on our site functionality, unlike when a malicious file is sent via a contact form.
Do contact forms have any advantages?
Despite highlighting many potential flaws in contact forms in this article, we should not completely depreciate their role in modern web design; there are still plenty of situations where they can be very useful.
For example, if the user is required to provide answers to multiple questions as part of their request, and we want to receive this data in a structured, orderly manner, then a contact form allows us to separate each piece of information distinctly for easy sorting. Forms may also be useful when we have multiple staff, each covering a different area of expertise. In these cases, contact forms can include options to specify the type of query or issue, which can then be used to direct the communication to the correct person in our company. Without a contact form with such clear options, it’s likely that most users will simply send emails to random addresses on our site, making it more difficult to sort and delaying the response to the user.
How can we implement contact forms on a static page?
For more complex forms, Google Forms, offers extensive customization options and relies on an iframe element to embed the form on our site.
For Netlify users, it may be worth investigating Netlify Forms as a potential solution.
Formspree is an interesting service that allows us to create a form and then send it to the appropriate address. Formspree also has a number of integrations with external services, through which we can immediately start additional actions after the form is sent, e.g. in MailerLite or Trello, to provide accurate tracking of the query.
This is by no means an extensive list, and it pays to check out as many services as possible to find one that suits your requirements the best; we recommend that as well as the above, you should also examine both FormKeep or Basin, which offer their own take on contact form creation and management.
Make email user-friendly
It’s a given that most people have encountered links that start with "mailto:" - such links automatically open an email program. Interestingly, in addition to the destination address, we can also include additional fields in such a link e.g. BCC, CC fields, subject, or email content.
Generating these more complex links is easy with the online tools available at places such as: Mailtolink.me or HTML Stripe.
In many cases, this will be a sufficient alternative to a simple contact form.
So what kind of contact solution should you choose?
In our opinion, the decision to use the contact form comes down to answering a single question; is it possible to send the same content easily by email? That is if your contact form consists of several basic fields such as: name and surname, e-mail, subject, message content - it will be much easier and more convenient for everyone to just enter a contact email address on the website, instead of creating a contact form.
However, should you need more complex, detailed answers and information from the user, then you should consider using a contact form on your website instead.