Form identity
How SilentShield tells one form from another — and why a form in a shared header or footer can end up counted several times.
Why a form appears more than once
Every form gets a key, and everything you configure — protection, what happens on a verdict — hangs on that key. If a form carries nothing that identifies it, the key has to come from the page it was found on. A form in a shared header or footer then gets a different key on every page: it shows up once per page, and a setting you make covers only one of them.
Name the form yourself
One attribute settles it for good. It is the only identity nothing else can override, because it is the only one you control:
<form data-ss-form="newsletter">
<input type="email" name="email" required>
<button type="submit">Subscribe</button>
</form>Pick a name that describes the form, keep it stable, and use a different one for each distinct form. The name never reaches your visitors. Later changes to the markup, even added fields, no longer change the form's identity.
What is used when there is no marker
Without a marker we take the first stable thing the form offers:
| Recognised by | What that means |
|---|---|
data-ss-form | You named the form. Stable across pages and across redesigns. |
action | The form posts to a specific address, and that address is the same on every page. |
id | An id you wrote yourself. Generated ids — React's ":r1:", or ids with long digit runs — are ignored, because they change on every page load. |
name | The form's name attribute. |
path | Nothing identified the form, so the page it was found on is used. This is the case that counts one form several times. |
A form recognised by its page path is not the same form on the next page, as far as your settings are concerned. If you can add the marker, that is the fix. The forms page marks these, so you can see which ones are affected.
When you cannot change the markup
Plenty of forms come from a theme or a plugin you do not edit. On the forms page you can select the rows that are really one form and merge them: the merged form's settings then apply wherever it appears. Same effect as the marker, recorded on our side instead of in your page.
What happens when a form changes
If a form gains a better identity — you add a marker, or an action attribute appears — it keeps its existing row and everything you configured. It is recognised as the form it already was. Statistics recorded before the change stay with the old identity and are not carried over.
You will find how each form was recognised, and the option to name or merge forms, under API keys → Forms.