Contact Form 7 یکی از افزونههای پرکاربرد وردپرس برای ساخت فرم تماس، فرم درخواست مشاوره، فرم ثبت سفارش و سایر فرمهای ارتباطی است. این افزونه امکانات مناسبی در اختیار مدیر سایت قرار میدهد، اما اگر بدون توجه به نحوه بارگذاری فایلها و ساختار فرم استفاده شود، میتواند منابعی مانند CSS و JavaScript را در صفحاتی که اصلاً فرم ندارند نیز بارگذاری کند.
به همین دلیل، بهینه سازی فرم تماس 7 فقط به تغییر ظاهر فرم محدود نمیشود. هدف اصلی این کار این است که فرم همچنان تمام قابلیتهای موردنیاز خود را حفظ کند، اما منابع غیرضروری تا حد امکان از صفحات نامرتبط حذف شوند.
در حالت پیشفرض، Contact Form 7 فایلهای JavaScript و CSS خود را در فرانتاند سایت بارگذاری میکند و خود مستندات رسمی افزونه نیز روشهایی برای کنترل این رفتار ارائه کرده است.
برای مثال، فرض کنید یک رستوران فقط در صفحه «رزرو میز» فرم دارد. منطقی نیست منابع مربوط به فرم رزرو در مقالهای درباره تاریخچه غذاهای سنتی نیز بارگذاری شوند. در یک سایت بزرگ، همین منابع اضافی در تعداد زیادی صفحه میتوانند به حجم درخواستهای HTTP و منابع موردنیاز مرورگر اضافه کنند.

مهمترین بخشهای بهینه سازی فرم تماس 7
برای بهینهسازی اصولی Contact Form 7 بهتر است چند بخش را همزمان بررسی کنید:
- فایلهای CSS افزونه
- فایلهای JavaScript افزونه
- Refill و درخواستهای مرتبط با فرم
- ساختار HTML فرم
- تعداد و نوع فیلدها
- فایلهای CSS و JS مربوط به افزونههای جانبی CF7
- اعتبارسنجی فرم
- Captcha و ابزارهای ضداسپم
- کش و بهینهسازی فایلها
- عملکرد فرم پس از بهینهسازی
نکته مهم این است که بهینهسازی نباید با غیرفعال کردن کورکورانه JavaScript یا CSS انجام شود. اگر فایل موردنیاز فرم را حذف کنید، ممکن است فرم ظاهراً نمایش داده شود اما ارسال Ajax، اعتبارسنجی یا سایر قابلیتهای آن از کار بیفتد.
آیا Contact Form 7 سرعت سایت را کاهش میدهد؟
نمیتوان گفت Contact Form 7 در تمام سایتها باعث کندی میشود. میزان تأثیر آن به تعداد فرمها، افزونههای جانبی، تنظیمات سایت، تعداد فایلهای CSS و JavaScript و نحوه بارگذاری آنها بستگی دارد.
مشکل زمانی ایجاد میشود که منابع CF7 در تمام صفحات سایت بارگذاری شوند، در حالی که فقط چند صفحه از فرم استفاده میکنند.
فرض کنید یک سایت ۵۰ صفحه دارد اما فقط در صفحه «تماس با ما» از Contact Form 7 استفاده شده است. اگر فایلهای CF7 در هر ۵۰ صفحه بارگذاری شوند، بخش زیادی از این درخواستها در صفحاتی انجام میشود که هیچ فرم تماسی ندارند.
هدف از بهینه سازی فرم تماس 7 این است که در چنین شرایطی، منابع فرم فقط در جاهایی که واقعاً به آنها نیاز است بارگذاری شوند.
چگونه بفهمیم Contact Form 7 در سایت منابع اضافی بارگذاری میکند؟
قبل از اینکه کدی را در سایت قرار دهید، بهتر است ابتدا وضعیت فعلی را بررسی کنید.
صفحهای از سایت که فرم Contact Form 7 ندارد باز کنید و Developer Tools مرورگر را اجرا کنید.
در Chrome یا Edge میتوانید:
Right Click → Inspect → Network
را باز کنید.
سپس صفحه را Refresh کنید و در بخش Network به دنبال فایلها یا درخواستهایی مرتبط با Contact Form 7 بگردید.
معمولاً میتوانید مواردی با نامهایی مشابه اینها مشاهده کنید:
contact-form-7
styles.css
index.js
نام دقیق فایلها ممکن است بر اساس نسخه افزونه تغییر کند.
در سورس فعلی افزونه نیز فایل اصلی JavaScript و فایلهای CSS مربوط به Contact Form 7 به صورت منابع جداگانه ثبت و در فرانتاند بارگذاری میشوند.
اگر این منابع در صفحاتی بارگذاری میشوند که هیچ فرم CF7 ندارند، میتوانید سراغ مرحله بعدی بهینهسازی بروید.
بهینه سازی CSS فرم تماس 7
یکی از بخشهای مهم بهینه سازی فرم تماس 7، کنترل فایل CSS است.
Contact Form 7 یک فایل Stylesheet مخصوص فرانتاند دارد. اگر فرم فقط در چند صفحه سایت استفاده میشود، میتوان بررسی کرد که آیا لازم است CSS آن در تمام صفحات بارگذاری شود یا خیر.
غیرفعال کردن CSS پیشفرض CF7
Contact Form 7 امکان کنترل بارگذاری CSS را در اختیار توسعهدهنده قرار میدهد.
برای مثال میتوانید در wp-config.php از این مقدار استفاده کنید:
define( 'WPCF7_LOAD_CSS', false );
با این تنظیم، CSS پیشفرض Contact Form 7 در فرانتاند بارگذاری نمیشود. خود مستندات رسمی افزونه نیز WPCF7_LOAD_CSS را برای کنترل بارگذاری Stylesheet معرفی کرده است.
اما این کد به این معنی نیست که باید بدون بررسی آن را در تمام سایتها قرار دهید.
اگر CSS پیشفرض را غیرفعال کنید و فرم به استایلهای آن وابسته باشد، ممکن است ظاهر فرم تغییر کند.
بنابراین اگر تصمیم دارید CSS افزونه را حذف کنید، باید استایل موردنیاز فرم را در فایل CSS قالب یا بخش Additional CSS سایت خود مدیریت کنید.
آیا حذف CSS پیشفرض CF7 همیشه کار درستی است؟
خیر.
اگر فرم شما به CSS پیشفرض افزونه نیاز دارد و هنوز استایل جایگزین مناسبی برای آن تعریف نکردهاید، حذف این فایل میتواند ظاهر فرم را خراب کند.
مستندات رسمی Contact Form 7 نیز برای شخصیسازی فرم، ویرایش CSS قالب یا استفاده از Additional CSS را پیشنهاد میکند و توصیه میکند فایلهای خود افزونه را مستقیماً ویرایش نکنید؛ زیرا تغییرات با بهروزرسانی افزونه از بین میروند.
بنابراین رویکرد مناسب این است:
ابتدا CSS فرم را به شکل مستقل مدیریت کنید، سپس CSS اضافی افزونه را در صورت نیاز غیرفعال کنید.
بهینه سازی JavaScript فرم تماس 7
JavaScript بخش مهمتری از Contact Form 7 است؛ زیرا برخی قابلیتهای فرم به آن وابسته هستند.
طبق مستندات رسمی Contact Form 7، ارسال Ajax فرم، برخی قابلیتهای HTML5 fallback، شمارش لحظهای کاراکترها و DOM Events از جمله امکاناتی هستند که به JavaScript نیاز دارند.
بنابراین غیرفعال کردن JavaScript CF7 بدون بررسی میتواند باعث شود فرم دیگر به شکل مورد انتظار کار نکند.
برای کنترل بارگذاری JavaScript، Contact Form 7 گزینه زیر را در اختیار توسعهدهنده قرار میدهد:
define( 'WPCF7_LOAD_JS', false );
این تنظیم باعث میشود JavaScript فرانتاند CF7 به صورت پیشفرض بارگذاری نشود.
اما اگر در سایت فرم فعال دارید، باید JavaScript موردنیاز آن را در صفحات مربوطه دوباره بارگذاری کنید.
چگونه CSS و JS فرم تماس 7 را فقط در صفحات موردنیاز بارگذاری کنیم؟
این یکی از مهمترین روشهای بهینه سازی فرم تماس 7 است.
فرض کنید فقط این صفحات فرم دارند:
- تماس با ما
- درخواست مشاوره
- ثبت سفارش
میتوانید بارگذاری عمومی منابع CF7 را غیرفعال کرده و آنها را فقط در صفحات مشخص فعال کنید.
خود Contact Form 7 برای این کار روش رسمی ارائه کرده است. ابتدا میتوان بارگذاری عمومی CSS و JS را غیرفعال کرد و سپس در قالب صفحهای که فرم در آن وجود دارد، توابع wpcf7_enqueue_scripts() و wpcf7_enqueue_styles() را فراخوانی کرد.
نمونه کلی:
define( 'WPCF7_LOAD_JS', false );
define( 'WPCF7_LOAD_CSS', false );
سپس در قالب صفحهای که فرم دارد:
<?php
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
wpcf7_enqueue_scripts();
}
if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
wpcf7_enqueue_styles();
}
?>
این روش بیشتر برای سایتهایی مناسب است که توسعهدهنده به قالب و ساختار کدنویسی سایت دسترسی دارد.
اگر از قالب آماده یا صفحهساز استفاده میکنید و با ساختار WordPress Theme آشنایی ندارید، بهتر است قبل از اعمال این تغییرات، از روشهای سادهتر یا ابزارهای مدیریت Asset استفاده کنید.
یک روش سادهتر برای سایتهای وردپرسی
اگر نمیخواهید مستقیماً در قالب دستکاری کنید، میتوانید از ابزارهای مدیریت Asset یا افزونههای بهینهسازی استفاده کنید که امکان کنترل بارگذاری CSS و JavaScript را فراهم میکنند.
مزیت این روش این است که میتوانید منابع یک افزونه را برای صفحات مشخص غیرفعال کنید، بدون اینکه مجبور باشید ساختار قالب را تغییر دهید.
با این حال، بعد از هر تغییر باید فرم را تست کنید.
ظاهر شدن فرم به معنی سالم بودن آن نیست.
ممکن است فرم نمایش داده شود اما:
- ارسال Ajax انجام نشود.
- پیام موفقیت نمایش داده نشود.
- اعتبارسنجی کار نکند.
- فایل پیوست ارسال نشود.
- رویدادهای JavaScript اجرا نشوند.
Refill در Contact Form 7 چیست؟
یکی از عبارتهایی که هنگام بررسی درخواستهای Contact Form 7 ممکن است در Network مرورگر ببینید، refill است.
بسیاری از مدیران سایت تصور میکنند هر درخواست مرتبط با refill یک فایل اضافی و غیرضروری است و باید آن را حذف کرد؛ اما این نگاه همیشه درست نیست.
Contact Form 7 برای برخی دادههای مربوط به فرم و وضعیت آن از درخواستهای Ajax استفاده میکند و نباید صرفاً با مشاهده نام refill آن را به صورت کورکورانه مسدود کرد.
اگر فرم شما بعد از بهینهسازی با خطاهایی مانند ارسال نشدن، عدم نمایش پیام موفقیت یا اختلال در برخی قابلیتها مواجه شد، یکی از مواردی که باید بررسی شود همین درخواستها و JavaScript مربوط به CF7 است.
آیا میتوان Refill را غیرفعال کرد؟
قبل از غیرفعال کردن هر درخواست مربوط به Contact Form 7 باید مشخص کنید دقیقاً چه چیزی را غیرفعال میکنید و چه قابلیتی به آن وابسته است.
اگر هدف شما کاهش درخواستهای غیرضروری است، روش اصولی این نیست که URLهای مربوط به refill را با یک کد عمومی Block کنید.
روش بهتر این است که ابتدا مشخص کنید:
آیا فرم در این صفحه وجود دارد یا خیر؟
اگر فرم در صفحه وجود ندارد، بهتر است منابع و درخواستهای CF7 از ابتدا در آن صفحه بارگذاری نشوند.
به بیان ساده:
به جای جنگیدن با Refill، ابتدا بارگذاری غیرضروری خود Contact Form 7 را کنترل کنید.
این روش هم اصولیتر است و هم احتمال خراب شدن فرم را کاهش میدهد.
چرا بعد از بهینه سازی CF7 فرم کار نمیکند؟
یکی از رایجترین مشکلات بعد از بهینه سازی فرم تماس 7 این است که مدیر سایت فایلهای JS را غیرفعال میکند و بعد متوجه میشود فرم ارسال نمیشود.
Contact Form 7 میتواند بدون JavaScript نیز کار کند، اما برخی قابلیتهای مهم آن مانند ارسال Ajax به JavaScript وابسته هستند.
بنابراین اگر بعد از بهینهسازی فرم با مشکل مواجه شدید، ابتدا این موارد را بررسی کنید:
۱. JavaScript خطا دارد؟
Developer Tools مرورگر را باز کنید و بخش Console را بررسی کنید.
اگر خطای JavaScript وجود دارد، ممکن است مشکل از Contact Form 7 نباشد و یک افزونه یا اسکریپت دیگر باعث آن شده باشد.
۲. REST API فعال است؟
نسخههای جدید Contact Form 7 برای ارسال Ajax از WordPress REST API استفاده میکنند. اگر REST API سایت به شکل نادرست غیرفعال شده باشد، ارسال Ajax میتواند دچار مشکل شود.
۳. فایل JavaScript CF7 حذف شده است؟
اگر WPCF7_LOAD_JS را غیرفعال کردهاید، بررسی کنید که JavaScript فرم در صفحهای که فرم دارد دوباره بارگذاری شده باشد.
۴. افزونه کش یا Minify باعث مشکل شده است؟
گاهی مشکل از خود CF7 نیست؛ بلکه ترکیب، تأخیر یا Defer کردن JavaScript توسط افزونههای کش باعث اختلال میشود.
در چنین شرایطی، برای تست موقتاً بهینهسازی JavaScript را غیرفعال کنید و عملکرد فرم را دوباره بررسی کنید.
چگونه CSS فرم تماس 7 را سبکتر کنیم؟
اگر فرم سادهای دارید، نیازی نیست برای هر عنصر چندین استایل پیچیده تعریف کنید.
مثلاً به جای CSS بسیار طولانی میتوانید ساختار سادهای مانند این داشته باشید:
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
width: 100%;
box-sizing: border-box;
}
.wpcf7-form label {
display: block;
margin-bottom: 8px;
}
البته این فقط یک نمونه است و باید با ساختار واقعی قالب هماهنگ شود.
نکته مهم این است که CSS مربوط به فرم را در فایل CSS قالب یا Additional CSS قرار دهید و فایل اصلی افزونه را مستقیماً تغییر ندهید؛ زیرا بهروزرسانی افزونه میتواند تغییرات آن را از بین ببرد.
فرم را بیش از حد پیچیده نکنید
یکی از روشهای ساده اما مؤثر برای بهینه سازی فرم تماس 7، کاهش تعداد فیلدهای غیرضروری است.
فرض کنید فرم درخواست مشاوره دارید. اگر کاربر برای ارسال یک درخواست ساده مجبور باشد ۱۵ فیلد مختلف را تکمیل کند، احتمال رها کردن فرم بیشتر میشود.
اگر برای شروع فقط این اطلاعات را نیاز دارید:
- نام
- شماره تماس
- موضوع درخواست
- توضیحات
لزومی ندارد فیلدهای اضافی مانند آدرس، کدپستی، نام شرکت، سمت شغلی و موارد دیگر را بدون نیاز واقعی اضافه کنید.
فرم خوب، فرمی نیست که اطلاعات بیشتری از کاربر بگیرد؛ فرمی است که با کمترین اصطکاک، اطلاعات موردنیاز کسبوکار را دریافت کند.
از قابلیتهای غیرضروری CF7 استفاده نکنید
Contact Form 7 قابلیتهای مختلفی دارد و افزونههای جانبی زیادی نیز برای آن ساخته شدهاند.
اما هر قابلیت اضافی میتواند منابع دیگری به سایت اضافه کند.
برای مثال اگر فرم شما فقط شامل نام، تلفن و پیام است، استفاده از قابلیتهایی که برای Date Picker، شمارش لحظهای کاراکتر یا امکانات دیگر طراحی شدهاند، در صورتی که واقعاً به آنها نیاز ندارید منطقی نیست.
خود Contact Form 7 نیز توضیح داده که قابلیت HTML5 fallback مربوط به jQuery UI به صورت پیشفرض فعال نیست، زیرا باعث بارگذاری JavaScript و CSS اضافی میشود و فقط در صورت نیاز باید استفاده شود.
افزونههای جانبی Contact Form 7 را بررسی کنید
گاهی مدیر سایت تصور میکند مشکل سرعت از خود Contact Form 7 است، در حالی که بخش قابلتوجهی از منابع مربوط به افزونههای جانبی است.
برای مثال ممکن است از افزونههای مربوط به:
- Conditional Fields
- Captcha
- ارسال به سرویسهای دیگر
- ذخیره فرمها
- چندمرحلهای کردن فرم
- Date Picker
- اتصال به CRM
استفاده کرده باشید.
هر کدام از این ابزارها ممکن است CSS یا JavaScript مخصوص خود را اضافه کنند.
بنابراین هنگام بررسی سرعت فرم، فقط به فایلهای اصلی CF7 نگاه نکنید.
آیا Minify کردن JavaScript و CSS کافی است؟
Minify کردن فایلها حجم آنها را کاهش میدهد، اما مشکل بارگذاری غیرضروری را حل نمیکند.
مثلاً اگر یک فایل ۵۰ کیلوبایتی را Minify کنیم و حجم آن به ۳۵ کیلوبایت برسد، هنوز اگر این فایل در ۱۰۰ صفحهای که اصلاً فرم ندارند بارگذاری شود، مسئله اصلی باقی است.
بنابراین اولویت بهتر این است:
۱. حذف بارگذاری غیرضروری
۲. کاهش منابع اضافی
۳. بهینهسازی فایلهای باقیمانده
۴. Minify و در صورت امکان ترکیب مناسب
۵. کنترل Defer و Delay با تست واقعی
این ترتیب معمولاً منطقیتر از این است که ابتدا همه فایلها را Minify کنیم.
آیا میتوان JavaScript فرم را Delay کرد؟
در بسیاری از سایتها افزونههای سرعت گزینههایی مانند Delay JavaScript Execution دارند.
این قابلیت میتواند برای کاهش فعالیت اولیه JavaScript مفید باشد، اما برای Contact Form 7 باید با احتیاط استفاده شود.
اگر JavaScript مربوط به فرم بیش از حد به تأخیر بیفتد، ممکن است کاربر فرم را مشاهده کند اما تعامل با آن یا ارسال Ajax با تأخیر یا خطا مواجه شود.
بنابراین اگر از Delay JS استفاده میکنید، بعد از فعالسازی حتماً فرم را تست کنید:
- پر کردن فیلدها
- اعتبارسنجی
- ارسال فرم
- نمایش پیام موفقیت
- نمایش خطا
- ارسال فایل در صورت وجود
- عملکرد در موبایل
آیا حذف jQuery برای بهینه سازی CF7 لازم است؟
خیر، نباید صرفاً به خاطر افزایش سرعت، jQuery یا هر کتابخانه دیگری را بدون بررسی حذف کنید.
Contact Form 7 در نسخههای مختلف خود ساختارهای متفاوتی داشته و برخی قابلیتها نیز به وابستگیهای خاص خود متکی هستند.
اگر قصد حذف jQuery دارید، ابتدا وابستگیهای سایت را بررسی کنید. ممکن است یک افزونه دیگر نیز به آن نیاز داشته باشد.
در بهینهسازی وردپرس، «کم کردن فایلها» همیشه به معنی «بهتر شدن سایت» نیست؛ مهم این است که منابع غیرضروری حذف شوند، نه منابع ضروری.
چگونه بفهمیم بهینه سازی فرم تماس 7 موفق بوده است؟
بعد از هر تغییر باید قبل و بعد را با هم مقایسه کنید.
برای مثال، صفحهای که فرم ندارد را قبل و بعد از بهینهسازی بررسی کنید.
سپس صفحهای که فرم دارد را نیز تست کنید.
موارد زیر را بررسی کنید:
| مورد بررسی | صفحه بدون فرم | صفحه دارای فرم |
|---|---|---|
| CSS مربوط به CF7 | نباید غیرضروری بارگذاری شود | باید در صورت نیاز فعال باشد |
| JS مربوط به CF7 | نباید غیرضروری بارگذاری شود | باید فعال باشد |
| نمایش فرم | ندارد | صحیح |
| ارسال فرم | ندارد | صحیح |
| اعتبارسنجی | ندارد | صحیح |
| پیام موفقیت | ندارد | صحیح |
| خطاهای Console | بدون خطای جدید | بدون خطای جدید |
این مقایسه بسیار مهمتر از این است که فقط یک امتیاز در ابزار تست سرعت مشاهده کنید.
تأثیر بهینه سازی CF7 بر Core Web Vitals
اگر منابع Contact Form 7 در صفحات زیادی بارگذاری شوند، کاهش درخواستها و حجم منابع میتواند به بهبود عملکرد کمک کند؛ اما نباید انتظار داشت حذف چند فایل CF7 بهتنهایی Core Web Vitals یک سایت را متحول کند.
سرعت سایت به مجموعهای از عوامل وابسته است:
- سرعت سرور
- TTFB
- تصاویر
- فونتها
- JavaScript
- CSS
- افزونهها
- کش
- CDN
- ساختار HTML
- منابع شخص ثالث
بنابراین بهینه سازی فرم تماس 7 باید به عنوان یکی از اقدامات بهینهسازی فنی سایت در نظر گرفته شود، نه راهحل تمام مشکلات سرعت.
یک روش پیشنهادی برای بهینه سازی فرم تماس 7
اگر بخواهید این کار را روی یک سایت وردپرسی انجام دهید، میتوانید این ترتیب را دنبال کنید:
مرحله اول: فرمهای سایت را شناسایی کنید.
مشخص کنید Contact Form 7 دقیقاً در چه صفحاتی استفاده شده است.
مرحله دوم: منابع CF7 را بررسی کنید.
با Network مرورگر ببینید CSS و JS افزونه در چه صفحاتی بارگذاری میشوند.
مرحله سوم: افزونههای جانبی را بررسی کنید.
فقط فایلهای اصلی CF7 را بررسی نکنید.
مرحله چهارم: فرم را ساده کنید.
فیلدها و قابلیتهایی که واقعاً موردنیاز نیستند حذف شوند.
مرحله پنجم: بارگذاری CSS و JS را محدود کنید.
اگر فرم فقط در چند صفحه وجود دارد، منابع را فقط در صفحات موردنیاز بارگذاری کنید.
مرحله ششم: Refill و Ajax را بدون دلیل Block نکنید.
ابتدا علت درخواستها را مشخص کنید.
مرحله هفتم: کش و Minify را بررسی کنید.
پس از اطمینان از سالم بودن فرم، تنظیمات بهینهسازی JavaScript و CSS را اعمال کنید.
مرحله هشتم: فرم را از ابتدا تا انتها تست کنید.
ارسال واقعی فرم مهمترین مرحله است.
کد غیرفعال کردن CSS و JS Contact Form 7
اگر به عنوان توسعهدهنده سایت قصد دارید بارگذاری پیشفرض منابع را کنترل کنید، کد زیر میتواند نقطه شروع باشد:
define( 'WPCF7_LOAD_JS', false );
define( 'WPCF7_LOAD_CSS', false );
اما توجه کنید که این کد صرفاً منابع را غیرفعال میکند و به تنهایی بهینهسازی کامل محسوب نمیشود.
اگر فرم در سایت دارید، باید منابع موردنیاز آن را در صفحات مربوطه دوباره بارگذاری کنید. مستندات رسمی CF7 نیز دقیقاً همین فرآیند را برای بارگذاری منابع فقط در صفحات موردنیاز توضیح داده است.
اگر در مدیریت کد PHP یا ساختار قالب تجربه ندارید، بهتر است این تغییر را ابتدا روی Staging انجام دهید.
آیا حذف فایلهای CF7 از همه صفحات ارزش دارد؟
اگر سایت بزرگی دارید و Contact Form 7 فقط در چند صفحه استفاده میشود، این کار میتواند منطقی باشد.
اما در یک سایت کوچک که تقریباً تمام صفحات آن فرم دارند، پیچیده کردن فرآیند بارگذاری ممکن است ارزش چندانی نداشته باشد.
بهینهسازی باید بر اساس داده واقعی سایت انجام شود.
برای مثال، اگر Contact Form 7 فقط یک فایل کوچک در صفحات مختلف ایجاد میکند و سایت مشکل اصلی دیگری مانند تصاویر سنگین یا اسکریپتهای شخص ثالث دارد، صرف زمان زیاد روی CF7 احتمالاً بهترین اولویت نیست.
جمعبندی
بهینه سازی فرم تماس 7 بیشتر از اینکه به معنی حذف فایلهای افزونه باشد، به معنی بارگذاری درست منابع و حفظ عملکرد فرم در کنار کاهش منابع غیرضروری است.
مهمترین کارهایی که میتوانید انجام دهید عبارتاند از:
- بررسی کنید CSS و JS فرم در چه صفحاتی بارگذاری میشوند.
- اگر فرم فقط در چند صفحه است، بارگذاری منابع را به همان صفحات محدود کنید.
- CSS فرم را در قالب یا Additional CSS مدیریت کنید و فایل اصلی افزونه را مستقیماً ویرایش نکنید.
- JavaScript CF7 را بدون بررسی غیرفعال نکنید؛ زیرا قابلیتهایی مانند ارسال Ajax به آن وابسته هستند.
- Refill یا درخواستهای Ajax را صرفاً به دلیل مشاهده آنها در Network مسدود نکنید.
- افزونههای جانبی CF7 را نیز در بررسی عملکرد سایت در نظر بگیرید.
- از قابلیتهایی که واقعاً به آنها نیاز ندارید استفاده نکنید.
- پس از هر تغییر، ارسال واقعی فرم را تست کنید.
- به جای تمرکز صرف بر امتیاز ابزارهای سرعت، تعداد منابع غیرضروری و عملکرد واقعی فرم را بررسی کنید.
در نهایت، هدف این نیست که Contact Form 7 را به هر قیمتی سبک کنیم؛ هدف این است که فرم با کمترین منابع غیرضروری، سریع و بدون اختلال برای کاربر کار کند.
برای انجام بهینه سازی فرم تماس فقط کافیست با کارشناسان پرشیا وب در تماس باشید.
سوالات متداول
آیا Contact Form 7 باعث کندی سایت میشود؟
ممکن است منابع CSS و JavaScript آن در صفحاتی بارگذاری شوند که فرم ندارند و این موضوع میتواند منابع اضافی ایجاد کند. میزان تأثیر آن به ساختار و تنظیمات سایت بستگی دارد.
چطور CSS و JS اضافی Contact Form 7 را حذف کنیم؟
میتوانید با WPCF7_LOAD_CSS و WPCF7_LOAD_JS بارگذاری عمومی منابع را کنترل کنید و سپس آنها را فقط در صفحات موردنیاز فعال کنید. این روش در مستندات رسمی Contact Form 7 نیز توضیح داده شده است.
آیا میتوان JavaScript Contact Form 7 را کاملاً غیرفعال کرد؟
بله، اما باید توجه داشته باشید که برخی قابلیتهای CF7 مانند ارسال Ajax به JavaScript نیاز دارند. بنابراین غیرفعال کردن آن میتواند عملکرد فرم را تغییر دهد.
Refill در Contact Form 7 چیست؟
Refill بخشی از سازوکار درخواستهای مرتبط با Contact Form 7 است و نباید صرفاً به دلیل مشاهده آن در Network آن را یک درخواست اضافی و قابل حذف در نظر گرفت. قبل از حذف یا Block کردن آن باید عملکرد فرم و وابستگیهای Ajax بررسی شود.
آیا حذف CSS پیشفرض CF7 مشکلی ایجاد میکند؟
اگر فرم به استایلهای پیشفرض افزونه وابسته باشد، حذف آن میتواند ظاهر فرم را تغییر دهد. بهتر است ابتدا CSS جایگزین خود را ایجاد کنید و سپس CSS پیشفرض را در صورت نیاز غیرفعال کنید.
آیا Minify کردن فایلهای CF7 کافی است؟
خیر. Minify حجم فایلها را کاهش میدهد، اما اگر فایلها در صفحاتی که هیچ فرمی ندارند بارگذاری شوند، مشکل بارگذاری غیرضروری همچنان باقی است.
چرا بعد از بهینه سازی CF7 فرم ارسال نمیشود؟
ممکن است JavaScript فرم غیرفعال شده باشد، REST API مشکل داشته باشد، افزونه کش یا Delay JS با CF7 تداخل ایجاد کرده باشد یا یکی از فایلهای موردنیاز فرم بارگذاری نشده باشد. ابتدا Console و Network مرورگر را بررسی کنید و سپس تنظیمات بهینهسازی JavaScript را تست کنید.