به عنوان یک متخصص حرفهای که سالها با وردپرس کار کردهام، این سوال را بارها از کاربرانمان شنیدهام که “چه تعداد افزونه وردپرس باید نصب کنم؟” یا “چه تعداد افزونه زیاد محسوب میشود؟”. در این مقاله از وردپرس نیاز میخواهم تجربیات خودم را در این زمینه با شما به اشتراک بگذارم و به این سوالات پاسخ دهم. در ادامه، یک پاسخ سریع به این پرسش مینویسم سپس به بررسی کامل و جامع اینکه چندتا افزونه نصب کنیم و اینکه چگونه افزونه ها باعث کند شدن میشوند بپردازیم.
افزونههای وردپرس چیست و چگونه کار میکنند؟
قبل از اینکه وارد جزئیات شویم، اجازه دهید کمی درباره افزونههای وردپرس و نحوه کارکرد آنها صحبت کنیم.
افزونههای وردپرس مانند اپلیکیشنهایی برای وبسایت شما هستند. آنها به شما کمک میکنند تا قابلیتها و عملکردهای جدیدی مانند ساخت آنلاین شاپ، اضافه کردن فرم تماس و موارد دیگر را به سایت خود اضافه کنید.
افزونهها مانند خود وردپرس، با زبان برنامهنویسی PHP نوشته شدهاند. کد PHP روی سرور هاست وبسایت شما اجرا میشود و از منابع آن استفاده میکند.
از زمانی که پشتیبانی از افزونهها در وردپرس 1.2 اضافه شد، افزونهها به نعمتی برای کاربران تبدیل شدند. وردپرس بدون افزونه مانند یک فروشگاه اسباببازی بدون اسباببازی است – که اصلا جالب نیست!
چرا افزونهها برای سایتهای وردپرسی ضروری هستند؟
اگرچه هسته اصلی وردپرس یک چارچوب وبلاگ نویسی قدرتمند را فراهم میکند، اما این افزونهها هستند که مسئول تبدیل وردپرس به محبوبترین سیستم مدیریت محتوا در جهان شدهاند.
تعداد کل افزونههای وردپرس موجود در طول سالها افزایش یافته است. در زمان نگارش این مقاله، بیش از 60,000 افزونه رایگان وردپرس در مخزن رسمی افزونهها وجود دارد. علاوه بر این افزونههای رایگان، هزاران افزونه اورجینال و پریمیوم نیز توسط شرکتها و توسعهدهندگان ثالث فروخته میشوند.
افزونهها میتوانند به شما در بهبود سئوی وردپرس، افزایش امنیت، مدیریت کاربران و موارد دیگر کمک کنند. رشد کسب و کار شما بدون استفاده از افزونههای وردپرس در وبسایتتان بسیار دشوار خواهد بود.
چگونه افزونههای وردپرس بدنام شدند؟
هدف افزونه های وردپرس، گسترش قابلیتهای وردپرس برای انجام تقریباً هر کاری است که میتوانید تصور کنید. با این حال، اکنون شاهد نوعی ترس یا خودداری از استفاده از افزونهها در بین بسیاری از کاربران مبتدی هستیم.
مردم نگران عملکرد، امنیت، قابلیت اطمینان و غیره میشوند. این عمدتاً به این دلیل است که طراحان، توسعهدهندگان و تکنسینهای پشتیبانی هاست وب هنگام عیبیابی وبسایتهای مشتریان واقعاً ناامید میشوند.
آنها در ناامیدی خود اظهاراتی مانند “افزونههای کمتری داشته باشید” یا “این افزونهها هستند که سایت شما را کند میکنند” میکنند.
این اظهارات در شبکههای اجتماعی، صحبت های متخصص ها وغیره بازتاب یافته است. بزرگترین مشکل این اظهارات، مبهم بودن آنهاست.
منظور از “کمتر” چیست؟ به چه تعداد افزونه وردپرس، زیاد گفته می شود؟
به نظر من مشکل اصلی تعداد افزونهها نیست، بلکه کیفیت آنهاست.
شما میتوانید دهها افزونه خوب وردپرس را بدون هیچ مشکلی روی وبسایت خود اجرا کنید، اما اضافه کردن یک افزونه با کدنویسی ضعیف میتواند وبسایت شما را کند کند.
وقتی این اتفاق میافتد و شما درخواست کمک برای عیبیابی میکنید، تکنسین پشتیبانی شرکت هاستینگ شما یا یک توسعهدهنده دیگر، تعداد افزونهها را مقصر میداند.
این منطقی است زیرا عیبیابی یک وبسایت با 5 افزونه بسیار آسانتر از عیبیابی یک وبسایت با 30 افزونه است. تعداد افزونهها کار آنها را سختتر میکند.
بسیار مهم است که هر توصیهای که از روی ناامیدی ارائه میشود را با کمی احتیاط بپذیرید.
شما باید مؤدبانه از آنها بخواهید که مشخص کنند کدام افزونه خاص باعث مشکل شده است، زیرا صرفاً مقصر دانستن تعداد افزونهها نتیجه تنبلی است.
برای درک بهتر این موضوع، وبسایت WP Needs ما در حال حاضر 43 افزونه فعال دارد و بسیار سریع بارگذاری میشود.
اگر قرار باشد یک افزونه بد اضافه کنیم که وبسایت را کند میکند، فقط باید همان یک افزونه بد را غیرفعال کنیم (نه همه 43 افزونه را).
با این حال، بیایید نگاهی بیندازیم به اینکه افزونهها چگونه میتوانند جنبههای مختلف وبسایت شما را تحت تأثیر قرار دهند.
چگونه افزونههای وردپرس بر سرعت و عملکرد وبسایت تأثیر میگذارند؟
انواع مختلفی از افزونههای وردپرس وجود دارد و هر کدام به روش متفاوتی بر عملکرد وبسایت شما تأثیر میگذارند.
افزونههایی وجود دارند که عمدتاً بر فرانتاند تأثیر میگذارند. به عنوان مثال، افزونههای صفحهساز، فرمهای تماس، افزونه های نوبت دهی وردپرس، اسلایدرها و غیره.
سپس افزونههایی وجود دارند که عمدتاً برای انجام وظایف در بکاند یا ناحیه مدیریت ساخته شدهاند. به عنوان مثال، افزونههای پشتیبانگیری وردپرس، فرآیندهای پسزمینه مختلف و غیره.
همچنین افزونههایی وجود دارند که در همه جا از جمله ناحیه مدیریت و فرانتاند اجرا میشوند. به عنوان مثال، افزونههای سئو، افزونههای امنیتی وردپرس و موارد دیگر.
تأثیر یک افزونه وردپرس بر سرعت و عملکرد وبسایت بستگی به این دارد که آن افزونه کجا بارگذاری میشود.
به عنوان مثال، افزونههایی که فقط هنگام انجام وظایف خاص در ناحیه مدیریت وردپرس بارگذاری میشوند، معمولاً تأثیری بر عملکرد وبسایت شما نخواهند داشت.
از طرف دیگر، افزونههایی که در فرانتاند بارگذاری میشوند، احتمالاً تأثیر عملکردی بیشتری خواهند داشت.
همچنین افزونههایی که فرآیندهای پسزمینه معمول مانند بررسی Broken Links یا لینک های شکسته، نظارت بر خطای 404 و غیره را انجام میدهند نیز میتوانند به طور قابل توجهی عملکرد کلی وبسایت شما را کند کنند.
افزونهها میتوانند به روشهای زیر بر عملکرد سایت شما تأثیر بگذارند:
- ایجاد درخواستهای HTTP اضافی – برخی از افزونهها (عمدتاً افزونههای فرانتاند) ممکن است برای عملکرد صحیح به استایل یا اسکریپتهای سفارشی نیاز داشته باشند. به همین دلیل، ممکن است فایل(های) JS و یا CSS اضافی اضافه کنند. بارگیری این فایلها نیاز به ایجاد درخواستهای HTTP اضافی دارد که زمان بارگذاری صفحه شما را کند میکند.
- کوئریهای اضافی دیتابیس – برخی از افزونهها ممکن است کوئریهای پایگاه داده شما را افزایش دهند. به عنوان مثال، افزونههایی برای نمایش پستهای محبوب، پستهای مرتبط یا هر چیز دیگری که عناصر پایگاه داده را میکشد و در فرانتاند نمایش میدهد.
- فرآیندهای پسزمینه و نوشتن در دیتابیس – برخی از افزونهها میتوانند منابع زیادی از سرور را هنگام اجرای فرآیندهای پسزمینه مانند بررسی لینکهای شکسته، نظارت و ثبت تحلیلهایی مانند بازدید پست و غیره مصرف کنند.
اکثر افزونههای خوب وردپرس فقط در صورت نیاز فایلهای اضافی را بارگذاری میکنند و فراخوانیهای پایگاه داده را به حداقل میرسانند. با این حال، گاهی اوقات این امر اجتنابناپذیر است.
خوشبختانه، برای اکثر موارد بهینهسازیهایی وجود دارد. بیایید نگاهی به راهحلهای کوتاه مدت و بلند مدت برای این مشکلات بیندازیم.
قبل از اینکه این کار را انجام دهیم، ابتدا مطمئن شوید که کشکردن را در سایت وردپرس خود فعال کردهاید. بدون کشکردن، وبسایت شما همیشه کند خواهد بود. برای اینکار میتوانید از افزونه راکت وردپرس استفاده کنید.
حالا بیایید به سایر بهینهسازیها بپردازیم.
رفع مشکل درخواستهای HTTP اضافی
افزونهها باید درخواستهای HTTP اضافی (یعنی فایلهای JS و CSS) را اضافه کنند تا به صورت پیشفرض کار کنند. به عنوان مثال، وقتی یک افزونه فرم تماس نصب میکنید، میخواهید که کار کند و خوب هم به نظر برسد.
مردم از درخواستهای HTTP اضافی شکایت میکنند در حالی که نادیده میگیرند که گاهی اوقات ضروری هستند.
اکثر کاربران آن را دوست نخواهند داشت، برخی حتی فکر میکنند که خراب شده است. خب، این دقیقاً همان چیزی است که اتفاق میافتد اگر فرم تماس درخواستهای HTTP اضافی را برای بارگیری فایلهای CSS و JS اضافه نکند.
خلاصه، استایل ها و اسکریپتهای اضافی برای عملکرد صحیح افزونه مورد نیاز هستند.
سه راه برای بهینهسازی مشکل درخواستهای HTTP اضافی وجود دارد. همه آنها نیاز به دانش کدنویسی و آشنایی با وردپرس دارند، اما یک روش قطعاً از بقیه آسانتر است.
# روش اول؛ این است که استایلها و اسکریپتهای اضافی که توسط افزونه آپلود میشوند را unregister کنید. پس از آن میتوانید استایلهای افزونه را در فایل style.css قالب خود و اسکریپتهای افزونه را در فایل JavaScript اصلی قالب خود ترکیب کنید.
# روش دوم؛ این است که استایلها/اسکریپتهای افزونه را به صورت شرطی در صفحاتی که به آنها نیاز دارید بارگذاری کنید.
برای افرادی که با کدنویسی آشنا نیستند، میتوانید از یک افزونه کش پریمیوم مانند WP Rocket استفاده کنید که به شما امکان میدهد فایلها را با یک کلیک کوچک و ترکیب کنید. این برای اکثر موارد کار میکند، اما در برخی موارد ممکن است با افزونههای خاص تداخل ایجاد کند.
با این حال، باید بدانید که چند درخواست HTTP اضافی آنقدرها که فکر میکنید مهم نیستند. ما در اینجا درباره میلیثانیهها صحبت میکنیم. با این حال اگر تعداد زیادی افزونه دارید که درخواستهای HTTP اضافی اضافه میکنند، این بهینهسازی به شما امکان میدهد چند ثانیه از زمان بارگذاری خود را کاهش دهید.
بسیاری از صاحبان کسب و کار غیرفنی، یک توسعهدهنده وردپرس را استخدام میکنند تا وبسایت آنها را سرعت ببخشد (که یک سرمایهگذاری ارزشمند است). ما در WP Needs یک مقاله جامع برای افزایش سرعت وردپرس نوشتیم که با مطالعه آن میتوانید تا حد زیادی، ریکوست های HTTP را به حداقل برسانید و سرعت وبسایت وردپرسی خود را نیز ارتقا دهید.
حالا که درخواستهای HTTP را پوشش دادیم، بیایید نگاهی به کوئریهای اضافی پایگاه داده بیندازیم.
رفع کوئریهای اضافی دیتابیس و فرآیندهای بک گراند
برخی از افزونهها ممکن است بار سرور پایگاه داده شما را افزایش دهند. خود وردپرس کار بسیار خوبی در کش کردن کوئریها انجام میدهد و اکثر افزونههای با کدنویسی خوب هیچ مشکل قابل توجهی ایجاد نخواهند کرد.
با این حال، اگر یک وبسایت پربازدید دارید، استفاده از افزونههای مبتنی بر پایگاه داده میتواند مشکلساز شود، به خصوص اگر منابع سرور مناسبی نداشته باشید.
به عنوان مثال اگر یک وبسایت با کاربران زیاد دارید یا یک فروشگاه آنلاین با WooCommerce دارید، تعداد زیادی درخواست کش نشده را ارائه میدهید. در این سناریو تنها گزینه واقعی استفاده از یک راهحل هاست مدیریت شده وردپرس یا حتی یک راهحل هاستینگ تخصصی WooCommerce است.
حالا برخی از افزونهها هستند که منابع سرور را تمام و کمال مصرف میکنند و باید به هر قیمتی از آنها اجتناب کنید.
به عنوان مثال، افزونههایی وجود دارند که عملکردهای تحلیلی مختلفی را در وردپرس اضافه میکنند مانند برخی افزونههای اشتراک ایمیل، افزونه آمار وبسایت، افزونه ردیابی بازدید پست و غیره. این افزونهها به طور ناکارآمد در هر بار بارگذاری صفحه در پایگاه داده مینویسند که میتواند به طور قابل توجهی وبسایت شما را کند کند.
شما میتوانید تحلیلها را به روشی مقیاسپذیرتر با افزونههایی مانند Google Analytics for WordPress by MonsterInsights یا Jetpack Stats ردیابی کنید.
میتوانید فرمهای اشتراک ایمیل را با ردیابی مقیاسپذیرتر با افزونههایی مانند OptinMonster یا با استفاده از فرمهای ثبتنام از سرویس بازاریابی ایمیل مورد علاقه خود اضافه کنید.
همچنین افزونههایی وجود دارند که خطاهای 404 را نظارت میکنند و لینکهای شکسته را ردیابی میکنند که میتوانند بار سنگینی اضافه کنند و منابع سرور را مصرف کنند. به جای استفاده از این افزونهها، باید از سرویسهای ابری شخص ثالث مانند Ahrefs یا SEMRush استفاده کنید که به طور خودکار لینکهای شکسته را ردیابی میکنند و بینشهای مفید سئو دیگری نیز ارائه میدهند.
چگونه افزونههای وردپرس بر امنیت سایت تأثیر میگذارند؟
امنیت وردپرس، نگرانی عمده دیگری است که در مورد نصب افزونههای وردپرس وجود دارد. بسیاری از کاربران نگران هستند که داشتن افزونههای بیشتر میتواند سایت آنها را آسیبپذیرتر کند.
درست است که یک افزونه وردپرس با کدنویسی ضعیف میتواند توسط هکرها مورد سوء استفاده قرار گیرد و سایت شما را آسیبپذیر کند. با این حال، این برای تقریباً هر نرمافزاری که وجود دارد نیز صادق است.
اشتباهات اجتنابناپذیر هستند. با این حال، بهترین بخش متن باز این است که افراد زیادی از نرمافزار استفاده میکنند، که باعث میشود یک آسیبپذیری سریعتر کشف و رفع شود.
شما میتوانید با استفاده از یک افزونه امنیتی وردپرس مانند افزونه Wordfence از وبسایت خود محافظت کنید. آنها هزاران وبسایت را اسکن میکنند و به شما کمک میکنند تا اکثر مشکلات امنیتی مربوط به یک افزونه آسیبپذیر را شناسایی کنید.
همچنین میتوانید با بهبود امنیت کلی وردپرس خود از وبسایت خود محافظت کنید. این به شما امکان میدهد لایههای امنیتی را قبل از اینکه هر آسیبپذیری توسط هکرها مورد سوء استفاده قرار گیرد، اضافه کنید.
افزونههای وردپرس و قابلیت اطمینان
برخی افراد نگران قابلیت اطمینان یک افزونه هستند. چه میشود اگر افزونه متوقف شود؟ چه میشود اگر بهروزرسانیها کند باشند؟
بخش زیبای اکوسیستم متن باز وردپرس این است که همیشه جایگزینهایی وجود دارد.
اگر از یک افزونه محبوب استفاده میکنید، احتمالاً فرآیند آپدیت آن متوقف نخواهد شد. اگر این اتفاق بیفتد، احتمالاً شخص دیگری آن را فورک خواهد کرد و توسعه را ادامه خواهد داد. این قدرت متن باز است. این همچنین نحوه به وجود آمدن وردپرس است.
تا زمانی که افزونههایی با سابقه خوب و نویسندگان معتبر انتخاب کنید، مشکلی نخواهید داشت.
آیا میتوانم با افزودن اسنیپتهای کد از افزونهها اجتناب کنم؟
مقالاتی در سراسر وب وجود دارد که نشان میدهد: “چگونه XYZ را در وردپرس بدون افزونه انجام دهیم”.
هدف این مقالات نه برای جلوگیری از استفاده از افزونهها بلکه برای نشان دادن نحوه یادگیری کد است. اساساً سه روش برای افزودن اسنیپتهای کد به سایت خود وجود دارد. میتوانید آنها را به فایل functions.php خود اضافه کنید، یک افزونه مخصوص سایت بسازید، یا از یک افزونه برای افزودن اسنیپتهای کد سفارشی استفاده کنید.
صرف نظر از اینکه کدام روش را انتخاب میکنید، افزودن اسنیپتهای کد به وبسایت شما همان تأثیر عملکردی را دارد که یک افزونه مستقل دارد.
اگر اسنیپتهای کدی را نصب کنید که مشابه یک افزونه هستند، اساساً افزونه را بدون نصب آن اجرا میکنید. نکته منفی این است که هیچ بهروزرسانی افزونه یا رفع امنیتی برای آن کد دریافت نخواهید کرد.
با این حال، اگر میخواهید سفارشیسازیهای زیادی به سایتتان اضافه کنید، میتوانید چندین افزونه مستقل را با استفاده از WPCode، بهترین افزونه اسنیپت کد وردپرس جایگزین کنید.
WPCode افزودن کد سفارشی در وردپرس را آسان و ایمن میکند، بدون نیاز به ویرایش فایل functions.php قالب شما.
میتوانید تمام اسنیپتهای کد سفارشی خود را از یک صفحه مرکزی مدیریت کنید. علاوه بر این، میتوانید به راحتی قالبهای وردپرس را بدون از دست دادن عملکردهای مهم وبسایت خود تغییر دهید.
WPCode Pro دارای یک کتابخانه اسنیپت ابری خصوصی، اسنیپتهای زمانبندی شده، پیکسلهای تبدیل و موارد دیگر است. همچنین یک نسخه رایگان از WPCode وجود دارد که میتوانید برای شروع از آن استفاده کنید.
جمع بندی اینکه چه تعداد افزونه وردپرس باید نصب کنید؟ چه تعداد افزونه وردپرس زیاد است؟
شما باید به تعداد لازم برای اجرای وبسایت و رشد کسب و کار خود افزونه وردپرس نصب کنید.
به طور متوسط، بسیار رایج است که یک وبسایت آنلاین شاپ حداقل 20 تا 30 افزونه داشته باشد.
شما با تعداد زیادی افزونه مشکلی نخواهید داشت، تا زمانی که از افزونههای با کیفیت بالا استفاده میکنید که از استانداردهای کدنویسی وردپرس پیروی میکنند.
چگونه بهترین افزونههای وردپرس را پیدا کنیم که به سایت ما آسیب نزند؟
یکی از سوالات متداولی که کاربران ما میپرسند این است که “چگونه بهترین افزونهها را برای وبسایت خود انتخاب کنم؟”
اگر به دنبال یک افزونه رایگان هستید، فقط آن را از مخزن افزونههای WordPress دانلود کنید. مخزن رسمی افزونههای وردپرس همچنین انتخاب افزونههای خوب را آسانتر میکند.
میتوانید امتیاز و نظرات یک افزونه را که توسط سایر کاربران وردپرس ارائه شده است ببینید. همچنین میتوانید ببینید که افزونه آخرین بار چه زمانی بهروز شده و چند وبسایت آن را نصب کردهاند.
از طرف دیگر، اگر به دنبال یک افزونه پریمیوم هستید، حتما افزونه های اورجینال با قابلیت آپدیت دائمی را از وردپرس نیاز تهیه کنید. وردپرس نیاز این امکان را میدهد که محصولات را در بینهایت وبسایت استفاده کنید. تمامی افزونه های موجود در WP NEEDS، بدون سورس گاردین است و شما دسترسی آزاد به سورس کد ها را دارید.