بهبود سرعت وردپرس با افزونه Performant Translations

یاین اول ببینیم اصلاً این افزونه چی کار می‌کنه. Performant Translations یه پلاگین نسبتاً جدیده که توسط یکی از توسعه‌دهنده‌های هسته وردپرس ساخته شده. همین نکته خودش نشون میده که قضیه جدیه، چون وقتی آدمای پشت پرده وردپرس وارد میشن یعنی احتمالاً یه مشکلی بوده که باید حل می‌شده.

مشکل چی بوده؟ خب، سایت‌هایی که غیرانگلیسی هستن – مثل سایت‌های فارسی، عربی، فرانسوی یا هر زبان دیگه – معمولاً کندتر از سایت‌های انگلیسی لود میشن. دلیلشم برمی‌گرده به سیستم ترجمه وردپرس. وردپرس برای ترجمه از فایل‌های خاصی استفاده می‌کنه به اسم PO و MO. این فایل‌ها مثل یه دیکشنری هستن که هر وقت کاربر یه متن رو می‌بینه، وردپرس میره از اون فایل‌ها ترجمه رو پیدا می‌کنه و نشون میده.

حالا مشکل اینجاست که این فرآیند سریع نیست. یعنی وقتی سایت بخواد بارها و بارها این فایل‌ها رو بخونه، یه تأخیر توی سرعت ایجاد میشه. مخصوصاً برای سایت‌هایی که سنگین هستن یا چندزبانه کار می‌کنن، این تأخیر بیشتر هم میشه.

اینجاست که Performant Translations وارد میشه. این پلاگین میاد تمام اون فایل‌های MO رو به فایل‌های PHP تبدیل می‌کنه. چرا؟ چون فایل‌های PHP هم راحت‌تر خونده میشن و هم قابلیت کش شدن دارن. یعنی سرور می‌تونه اونا رو سریع‌تر پردازش کنه و در نتیجه سرعت سایت بالا بره.

آنچه در این مقاله می‌خوانید

افزونه Performant Translations چیست؟

اگه بخوایم یه توضیح خیلی ساده بدیم، Performant Translations همون افزونه‌ایه که اومده یکی از قدیمی‌ترین مشکلات وردپرس رو حل کنه: کندی سایت‌های غیرانگلیسی. این پلاگین میاد فایل‌های ترجمه‌ای که وردپرس همیشه مجبور بود بارها و بارها بخونه (یعنی همون فایل‌های MO) رو تبدیل می‌کنه به فایل‌های PHP. این کار باعث میشه سرور خیلی راحت‌تر بتونه ترجمه‌ها رو پردازش کنه و حتی اونا رو توی حافظه کش نگه داره.

نتیجه؟ سایت‌های فارسی، عربی یا هر زبان دیگه‌ای که همیشه نسبت به سایت‌های انگلیسی یه قدم عقب‌تر بودن، حالا می‌تونن سریع‌تر لود بشن. جالب اینجاست که این افزونه رو یکی از توسعه‌دهنده‌های اصلی وردپرس معرفی کرده، پس فقط یه پروژه فرعی نیست، بلکه احتمالاً بخشی از آینده وردپرس هم خواهد بود.

تاریخچه و معرفی کوتاه افزونه

ماجرا از جایی شروع شد که توسعه‌دهنده‌ها متوجه شدن سایت‌های غیرانگلیسی به طور میانگین حدود ۵۰ درصد کندتر از سایت‌های انگلیسی هستن. دلیلشم این بود که وردپرس برای ترجمه از فایل‌های PO و MO استفاده می‌کرد. این فایل‌ها به خاطر ساختار قدیمی و پردازش سنگینشون، سرعت لود صفحات رو پایین می‌آوردن.

اینجا بود که پاسکال بوچلر، یکی از اعضای تیم اصلی وردپرس، دست به کار شد. اون یه مقاله رسمی منتشر کرد و نتایج تست‌هاشو به اشتراک گذاشت. بعد از بررسی‌های زیاد، نتیجه این شد که بهتره فایل‌های MO به PHP تبدیل بشن تا سرعت پردازش بیشتر بشه. بر همین اساس افزونه Performant Translations ساخته شد.

مقاله  پاسکال بوچلر
مقاله پاسکال بوچلر

نکته جالب اینکه توی وردپرس نسخه ۶.۵ بخشی از این قابلیت‌ها وارد خود هسته شد. این یعنی تیم وردپرس خیلی جدی داره روی این موضوع کار می‌کنه و احتمالاً در آینده اصلاً نیازی نباشه افزونه رو جدا نصب کنیم.

چرا تیم توسعه هسته وردپرس در ساخت آن نقش داشته؟

چون مشکل خیلی بزرگ بود. بیش از نصف کاربرای وردپرس توی دنیا با زبون‌هایی غیر از انگلیسی کار می‌کنن. اگه ترجمه‌ها سرعت رو پایین بیارن، یعنی تجربه میلیون‌ها نفر تحت تأثیر قرار می‌گیره.

برای همین تیم توسعه اصلی وردپرس وارد شد. اون‌ها نمی‌خواستن فقط یه پلاگین شخص ثالث باشه که چند هزار نصب داره؛ می‌خواستن یه راه‌حل واقعی پیدا کنن که بشه در آینده بخشی از خود وردپرس بشه. این افزونه در واقع یه جور «آزمایشگاه» بود. اول به شکل یه پلاگین معرفی شد تا کاربرا نصب کنن، تست کنن و بازخورد بدن. بعد از اینکه مطمئن شدن جواب می‌ده، بخشی از اون به هسته وردپرس اضافه شد.

پس دلیل اصلی حضور تیم هسته واضحه: این فقط یه افزونه عادی نیست، بلکه بخشی از مسیر توسعه وردپرسه برای اینکه کاربرای غیرانگلیسی هم همون سرعت و کیفیت سایت‌های انگلیسی‌زبان رو تجربه کنن.

مشکل اصلی ترجمه در وردپرس چیست؟

وردپرس برای اینکه چندزبانه باشه، از یه سیستم ترجمه استفاده می‌کنه که بهش میگن gettext. این سیستم از همون روزای اول کنار وردپرس بوده و با اینکه کارشو درست انجام می‌ده، اما یه مشکل بزرگ داره: سرعت. مخصوصاً وقتی سایت شما فارسی، عربی یا هر زبون دیگه‌ای باشه، احتمالاً متوجه شدین که یه جورایی لود صفحات کُندتر از سایت‌های انگلیسیه.

دلیلش اینه که وردپرس برای هر متن باید سراغ فایل‌های ترجمه (همون MO و PO) بره، اونا رو بخونه و بعد ترجمه رو نمایش بده. این روند ساده به نظر میاد، اما وقتی هزاران متن و رشته مختلف داشته باشی، حسابی وقت و منابع سرور رو می‌گیره. همین باعث شده همیشه سایت‌های غیرانگلیسی نسبت به نسخه انگلیسی یه پله عقب‌تر باشن.

مفهوم i18n و l10n در وردپرس

اینجا دوتا اصطلاح معروف داریم: i18n و l10n.

  • i18n مخفف Internationalization ـه. یعنی آماده کردن وردپرس برای اینکه بشه ترجمه‌ش کرد. این بیشتر سمت برنامه‌نویس‌هاست؛ اونا باید توی کد قالب یا افزونه طوری متن‌ها رو بذارن که بعداً قابل ترجمه باشن.
  • l10n مخفف Localization ـه. یعنی همون ترجمه واقعی. این یکی سمت کاربرا و مترجماست؛ یعنی بیایم وردپرس یا یه افزونه رو به فارسی یا هر زبان دیگه‌ای ترجمه کنیم.

این دوتا پایه و اساس ترجمه توی وردپرسن. مشکل اینجاست که روش پیاده‌سازیشون با فایل‌های PO و MO اونقدر بهینه نیست و همینجا گره کار ایجاد میشه. پس خلاصه‌ش این میشه:

  • i18n بیشتر سمت توسعه‌دهنده‌هاست، یعنی آماده کردن کد برای ترجمه.
  • l10n بیشتر سمت کاربرا و مترجماست، یعنی ترجمه کردن و بومی‌سازی محتوا برای یه زبون خاص.

مشکل وردپرس هم دقیقاً از همین نقطه شروع میشه. i18n و l10n خیلی خوب طراحی شدن، اما روش پیاده‌سازی و فایل‌هایی که برای این کار استفاده میشه (یعنی همون PO و MO) باعث کندی سایت میشه. و این همون جاییه که Performant Translations میاد وسط ماجرا و میگه: «بیاین اینو سریع‌تر کنیم.»

فایل‌های PO و MO چه هستند و چه نقشی دارند؟

فایل PO رو می‌تونیم مثل دفترچه ترجمه در نظر بگیریم. توش متن اصلی و ترجمه‌ش کنار هم نوشته میشه. مثلاً “Read More” و مقابلش “ادامه مطلب”. این فایل برای مترجماست.

وقتی کار ترجمه تموم میشه، فایل PO تبدیل میشه به یه فایل MO. این دیگه برای کامپیوتره، نه برای آدم. یعنی وردپرس موقع لود شدن سایت، میره سراغ همین فایل MO و ترجمه‌های لازم رو از اون می‌خونه.

ایراد ماجرا اینه که این فایل‌های MO باید بارها و بارها باز بشن و پردازش بشن. این روند برای سایت‌های کوچیک شاید چندان آزاردهنده نباشه، اما توی سایت‌های بزرگ یا چندزبانه، می‌تونه باعث افت جدی سرعت بشه.

چرا سایت‌های غیرانگلیسی کندتر می‌شوند؟

چون وردپرس باید مدام سراغ فایل‌های MO بره. وقتی سایت انگلیسیه، متن‌ها مستقیم داخل کدن و نیاز به ترجمه ندارن. اما وقتی سایت فارسی یا چندزبانه میشه، هر بار لود صفحه مساویه با صدها یا حتی هزاران بار مراجعه به فایل‌های MO.

تحقیقاتی که توسط تیم وردپرس انجام شد نشون داد سایت‌های غیرانگلیسی به طور میانگین ۵۰ درصد کندتر از سایت‌های انگلیسی هستن. یعنی نصف سرعت فقط به خاطر همین ترجمه‌ها از دست میره.

از طرفی فایل‌های MO قابل کش شدن توسط ابزارهایی مثل OPcache هم نیستن. این یعنی هر بار باید دوباره پردازش بشن. و این همون مشکلیه که باعث میشه خیلی از مدیرای سایت حس کنن سایت انگلیسیشون سریع‌تر از نسخه ترجمه‌شده‌ست.

عملکرد افزونه Performant Translations چگونه است؟

تا اینجا فهمیدیم مشکل از کجاست: وردپرس برای ترجمه از فایل‌های MO استفاده می‌کنه که پردازش‌شون سنگینه و سرعت سایت‌های غیرانگلیسی رو پایین میاره. حالا Performant Translations اومده دقیقاً همین گره رو باز کنه.

این افزونه وقتی روی سایت نصب میشه، پشت صحنه میره و همه فایل‌های MO رو تبدیل می‌کنه به فایل‌های PHP. نتیجه این میشه که سرور به جای اینکه هر بار با فایل‌های باینری MO درگیر بشه، مستقیم با یه فایل PHP طرفه. و همونطور که می‌دونید، پردازش فایل PHP برای سرور خیلی راحت‌تر و سریع‌تره. حالا بریم ببینیم دقیقاً چه کارهایی می‌کنه و چه مزایایی داره.

تبدیل فایل‌های MO به PHP و مزایای آن

اینجا اصل داستان همینه. فایل‌های MO ذاتاً برای خوندن توسط ماشین طراحی شدن، ولی پردازششون توی وردپرس بهینه نیست. افزونه میاد همین فایل‌ها رو می‌گیره، ترجمه‌هاشو می‌خونه و به شکل آرایه‌های PHP ذخیره می‌کنه.

مزیتش چیه؟ اول اینکه سرعت دسترسی خیلی بیشتر میشه. وردپرس دیگه لازم نیست هی فایل باینری رو باز کنه و بگرده دنبال ترجمه، بلکه همه‌چیز آماده‌ست توی یه فایل PHP. دوم اینکه این فایل‌های PHP می‌تونن کش بشن (برخلاف MO). سوم هم اینکه هر بار که بسته زبان به‌روزرسانی بشه، افزونه خودش دوباره فایل جدید می‌سازه و نیازی به دخالت دستی شما نیست.

نقش OPcache در بهبود سرعت

اینجا قضیه جالب‌تر میشه. OPcache یه قابلیت معروف توی PHP هست که کدها رو بعد از اولین اجرا توی حافظه نگه می‌داره. یعنی دفعه بعد که همون فایل صدا زده بشه، دیگه نیازی به پردازش مجدد نداره و مستقیم از حافظه اجرا میشه.

مشکل این بود که فایل‌های MO اصلاً با OPcache سازگار نبودن. یعنی هر بار باید دوباره پردازش می‌شدن. ولی وقتی این فایل‌ها به PHP تبدیل میشن، OPcache می‌تونه اونا رو بکشه و این یعنی افزایش سرعت قابل توجه.

به زبان ساده، Performant Translations و OPcache کنار هم مثل یه تیم عمل می‌کنن: یکی فایل‌های ترجمه رو به زبون PHP درمیاره، اون یکی هم همونو توی حافظه نگه می‌داره تا هر بار نیاز به پردازش جدید نباشه.

نتایج بنچمارک و تست‌های واقعی

خب، همه اینا روی کاغذ خیلی قشنگه، ولی توی عمل چی؟ تست‌هایی که روی سایت‌های مختلف انجام شده نشون میده تفاوت محسوسه. طبق بنچمارک‌های منتشرشده توسط تیم وردپرس:

  • وقتی سایت انگلیسیه، زمان پردازش ترجمه حدود ۱۵۰ میلی‌ثانیهه.
  • وقتی سایت ترجمه‌شده‌ست (مثلاً فارسی یا آلمانی)، این زمان به حدود ۲۰۰ میلی‌ثانیه می‌رسه.
  • اما وقتی Performant Translations نصب میشه، دوباره زمان پردازش برمی‌گرده به همون ۱۵۰ میلی‌ثانیه یا حتی کمتر.

این یعنی سایت‌های غیرانگلیسی که همیشه یه پله عقب‌تر بودن، با این افزونه می‌تونن تقریباً به سرعت سایت‌های انگلیسی برسن. البته باید واقع‌بین بود. این افزونه قرار نیست معجزه کنه و سایت شما رو ۱۰ برابر سریع‌تر کنه. ولی می‌تونه اون کندی اضافه‌ای که فقط به خاطر ترجمه‌ها بود رو برطرف کنه. به عبارتی، یکی از تیکه‌های مهم پازل بهینه‌سازی سرعت سایت همینه.

آیا این افزونه واقعاً سرعت سایت را ۱۰ برابر می‌کند؟

یکی از بحث‌هایی که این روزها زیاد شنیده میشه اینه که Performant Translations می‌تونه سرعت سایت رو ده برابر کنه. این ادعا خیلی جذابه و طبیعیه که توجه همه رو جلب کنه. اما بذاریم منطقی نگاه کنیم. هیچ پلاگینی به تنهایی نمی‌تونه همچین جهش بزرگی توی سرعت سایت ایجاد کنه. این افزونه قراره یه مشکل مشخص و بزرگ رو حل کنه؛ یعنی کندی سایت‌های غیرانگلیسی به خاطر فایل‌های ترجمه. ولی اینکه انتظار داشته باشیم یه شبه سرعت سایت‌مون ده برابر بشه، واقعاً یه سوءتفاهمه.

قبل از نصب افزونه Performant Translations با کلیک راست کردن برروی صفحه سایت و انتخاب تب Network می توانید سرعت لود شدن سایت را مانند تصویر ببینید.

start load time
سرعت لود شدن سایت قبل از فعالسازی افزونه Performant Translations

و بعد از نصب آن مجدد تست سرعتی از آن گرفتیم که به نظر خوب می آمد.

final load time
سرعت لود شدن سایت بعد از فعالسازی افزونه Performant Translations

سوءتفاهم درباره افزایش سرعت ۱۰ برابری

داستان ده برابر شدن سرعت از اینجا اومده که بعضی‌ها نتایج بنچمارک‌ها رو درست متوجه نشدن. تست‌هایی که انجام شده نشون داده سایت‌های غیرانگلیسی وقتی از فایل‌های MO استفاده می‌کنن، حدود ۵۰ میلی‌ثانیه کندتر از سایت‌های انگلیسی هستن. وقتی Performant Translations نصب میشه، این فاصله تقریباً از بین میره. یعنی سایت غیرانگلیسی دوباره سرعتی نزدیک به سایت انگلیسی پیدا می‌کنه.

این یعنی بهبود سرعت، اما نه ده برابر شدن. در واقع اگر سایتی دو ثانیه طول می‌کشیده تا لود بشه، با این افزونه شاید برسه به یک و نیم ثانیه. این خیلی خوبه و تجربه کاربری رو حسابی بهتر می‌کنه، اما با “ده برابر شدن سرعت” خیلی فرق داره. مشکل از اونجایی شروع شد که بعضی‌ها این اعداد رو بزرگ‌نمایی کردن و اینطوری جا افتاد که انگار افزونه قراره معجزه کنه.

نقش فاکتورهای مختلف در سرعت سایت

اینجا باید یه نکته مهم رو در نظر گرفت. سرعت سایت یه چیز چندبعدیه و به صد تا عامل ریز و درشت بستگی داره. سروری که سایت روش میزبانی میشه، کیفیت هاست، بهینه بودن قالب، تعداد و نوع افزونه‌هایی که استفاده می‌کنیم، کش سمت سرور، CDN، بهینه‌سازی تصاویر، حتی دیتابیس سایت؛ همه اینا توی سرعت سایت دخیلن.

مثلاً شما اگه روی یه هاست ضعیف با منابع محدود کار کنی، حتی بهترین افزونه‌های بهینه‌سازی هم نمی‌تونن معجزه کنن. یا فرض کن قالبی که استفاده می‌کنی پر از کدهای اضافیه و درست بهینه نشده، خب طبیعیه که سرعت سایت پایین بیاد. توی چنین شرایطی، Performant Translations فقط می‌تونه بخش ترجمه رو سریع‌تر کنه، نه اینکه کل سایت رو پرواز بده.

پس واقع‌بین بودن خیلی مهمه. این افزونه یه ابزار قدرتمنده برای اینکه سایت‌های غیرانگلیسی به سرعت سایت‌های انگلیسی نزدیک بشن. ولی اگه بخوایم سایت واقعاً سریع داشته باشیم، باید همه جوانب رو در نظر بگیریم و فقط به یه پلاگین تکیه نکنیم.

مقایسه Performant Translations با سایر روش‌های بهینه‌سازی ترجمه

وقتی بحث ترجمه در وردپرس پیش میاد، Performant Translations تنها گزینه روی میز نیست. روش‌های دیگه‌ای هم وجود دارن که سال‌ها برای بهبود سرعت سایت‌های غیرانگلیسی استفاده شدن. حالا بیایم این روش‌ها رو کنار Performant Translations بررسی کنیم تا ببینیم چه تفاوت‌هایی دارن و کدوم می‌تونه انتخاب بهتری باشه.

استفاده از کش (Redis، Memcached، APCu)

یکی از رایج‌ترین روش‌ها برای سریع‌تر کردن ترجمه‌ها، کش کردنه. یعنی به جای اینکه هر بار وردپرس بره فایل MO رو بخونه و ترجمه رو پیدا کنه، ترجمه‌های پرکاربرد داخل حافظه ذخیره بشن. برای این کار ابزارهایی مثل Redis، Memcached و APCu استفاده می‌شن.

Redis و Memcached روی سرور نصب می‌شن و اطلاعات رو توی RAM ذخیره می‌کنن. این یعنی سرعت دسترسی خیلی بالا میره، چون RAM خیلی سریع‌تر از دیسکه. APCu هم بیشتر به شکل داخلی روی PHP کار می‌کنه و داده‌ها رو همون‌جا نگه می‌داره.

این روش توی عمل خیلی جواب داده، اما یه مشکل داره. پیاده‌سازی و تنظیم درستش نیاز به دانش فنی داره. اگه سرور رو درست کانفیگ نکنی، به جای اینکه سرعت بهتر بشه ممکنه کل سایت دچار مشکل بشه. علاوه بر این، همه هاستینگ‌ها اجازه نصب Redis یا Memcached رو نمی‌دن. پس این روش بیشتر مناسب کساییه که سرور اختصاصی یا مدیریت‌شده دارن.

استفاده از Native Gettext

روش دیگه‌ای که مطرح شده استفاده از Native Gettext توی PHP هست. این روش در واقع می‌گه به جای اینکه وردپرس خودش فایل‌های MO رو بخونه و پردازش کنه، بذاریم خود PHP این کارو انجام بده. چون PHP به صورت بومی از gettext پشتیبانی می‌کنه، بعضی‌ها معتقدن سرعتش بیشتره.

اما این روش هم محدودیت‌های خودش رو داره. اول اینکه به تنظیمات و قابلیت‌های سرور وابسته‌ست. همه سرورها پشتیبانی کامل از Native Gettext رو ندارن و همین می‌تونه مشکل‌ساز بشه. دوم اینکه بعضی وقت‌ها در عمل تفاوت سرعتی که انتظار می‌ره دیده نمیشه. یعنی روی کاغذ خوبه، ولی توی دنیای واقعی همیشه نتیجه عالی نمی‌ده.

مزایا و معایب هر روش

هر کدوم از این روش‌ها یه سری خوبی‌ها و بدی‌ها دارن. کش کردن ترجمه‌ها با Redis یا Memcached سرعت فوق‌العاده‌ای میده، اما دردسر نصب و پیکربندی داره. Native Gettext ساده‌تر به نظر می‌رسه، ولی وابسته به محیط سروره و همیشه هم نتیجه دلخواه نمی‌ده.

Performant Translations این وسط یه راه میانه و کم‌دردسر ارائه می‌ده. شما فقط افزونه رو نصب می‌کنین و خودش همه فایل‌های MO رو به PHP تبدیل می‌کنه. این فایل‌ها هم راحت‌تر خونده می‌شن، هم می‌تونن توسط OPcache کش بشن. یعنی بدون دردسر تنظیمات پیچیده، می‌تونید همون نتیجه رو بگیرین.

پس اگه بخوایم جمع‌بندی کنیم، روش‌های کش و Native Gettext بیشتر برای کسایی مناسبن که دانش فنی و دسترسی کامل به سرور دارن. ولی برای کاربرای عادی یا حتی مدیرای سایتی که دنبال یه راه ساده هستن، Performant Translations انتخاب منطقی‌تر و کم‌ریسک‌تریه.

مزایا و ویژگی‌های افزونه Performant Translations

حالا که با ساختار و روش کار Performant Translations آشنا شدیم، وقتشه درباره مزایا و ویژگی‌های مهمش حرف بزنیم. چیزی که این افزونه رو خاص می‌کنه اینه که دقیقاً روی نقطه‌ضعف وردپرس دست گذاشته و بدون دردسر پیچیده، سرعت سایت‌های غیرانگلیسی رو بهتر می‌کنه. اما بیایم جزئی‌تر ببینیم چه ویژگی‌هایی داره.

سازگاری با افزونه‌های چندزبانه (WPML، Polylang، TranslatePress)

یکی از مهم‌ترین سوالا اینه که این افزونه با پلاگین‌های چندزبانه معروف مثل WPML، Polylang و TranslatePress سازگاره یا نه. چون بیشتر سایت‌هایی که چندزبانه هستن از یکی از این ابزارها استفاده می‌کنن. خبر خوب اینه که Performant Translations با این افزونه‌ها تست شده و بدون مشکل کار می‌کنه.

یعنی اگه سایتی دارین که هم فارسیه، هم انگلیسی، یا حتی چندین زبان مختلف داره، می‌تونین خیالتون راحت باشه که Performant Translations باهاش سازگاره. این نکته خیلی مهمه چون اگه قرار بود فقط روی سایت‌های تک‌زبانه کار کنه، عملاً نصف کارایی خودش رو از دست می‌داد.

نصب و راه‌اندازی ساده بدون تنظیمات اضافی

یکی دیگه از ویژگی‌های جالب این پلاگین سادگیه. خیلی از روش‌های بهینه‌سازی ترجمه (مثل کش یا Native Gettext) نیاز به پیکربندی و تنظیمات فنی دارن، اما Performant Translations اصلاً اینطور نیست.

کافیه از مخزن وردپرس نصبش کنین و فعالش کنین. همین. هیچ صفحه تنظیمات پیچیده‌ای نداره، نیازی هم نیست دستی چیزی رو تغییر بدین. افزونه خودش به‌صورت خودکار همه فایل‌های MO رو به PHP تبدیل می‌کنه و سایت شما رو آماده می‌کنه.

برای کاربرای عادی وردپرس که دنبال دردسر نیستن، این ویژگی واقعاً ارزشمنده. چون خیلی‌ها فقط می‌خوان سایت سریع‌تر بشه، بدون اینکه وارد جزئیات فنی سرور یا کدنویسی بشن.

تأثیر روی مصرف منابع سرور

یه سوال دیگه‌ای که پیش میاد اینه که آیا نصب این افزونه خودش منابع سرور رو بیشتر درگیر نمی‌کنه؟ جواب کوتاه اینه: نه، برعکس. درسته که موقع نصب و اجرای اولیه، افزونه باید فایل‌های MO رو تبدیل کنه به PHP، اما این کار فقط یه بار انجام میشه. بعدش دیگه سایت شما از فایل‌های PHP استفاده می‌کنه که خیلی سریع‌تر و سبک‌تر از MO هستن.

از اونجایی که این فایل‌ها قابلیت کش شدن با OPcache رو هم دارن، در طولانی‌مدت فشار خیلی کمتری به CPU و دیسک وارد میشه. نتیجه‌اش اینه که هم زمان پاسخگویی بهتر میشه، هم مصرف منابع سرور پایین‌تر میاد. به همین دلیل این افزونه حتی روی هاست‌های اشتراکی هم می‌تونه مفید باشه. چون روی چنین سرورهایی منابع محدوده و هر چیزی که فشار کمتری به سرور وارد کنه، ارزش زیادی داره.

چه زمانی نصب این افزونه ضروری است؟

حالا که فهمیدیم Performant Translations چطور کار می‌کنه و چه مزایایی داره، باید به یه سوال مهم جواب بدیم: کی لازمه این پلاگین رو نصب کنیم و کی می‌تونیم بی‌خیالش بشیم؟ واقعیت اینه که نصب هر افزونه‌ای روی وردپرس باید با فکر و منطق باشه، چون هر پلاگین یه بخشی از منابع سایت رو اشغال می‌کنه. پس باید ببینیم دقیقاً کجا استفاده از Performant Translations ارزش داره.

سایت‌های فارسی و غیرانگلیسی

اگه سایت شما فارسی، عربی، ترکی یا هر زبان غیرانگلیسی دیگه‌ایه، این افزونه می‌تونه کمک بزرگی براتون باشه. چون همونطور که گفتیم، وردپرس به صورت پیش‌فرض روی سایت‌های غیرانگلیسی کندتر عمل می‌کنه. دلیلشم فایل‌های ترجمه هستن که مدام باید پردازش بشن.

Performant Translations دقیقاً برای همین مشکل ساخته شده. پس اگه یه سایت کاملاً فارسی دارین، به احتمال خیلی زیاد بعد از نصب این پلاگین یه بهبود قابل توجه توی سرعت حس می‌کنین.

سایت‌های چندزبانه با حجم بالا

وقتی سایت شما چندزبانه‌ست و مخصوصاً بازدید زیادی داره، اهمیت استفاده از این افزونه چند برابر میشه. چون توی سایت‌های چندزبانه، وردپرس مدام باید بین زبان‌های مختلف سوئیچ کنه و همین یعنی ترجمه‌ها بیشتر از همیشه استفاده می‌شن.

فرض کن یه فروشگاه آنلاین داری که هم به فارسی فعاله، هم به انگلیسی، هم مثلاً به عربی. اینجا ترجمه‌ها بخش جدانشدنی سایتت هستن و هرچه سریع‌تر پردازش بشن، تجربه کاربری بهتری به بازدیدکننده‌ها میدی. Performant Translations توی این شرایط واقعاً می‌تونه تفاوت ایجاد کنه.

سایت‌های کوچک یا تک‌زبانه انگلیسی

اما اگه سایتت کوچیکه یا اصلاً به زبان انگلیسی کار می‌کنی، این افزونه عملاً به کارت نمیاد. چون همون مشکلی که می‌خواستیم حل کنیم (کندی فایل‌های ترجمه) اصلاً وجود نداره. سایت‌های تک‌زبانه انگلیسی مستقیم متن‌ها رو از کد می‌خونن و نیازی به پردازش ترجمه ندارن.

حتی اگه سایت غیرانگلیسی کوچیکی داری که ترافیک زیادی روش نیست، شاید تفاوت سرعتی خیلی به چشم نیاد. پس توی این شرایط نصب این پلاگین بیشتر یه انتخابه تا ضرورت.

مراحل نصب و تست افزونه

حالا اگه تصمیم گرفتید افزونه Performant Translations رو روی سایتتون امتحان کنید، خبر خوب اینه که نصب و تستش اصلاً کار سختی نیست. درست مثل هر افزونه دیگه‌ای توی وردپرس، توی چند دقیقه می‌تونید فعالش کنید و بعد هم تأثیرش رو روی سرعت سایت ببینید.

دانلود و نصب از مخزن وردپرس

اولین قدم مثل همیشه رفتن به بخش افزونه‌ها در پیشخوان وردپرسه. وارد قسمت “افزودن” بشین و اسم Performant Translations رو توی کادر جستجو وارد کنید. بعد از چند ثانیه افزونه براتون ظاهر میشه و می‌تونید روی دکمه “نصب” و بعد “فعال‌سازی” کلیک کنید.

نصب افزونه Performant Translations
نصب افزونه Performant Translations

برخلاف خیلی از پلاگین‌های بهینه‌سازی، این افزونه هیچ تنظیمات پیچیده‌ای نداره. یعنی لازم نیست برید توی بخش تنظیمات و ده تا گزینه مختلف رو تغییر بدین. به محض اینکه فعال بشه، خودش شروع می‌کنه به کار و فایل‌های MO موجود رو به PHP تبدیل می‌کنه.

این روند ممکنه توی اولین اجرا یه کم زمان ببره، چون باید همه فایل‌ها رو تبدیل کنه. اما این کار فقط همون دفعه اول انجام میشه و بعدش همه‌چیز خیلی سریع‌تر خواهد بود.

بررسی سرعت قبل و بعد از نصب

یکی از بهترین کارها برای اینکه مطمئن بشین افزونه واقعاً تأثیر گذاشته اینه که قبل و بعد از نصبش سایت رو تست کنین. ابزارهای مختلفی مثل GTmetrix، Pingdom یا حتی ابزار داخلی کروم (Lighthouse) برای این کار وجود داره.

قبل از نصب، سرعت بارگذاری صفحه اصلی یا چند صفحه مهم سایتتون رو اندازه بگیرین. بعد افزونه رو نصب و فعال کنین و دوباره تست بگیرین. ممکنه توی اولین بار تفاوت خیلی به چشم نیاد، چون افزونه تازه شروع کرده فایل‌ها رو تبدیل کنه. اما وقتی چند بار سایت رو رفرش کنین و تست‌ها رو دوباره انجام بدین، معمولاً سرعت بهتر میشه.

توی خیلی از گزارش‌هایی که منتشر شده، زمان لود ترجمه‌ها حدود ۲۰ تا ۳۰ درصد کاهش پیدا کرده. یعنی مثلاً اگه قبلاً لود ترجمه‌ها ۲۰۰ میلی‌ثانیه طول می‌کشیده، حالا به ۱۵۰ میلی‌ثانیه یا حتی کمتر می‌رسه.

این تغییر شاید روی کاغذ خیلی زیاد به نظر نیاد، ولی وقتی کل سایت رو در نظر بگیرین، همین تفاوت‌های جزئی باعث تجربه کاربری روان‌تر و حتی رتبه بهتر توی گوگل میشه.

ریسک‌ها و نکات مهم پیش از استفاده

هر افزونه‌ای علاوه بر مزایا، ممکنه یه سری ریسک‌ها و نکات هم داشته باشه که باید قبل از نصب در نظر گرفت. Performant Translations هم از این قاعده مستثنی نیست. درسته که ایده و عملکردش خیلی هوشمندانه‌ست، اما بهتره چشم‌بسته نصبش نکنین و چند نکته مهم رو در نظر داشته باشین.

احتمال ناسازگاری با برخی قالب‌ها و افزونه‌ها

وردپرس یه اکوسیستم خیلی گسترده‌ست. هزاران قالب و افزونه وجود دارن که هر کدوم ممکنه روش خودشونو برای مدیریت ترجمه‌ها داشته باشن. در بیشتر موارد Performant Translations بدون مشکل با این قالب‌ها و افزونه‌ها کار می‌کنه، ولی همیشه احتمال ناسازگاری وجود داره.

مثلاً بعضی افزونه‌های چندزبانه یا حتی قالب‌های سفارشی ممکنه طوری کدنویسی شده باشن که وابسته به فایل‌های MO باشن. در این شرایط، وقتی افزونه بخواد فایل‌ها رو به PHP تبدیل کنه، ممکنه یه سری از ترجمه‌ها درست لود نشن. این احتمال خیلی کمه، اما صفر هم نیست.

اهمیت گرفتن بکاپ قبل از نصب

به خاطر همین ریسک‌های احتمالی، بهترین کار اینه که قبل از نصب افزونه یه بکاپ کامل از سایتتون بگیرین. چه روی هاستینگ بکاپ‌گیری خودکار داشته باشین، چه با پلاگین‌های مخصوص مثل UpdraftPlus یا Duplicator، مهم اینه که یه نسخه مطمئن از سایت داشته باشین تا اگه مشکلی پیش اومد، سریع برگردین به حالت قبل.

این کار شاید چند دقیقه وقت بگیره، ولی خیالتون راحت میشه که چیزی رو از دست نمی‌دین. مخصوصاً اگه سایتتون بزرگ باشه یا فروشگاه آنلاین داشته باشین، گرفتن بکاپ قبل از هر تغییر جدی واجبه.

آینده افزونه Performant Translations

Performant Translations فقط یه پلاگین ساده نیست، بلکه می‌شه گفت یه جور پروژه آزمایشی برای وردپرسه. یعنی تیم اصلی وردپرس این افزونه رو منتشر کرد تا اول روی سایت‌های واقعی تست بشه و بعد بخش‌های اصلیش وارد هسته بشن. همین حالا هم توی نسخه‌های جدید وردپرس بعضی از قابلیت‌های این پلاگین اضافه شده و این نشون می‌ده که آینده روشنی در انتظارشه.

ادغام با هسته وردپرس در نسخه‌های جدید

یکی از اتفاقات مهمی که افتاد، این بود که بخشی از عملکرد Performant Translations توی وردپرس ۶.۵ وارد هسته شد. این یعنی تیم وردپرس رسماً پذیرفته که روش تبدیل فایل‌های MO به PHP راه‌حل مناسبیه.

این موضوع خیلی امیدوارکننده‌ست، چون اگه در نسخه‌های بعدی وردپرس این قابلیت به طور کامل وارد هسته بشه، دیگه لازم نیست کاربران افزونه رو جدا نصب کنن. به عبارتی همه سایت‌های غیرانگلیسی به طور پیش‌فرض سریع‌تر می‌شن.

پیش‌بینی توسعه و پشتیبانی بلندمدت

با توجه به اینکه خود تیم هسته پشت این افزونه‌ست، می‌شه گفت توسعه و پشتیبانی بلندمدتش تضمین‌شده‌ست. برخلاف بعضی پلاگین‌ها که بعد از مدتی رها می‌شن، این یکی احتمالاً همگام با نسخه‌های جدید وردپرس به‌روزرسانی میشه.

به علاوه، هر چی کاربران بیشتری از افزونه استفاده کنن و بازخورد بدن، مشکلات احتمالی هم سریع‌تر رفع می‌شن. این یعنی در آینده نسخه‌های پایدارتری خواهیم داشت و ریسک استفاده ازش کمتر میشه.

نتیجه‌ گیری

حالا که همه جوانب ماجرا رو بررسی کردیم، وقتشه به سؤال اصلی جواب بدیم: آیا نصب Performant Translations واقعاً ارزش داره یا نه؟ جواب کوتاه اینه: بله، اما بستگی به شرایط سایت شما داره.

اگه سایت شما فارسی یا هر زبان غیرانگلیسی دیگه‌ایه، این افزونه می‌تونه یه تغییر محسوس توی سرعت ایجاد کنه. مخصوصاً اگه سایتتون بزرگ باشه یا چندزبانه باشه، بهبود سرعتی که این پلاگین ایجاد می‌کنه خیلی واضح‌تر حس میشه. چون درست همون مشکلی رو هدف گرفته که باعث میشه سایت‌های غیرانگلیسی همیشه از نسخه‌های انگلیسی عقب‌تر باشن.

اما اگه سایتتون فقط انگلیسیه یا ترافیک خیلی زیادی نداره، واقعیت اینه که تاثیرش براتون چندان به چشم نمیاد. در این شرایط می‌تونین بدون نگرانی از نصب نکردنش ادامه بدین.

یه نکته دیگه هم اینکه هر افزونه‌ای که روی وردپرس نصب می‌کنین باید با فکر باشه. Performant Translations افزونه سبکیه و خودش کار زیادی از سرور نمی‌کشه، اما باز هم توصیه میشه قبل از نصب حتماً یه بکاپ بگیرین و بعد تست کنین. اگه دیدین سرعت سایت بهتر شد، نگهش دارین؛ اگه مشکلی پیش اومد هم خیلی راحت می‌تونین غیرفعالش کنین.

در کل، Performant Translations یه افزونه ارزشمند و آینده‌داره. حتی میشه گفت بیشتر از یه پلاگینه، چون قراره در آینده بخش‌هایی از اون وارد هسته وردپرس بشه. پس اگر سایت شما غیرانگلیسی یا چندزبانه‌ست، به احتمال زیاد جواب بله‌ست: ارزش داره نصبش کنین. شاد و سربلند باشید. 🙂

نظر شما در این مورد چیه؟

  1. U384984 ۱۰ شهریور ۱۴۰۴

    ایول این شد یه کار درستو حسابی … خداخیرتون بده

  2. U383340 ۵ شهریور ۱۴۰۴

    سلام
    واقعا سرعت سایت را افزایش می دهد حتما نصب کنید

  3. U330707 ۱۳ مرداد ۱۴۰۳

    سلام و خسته نباشید
    در صفحه پلاگین نوشته شده که کارکرد این پلاگین در وردپرس 6.5 گنجانده شده و احتمالا دیگر به آن نیاز ندارید.
    Attention: most functionality of this plugin has been merged into WordPress 6.5! You might not need it anymore

  4. U314490 ۱۳ اسفند ۱۴۰۲

    مقاله خوبی بود، خسته نباشید…
    یه سوالی داشتم
    خوده لایت اسپید کش، این گزینه رو نداره که نخوایم این پلاگین رو نصبش کنیم؟
    اگر داره مسیر تنظیماتشو بگید ممنون میشم ❤️🙏

  5. U323704 ۱ بهمن ۱۴۰۲

    سلام اقای راد خسته نباشید برای وب سرور اپاچی چه پلاگین کش مناسب تره ؟

    • Reza Rad رضا راد ۲ بهمن ۱۴۰۲

      سلام و سپاس. وردپرس راکت مناسب هست.

  6. U333113 ۲۲ آبان ۱۴۰۲

    سلام من در ووکامرس محصول مجازی میفروشم میخوام محصولات رایگان طوری باشه که تا رویه ان بزنند دیگه به سبد خرید نره که اطلاعات بخوان وارد کنن و مستقیم وارد ان فیلم بشن

    • Reza Rad رضا راد ۲۴ آبان ۱۴۰۲

      سلام در این صورت نیازی به ووکامرس نیست دیگه. فایل رو مستقیم بذارید رو سایت.

  7. U326186 ۱۶ آبان ۱۴۰۲

    سلام لینکشو بزارید برای دانلود افزونه

  8. U331710 ۱۵ آبان ۱۴۰۲

    من همیشه خیلی رو مخم بود که سرعت وردپرس انقد پایینه …..
    ولی خدارو شکر این افزونه خیلی کمکم کرد که سرعت رو بالا ببره
    مرسی بابت زحماتتون

    • تیم پشتیبانی تیم پشتیبانی ۱۶ آبان ۱۴۰۲

      سلام
      خوشحالیم که این آموزش به شما کمک کرده
      شاد و پیروز باشید

  9. U327272 ۱۳ آبان ۱۴۰۲

    سلام رضا جان شما روند تیمتون چطوری بوده یعنی اولین باری که میهن وردپرس رو شروع کردی تنها بودی بعد تیم گیری کردی یه ویدیو میتونی راجب اینکه چطور تیم جمع کردی و اول کار که سایت رو راه اندازی کردی تنها بودی یا کسی باهات بود

    • Reza Rad رضا راد ۱۴ آبان ۱۴۰۲

      درود بر شما. بله حتما یه ویدیو در موردش ضبط میکنم.

  10. U330742 ۱۳ آبان ۱۴۰۲

    سلام خسته نباشید، چطووز میتونم در عمل سفارش طراحی سایت بگیرم؟ ویدئوی شما در این مورد رو دیدم ولی خیلی کلی بود و چیزی متوجه نشدم، لطفا راهنماییم کنید ممنون

    • Reza Rad رضا راد ۱۴ آبان ۱۴۰۲

      سلام سعی میکنم یه ویدیوی کامل تر براتون ضبط کنم.

گفتگو با تیم فروش سلام! دنبال پاسخ برای سوالات خود هستید؟ ما اینجا آماده کمک به شما هستیم...

در حال بارگذاری مقالات...

پشتیبان گفتگو با تیم فروش
پشتیبان گفتگو با تیم فروش آنلاین و پاسخگوی شما هستیم. آنلاین

در حال بارگذاری...

سوالی درباره محصولات سایت دارید؟ از ما بپرسید.