فرم تماس، اغلبْ کم‌جذاب‌ترین بخشِ سایت است و در عین حال، یکی از پرتماس‌ترین بخش‌های پشتیبانی. تجربه‌ام این است که بیشتر سایت‌ها یک فرم‌ساز نصب می‌کنند، تنظیماتش را به‌سرعت رد می‌کنند، و بعد از چند ماه کشف می‌کنند که فرم‌ها «کار می‌کردند ولی ایمیل‌ها نمی‌رسیدند». این مقاله، انتخاب فرم‌ساز را از زاویهٔ عملی بررسی می‌کند: چه چیز مهم است، هر گزینه کجا می‌درخشد، و مهم‌تر از همه، بعد از نصب چه‌کار کنیم. اگر با مفاهیم پایه آشنا نیستید، افزونه وردپرس چیست و وردپرس چیست را یک بار مرور کنید.

معیار انتخاب فرم‌ساز

هفت معیار در انتخاب فرم‌ساز مؤثرند: یک — رابطِ ساخت فرم (کشیدن‌ورهاکردن یا شورت‌کد نویسی؟). دو — انواع فیلد (تاریخ، انتخاب چندگانه، فایل، شرطی). سه — قابلیت فرم چند‌مرحله‌ای. چهار — اتصال به ابزارهای بیرونی (ایمیل‌مارکتینگ، CRM، وبهوک). پنج — ضداسپمِ داخلی. ست — قابلیت ذخیرهٔ فرم‌ها در دیتابیس. هفت — وزن و اثر روی سرعت سایت. برای اکثر سایت‌ها، سه معیارِ آخر تعیین‌کننده‌اند و اکثراً نادیده گرفته می‌شوند. اثر کلی افزونه‌ها روی سرعت را در افزونه‌ها و سرعت سایت با عدد سنجیده‌ام.

فرم تماس، نه یک صفحهٔ تزئینی است و نه یک افزونهٔ جانبی؛ گذرگاه اصلی تماس با شماست. اگر این گذرگاه لنگ بزند، بازاریابی و طراحی هم نجاتش نمی‌دهند.

Contact Form 7

قدیمی‌ترین و پرمصرف‌ترین فرم‌ساز وردپرس. رایگان، سبک، و مبتنی بر شورت‌کد و تگ‌های ساده. مزیت بزرگش: حجم کم و کنترل زیاد روی مارکاپ. نقطهٔ ضعفش: رابط گرافیکیِ کشیدن‌ورهاکردن ندارد و برای کاربران غیرفنی، ساخت فرم‌های پیچیده کمی دشوار است. در تجربه، انتخاب اول من برای سایت‌های سبک و سایت‌هایی است که صاحبش با شورت‌کد راحت است. برای فرم‌های پیچیده (چند‌مرحله‌ای، محاسبه‌گر قیمت) باید افزونهٔ الحاقی داشته باشید یا سراغ فرم‌ساز دیگری بروید. تست ارسال واقعی، مهم‌ترین بخشِ بعد از نصب CF7 است — در بخش تحویل ایمیل همین مقاله می‌آید.

WPForms

محبوب‌ترین فرم‌سازِ کشیدن‌ورهاکردنی. نسخهٔ رایگانش برای فرم تماس ساده کافی است، ولی برای قابلیت‌های پیشرفته (چند‌مرحله‌ای، پرداخت، امضا، نظرسنجی)، نسخهٔ پولی لازم است. مزیتش: رابط کاربری بسیار intuitive و سازگاری عالی با گوتنبرگ. نقطهٔ ضعف: برای استفادهٔ جدی، هزینهٔ سالانه. برای سایت‌های خدماتی و شرکتی، انتخاب اول من است وقتی که کاربرِ غیرفنی قرار است فرم‌ها را مدیریت کند. نکتهٔ فنی: WPForms حجم نسبتاً مناسبی دارد و روی هاست اشتراکی معمولی، اثر محسوسی روی سرعت ندارد — به شرطی که صفحاتِ بدون فرم هم آن را لود نکنید (این تنظیم در برخی افزونه‌ها وجود دارد).

Gravity Forms

قدرتمندترین فرم‌ساز وردپرس، با بزرگ‌ترین اکوسیستم افزونه‌های الحاقی. مناسب پروژه‌های پیچیده: فرم‌های چند‌مرحله‌ایِ طولانی، محاسبه‌گر قیمت، اتصال به CRM، فرم‌های عضویت. پولیِ تمام‌عیار، ولی برای سایت‌هایی که فرم‌ها قلب کارشان هستند، ارزان است. نقطهٔ ضعفش برای بعضی پروژه‌ها: وزن بیشتر و حجم کد بیشتر؛ روی سایت‌های سبکِ سئومحور، ممکن است انتخاب اول نباشد. توصیه: Gravity Forms را روی پروژه‌هایی بخرید که حداقل سه فرم پیچیده در آن‌ها وجود دارد یا خواهد داشت؛ برای یک فرم تماسِ ساده، زیاده‌روی است.

Ninja Forms و Forminator

دو گزینهٔ میانی. Ninja Forms با رابط کشیدن‌ورهاکردن و نسخهٔ رایگانِ قابل‌قبول. Forminator (از تیم WPMU DEV) با رویکرد «سوئیتِ کامل» — فرم، نظرسنجی، آزمون، پرداخت، همه در یک افزونه. برای سایت‌هایی که نیاز به انواع مختلف فرم‌ها دارند و از نصب چند افزونهٔ جدا پرهیز می‌کنند، Forminator انتخاب هوشمندانه‌ای است. نقطهٔ ضعف هر دو: اکوسیستم افزونه‌های الحاقی محدودتر از Gravity Forms. برای فروشگاه‌های کوچک و سایت‌های خدماتی، معمولاً کافی است. در انتخاب، یک نکته را جدی بگیرید: به‌جای «همه‌کاره»، گزینه‌ای را انتخاب کنید که برای هدفِ خاصِ شما بهترین است — همان منطقِ شناسایی افزونه‌های اضافی.

فرم‌های بلاکی گوتنبرگ

در وردپرس مدرن، بعضی فرم‌سازها به شکل بلوک بومی در ویرایشگر ادغام شده‌اند. برای سایت‌های سبک که می‌خواهند حداقل افزونهٔ اضافه را داشته باشند، این گزینه‌ها جذابند. هنوز به بلوغ Gravity Forms نرسیده‌اند، ولی برای فرم تماس ساده، کافی و سبک‌اند. چشم‌انداز کلی این رویکرد را در گوتنبرگ و آیندهٔ ویرایش محتوا نوشته‌ام. اگر سایت شما از ابتدا بلوک-محور ساخته شده، این دسته را جدی بگیرید.

تحویل ایمیل، نقطهٔ شکست

مهم‌ترین بخشی که اکثر کاربران نادیده می‌گیرند: تحویل مطمئن ایمیل فرم‌ها. تابع پیش‌فرض wp_mail() در وردپرس، از تابع بومی PHP استفاده می‌کند که در اکثر هاست‌های اشتراکی، ایمیل‌ها را به اسپم یا به هیچ‌جا نمی‌فرستد. راه‌حل درست: استفاده از SMTP. یک افزونهٔ SMTP (مانند WP Mail SMTP یا همتایش) به‌علاوهٔ یک سرویس ایمیل تراکنشی (Mailgun، SendGrid، Postmark یا حتی جیمیل با App Password برای سایت‌های کوچک) را تنظیم کنید. سه آزمون انجام دهید: یک — ارسال به همان ایمیلِ خودتان. دو — ارسال به یک ایمیل با دامنهٔ متفاوت (مثلاً جیمیل). سه — بررسی پوشهٔ اسپم. اگر ایمیل در پوشهٔ اسپم رفت، رکوردهای SPF، DKIM و DMARC دامنه را تنظیم کنید. این سه، لایهٔ زیرینِ تحویل ایمیل هستند، نه لایهٔ بالایی. تفصیل در رفع خطای ارسال ایمیل در وردپرس.

ضداسپم و کپچا

فرمِ بدونِ ضداسپم، هفتهٔ دوم غرقِ پیامِ خودکار می‌شود. گزینه‌ها به ترتیب اولویت من: یک — تلهٔ پنهان (honeypot)، چون تجربهٔ کاربر را نمی‌شکند. دو — Cloudflare Turnstile، که سخت‌افزاری‌تر است و کپچای سنتی را تا حد زیادی حذف می‌کند. سه — reCAPTCHA v3، که نامرئی است ولی در بعضی سایت‌های ایرانی ممکن است از گوگل مسدود شود. چهار — کپچای سادهٔ تصویری، به‌عنوان آخرین راه. تجربهٔ من: در ۸۰٪ سایت‌ها، honeypot به‌علاوهٔ محدودسازی تعداد ارسال از یک IP، کافی است. انتخاب کپچا در کپچا چیست و چگونه کار می‌کند و ابزارهای مدیریت اسپم در افزونه‌های ضداسپم مرور شده‌اند.

امنیت و اعتبارسنجی

فرم، یکی از نقاط ورودی سایت است. سه نکتهٔ امنیتی را رعایت کنید: یک — اعتبارسنجی سمت سرور، نه فقط سمت مرورگر. دو — استفاده از nonce در فرم‌ها برای جلوگیری از CSRF. سه — پاک‌سازی ورودی‌ها پیش از ذخیره در دیتابیس. اگر فرم شما فایل آپلود می‌کند، محدودیت‌های نوع فایل را جدی بگیرید و اجازهٔ آپلود PHP و اجرایی ندهید. موارد کلی امنیتی در امنیت وردپرس برای مبتدیان و لایه‌های افزونه‌ای در افزونه‌های امنیتی وردپرس آمده است.

جمع‌بندی

انتخاب فرم‌ساز در سه جمله: برای فرم ساده و سایت سبک، Contact Form 7 یا فرم بلاکی؛ برای کاربر غیرفنی و فرم‌های متوسط، WPForms؛ برای فرم‌های پیچیده و چند‌مرحله‌ای، Gravity Forms. در همهٔ حالات، تحویل ایمیل را با SMTP تنظیم کنید و تست ارسال واقعی انجام دهید. اگر امروز فقط یک کار می‌کنید: یک بار خودتان فرم سایت‌تان را پر کنید و ببینید ایمیل به کدام پوشه می‌رود — تجربه‌ای که در آن لحظه به دست می‌آورید، ارزش ده‌ها مقاله را دارد. 🧾