Tożsamość formularzy
Jak SilentShield odróżnia jeden formularz od drugiego — i dlaczego formularz we wspólnym nagłówku lub stopce może zostać policzony wielokrotnie.
Dlaczego formularz pojawia się wielokrotnie
Każdy formularz otrzymuje klucz, a wszystko, co konfigurujesz — ochrona, co dzieje się przy danej ocenie — zależy od tego klucza. Jeśli formularz nie ma niczego, po czym można go rozpoznać, klucz musi pochodzić ze strony, na której go znaleziono. Formularz we wspólnym nagłówku lub stopce dostaje wtedy inny klucz na każdej stronie: pojawia się raz na stronę, a ustawienie obejmuje tylko jeden z nich.
Nazwij formularz samodzielnie
Jeden atrybut rozwiązuje to na stałe. To jedyna tożsamość, której nic innego nie nadpisze, bo jako jedyna zależy od Ciebie:
<form data-ss-form="newsletter">
<input type="email" name="email" required>
<button type="submit">Subscribe</button>
</form>Wybierz nazwę opisującą formularz, nie zmieniaj jej i użyj innej dla każdego odrębnego formularza. Nazwa nigdy nie dociera do odwiedzających. Późniejsze zmiany w kodzie, także dodane pola, nie zmieniają już tożsamości.
Co jest używane bez znacznika
Bez znacznika bierzemy pierwszą stabilną rzecz, jaką oferuje formularz:
| Rozpoznano po | Co to znaczy |
|---|---|
data-ss-form | Nazwałeś formularz. Stabilne między stronami i przy przebudowach. |
action | Formularz wysyła pod konkretny adres, a ten jest taki sam na każdej stronie. |
id | Identyfikator, który sam napisałeś. Generowane id — „:r1:” Reacta lub te z długimi ciągami cyfr — są ignorowane, bo zmieniają się przy każdym wczytaniu strony. |
name | Atrybut name formularza. |
path | Nic nie zidentyfikowało formularza, więc używana jest strona, na której go znaleziono. To ten przypadek liczy jeden formularz wielokrotnie. |
Formularz rozpoznany po ścieżce strony nie jest — z punktu widzenia Twoich ustawień — tym samym formularzem na następnej stronie. Jeśli możesz dodać znacznik, to jest rozwiązanie. Strona formularzy oznacza takie przypadki, więc widzisz, których to dotyczy.
Gdy nie możesz zmienić kodu
Wiele formularzy pochodzi z motywu lub wtyczki, których nie edytujesz. Na stronie formularzy możesz zaznaczyć wiersze, które w rzeczywistości są jednym formularzem, i je połączyć: ustawienia połączonego formularza obowiązują wtedy wszędzie, gdzie się pojawia. Ten sam efekt co znacznik, tylko zapisany u nas zamiast w Twojej stronie.
Co się dzieje, gdy formularz się zmienia
Jeśli formularz zyska lepszą tożsamość — dodasz znacznik albo pojawi się atrybut action — zachowuje istniejący wiersz i wszystko, co skonfigurowałeś. Jest rozpoznawany jako ten sam formularz co wcześniej. Statystyki sprzed zmiany zostają przy starej tożsamości i nie są przenoszone.
Sposób rozpoznania każdego formularza oraz możliwość nazywania i łączenia formularzy znajdziesz w Klucze API → Formularze.