بسیاری از وبسایتهای ایرانی به واسطهٔ کندی سرعتشان رنجی را بر کاربر تحمیل میکنند؛ کاربری که حتما میدانید در آخرین آمارها مشخص شد که تعداد زیادی از آنها به صورت دایل آپ از اینترنت استفاده میکنند.
به گزارش سرویس فنآوری اطلاعات خبرگزاری دانشجویان ایران (ایسنا)، به نظر میرسد که توجه به این موضوع و یافتن راه حلی برای آن امری اجتنابناپذیر برای صاحبان وبسایتها باشد. برای انجام این کار میتوان مراحل زیر را دنبال کرد.
مرحله اول: دانلود و فعال کردن WP Minify
در قسمت افزودن افزونهها، WP Minify را بجویید و نصب کنید. وقتی که آن را فعال کردید از بخش تنظیمات، WP Minify را برگزینید. اطمینان یابید که همه بخشهای CSS، جاوا اسکریپت و HTML Minification تیکدار شده و فعال هستند.
مرحله دوم: دانلود و فعال کردن W۳ Total Cache
پس از اینکه افزونه را فعال کردید، بخشی جدید به نام Performance در انتهای پنل سمت راست ظاهر میشود. به جز CDN و Minify باقی بخشها را فعال کنید؛ چرا که اولا اکانت CDN ندارید و دوما WP Minify به مراتب بهتر از بخش Minify توتال کش کار میکند؛ هم به تجربه و هم به توصیه صاحبنظران.
در قسمت Page Cache دقت کنید که گزینههای Cache home page و Cache feeds تیکدار باشند. در بخش Browser Cache گزینههایی مانند Expires Header و Etags و غیره را میبینید، تمام آنها را تیکدار کنید. با انجام هر تغییری بر روی افزونههای وردپرس، W۳ Total Cache از شما میخواهد که کش را خالی کنید.
برای اطلاعات کامل در مورد نحوه نصب و راه اندازی این افزونه و همچنین CDN به ادامه مطلب مراجعه نمایید.
مرحله سوم: دانلود و فعال کردن WP Smush. it
با فعال کردن این افزونه از این پس عکسهای آپلود شدهٔ شما بهینه میشوند. البته برای اینکه عکسهای آپلود شده پیش از نصب این افزونه را نیز بهینه سازید، پس از انتخاب تصاویر برروی! Smush. it now در بخش کتابخانه کلیک کنید
اقدامات بالا برای یک سایت با سرعت خوب کافیه ولی اگه می خواین سرعت بالاتری داشته باشید بسم الله
نحوه نصب و راه اندازی کامل W۳ Total Cache و CDN در آن
W۳ Total Cache سریعترین و کاملترین افزونه برای بالا بردن سرعت و کارایی سایت وردپرس شماست. سایتهای بزرگی که از این افزونه استفاده میکنند، گویای این مطلب است. سایتهایی مثل: mashable. com، smashingmagazine. com، yoast. com، WPBeginner . افزونه W۳ Total Cache کارایی سایت را بالا میبرد، همه اجزا سایت را کش (Cache) میکند، سرعت دانلود را کاهش میدهد و امکان استفاده یکپارچه از سیستم CDN یا همان Content Delivery Network را فراهم میکند، پس نتیجه نهایی برای کاربر، بالا بودن سرعت سایت خواهد بود.
۱. نصب W۳ Total Cache در وردپرس
قبل از نصب W۳ Total Cache، باید مطمئن شویم که هیچ افزونه کش کننده دیگری (مثل WP Super Cache) فعال نباشد. در غیر این صورت ممکن است بمحض فعال سازی آن، خطا داده شود. برای نصب افزونه میتوانید به طریق زیر عمل کنید:
به مدیریت وردپرس رفته و روی Plugins» Add New کلیک کنید. حالا عبارت «W۳ Total Cache» را جستجو کنید. نتیجه باید شبیه شکل زیر باشد:
حالا افزونه را نصب و فعال کنید. اگر میخواهید با FTP این کار را انجام دهید، میتوانید آنرا دانلود کرده و سپس در مسیر /wp-content/plugins/ آپلود کنید. به محض فعال شدن این افزونه، یک منو بنام «Performance» به منوهای مدیریت اضافه میشود. با کلیک بر روی آن، وارد تنظیمات میشوید.
۲. تنظیمات و پیکربندی W۳ Total Cache
W۳ Total Cache افزونهای است بسیار قدرتمند (به قول دوستان فرنگی، Powerfull!)، بنابراین انبوهی از تنظیمات مختلف دارد که میخواهیم جز به جز آنها را بررسی کنیم ولی قبل از هر چیز و بر اساس یک قانون نانوشته، باید از تنظیمات عمومی دیدن کنیم.
تنظیمات عمومی
برای دسترسی به این بخش میتوانیم از دو راه زیر وارد شویم:
اول شما گزینهای را برای فعال یا غیر فعال کردن حالت پیش نمایش (Preview) میبینید. فعال بودن پیش نمایش به معنی تقریبا غیرفعال بودن افزونه است پس باید آن را غیرفعال کنید تا افزونه فعال شده و از حالت صرفا نمایشی به حالت کار درآید. مثل شکل زیر:
گزینه دیگر این صفحه، بخش Page Cache است. این بخش مثل افزونه WP Super Cache کار میکند. وظیفه این قسمت از سیستم ما، ایجاد صفحه ایستای کش از هر صفحهای است که بارگذاری میشود، بنابراین لازم نیست موقع load صفحات برای هر کاربر، صفحه به صورت داینامیک (تعامل با پایگاه داده) از نو بارگذاری شود. با فعال بودن این گزینه، سرعت بازگذاری شما تا حد قابل توجهی افزایش مییابد.
برای سرورهای اشتراکی که کابران زیادی از آن استفاده میکنند، گزینه Disk (Enhanced) شدیدا پیشنهاد میشود. نتیجه مطابق شکل زیر خواهد بود:
بعد از Page Cache میتوانی Minify یا همان خرد کردن را ببینیم. Minify یک تکنیک مشهور برای کاهش حجم فایلهای CSS، JS، HTML، پستها، صفحات و فیدهای RSS میباشد. مبنای کار آن نیز حذف محتویات غیر ضروری است که کاربران نیازی به دیدن آنها ندارند. مثلا توضیحات فایلهای شیوه نامه که برای توسعه دهندگان مورد نیاز است، نه کاربران شما. یا فاصلهها را که با حذف آنها، حجم فایلها کم شده و میتواند سرعت بارگذاری را تا ۱۰% افزایش دهد. Disk تنها بهترین گزینه برای سرورهای اشتراکی است. نتیجه کار باید به این شکل باشد:
گزینه بعدی Database Cache است. این میتواند بسیار تعیین کننده باشد زیرا پایه کار وردپرس بر اساس تعامل دائمی با پایگاه داده است. اکثر اوقات ارتباط زیاد با دیتابیس و ارسال پرس و جوهای مختلف، علت اصلی کاهش سرعت سایت هاست که میتواند تا داون شدن و بعد از کار افتادن و خرابی سایت در ترافیکهای بالا هم پیش برود. Database cache پرس و جو (Query)ها را کش کرده و میتواند سرعت سایت را ۱۰۰ برابر افزایش دهد.
گزینه بعدی Object Cache است. این گزینه میتواند سرعت سایتهای فوق العاده داینامیک را که از Object Cache API استفاده میکنند، افزایش دهد.
حالا میرسیم به گزینه CDN یا همان Content Delivery Network که در آینده از آن زیاد خواهیم شنید. در این رابطه W۳ Total Cache از سرویسهای MaxCDN، NetDNA، Amazon S۳، Rackspace Cloud، و Amazon Cloud Front پشتیبانی میکند. همانطور که واضح است، این بخش بدرد افرادی میخورد که یا از CDN استفاده میکنند و یا قصد استفاده از آن را دارند. مثلا اگر از MaxCDN استفاده کنیم، تنظیمات به این صورت خواهد بود:
گزینه بعدی و آخرین بخش از تنظیمات عمومی افزونه، کش مرورگر یا Browser Cache است. این گزینه محتویات با فشرده سازی کرده و برای اشیاء سایت نیز تاریخ انقضا در نظر میگیرد. هر موقع کاربری از سایت شما بازدید میکند، مرورگر وی یک کپی از سایت شما را در رایانه او ذخیره میکند تا اگر دوباره از سایت شما بازدید کرد، نیازی به بارگذاری دوباره نباشد [مخصوصا مرورگر opera که از این طریق سرعت خود را فوق العاده افزایش میدهد]. اما هر مرورگر در یک بازه مشخص کش خود را خالی میکند. حالا با فعال کردن این گزینه، سایت شما به مرورگر میفهماند که هر شی را تا چه مدتی در کش خود حفظ کند. برای مثال شما ممکن است favicon خود را تا ماهها نیز تغییر ندهید. پس این یکی از چیزهایی است که میتوان تا یک ماه بدون تغییر از آن استفاده کرد.
حالا تنظیمات عمومی به پایان رسیدند و میخواهیم با هم به سراغ هر یک از تنظیمات برویم و نگاه دقیق تری به جزئیاتشان بیندازیم
جزئیات گزینه Page Cache
اگر این گزینه را فعال کرده باشید، به شکل زیر میتوانید به آن برسید
و حالا گزینههای زیر را خواهید دید
اگر توجه داشته باشید در تصویر بالا میبینیم که Page Cache فعال است. اگر این گونه نبود لطفا با رفتن به تنظیمات عمومی، آن را فعال نمایید. پایینتر که میآییم، گزینهای را میبینیم که با استفاده از آن میتوانیم کش را خالی کنیم. هنگامی که خطایی را در سایت خود مشاهده میکنید یا کاربران مشکلی را به شما گزارش دادند میتوانید با خالی کردن کش، تا حدوددی مشکلات را رفع کنید. زیرا نسخه جدید سایت دوباره فعال شده و در جای کش قدیمی را میگیرد. میرسیم به گزینههای بعدی که به صورت چک باکس هستند. اولین آنها گزینهای است که کش صفحه را برای کاربران وارد شده مانند مدیران غیرفعال میکند. دلیلش نیز مشخص است. زیرا مدیر باید قادر باشد تغییراتی را که در سایت اعمال میکند به صورت فوری ببیند و برای این کار باید کش صفحه غیرفعال باشد. تنظیم بعدی مربوط به کش صفحه اول یا همان home page خودمان است. با توجه به اینکه در اکثر سایتها، صفحه اول پربازدیدترین صفحه سایت است، فعال کردن این گزینه میتواند ایده خوبی باشد. گزینه بعدی، کش کردن فیدها، نظرات، دسته بندیها و … است و با توجه به اینکه روزانه بازدید زیادی مربوط به این بخشهای میشود، فعال کردن آن میتواند سرعت را بالا ببرد. گزینههای بعدی را نیز انتخاب نکردیم زیرا نیازی به آنها نبود ولی شاید برای بعضی از سایتها لازم باشد.
حالا به تنظیمات پیشزفته Page Cache نیز نگاهی میاندازیم.
اگر دقت کنید ما تنظیمات این بخش را تغییر ندادهایم. هر چه باشد تنظیمات پیشرفته هستند دیگر!:) در بخش اول شما میتوانید طول عمر کش صفحه را بر حسب ثانیه تعیین کنید که در اینجا ۳۶۰۰ ثانیه است. البته اگر سایت پرترافیک و شلوغی دارید. گزینه بعدی مربوط به user agentها و کوکیها ردی میباشد. مثلا شما میتوانید تعیین کنید که صفخات کش به Google Bot ارسال نشوند، گرچه توصیه نمیشود. همچنین میتوانید صفحاتی را که نمیخواهید کش شوند، تعیین کنید.
جزئیات گزینه Minify
تنظیمات minify میتوانند از سایتی به سایت دیگر متفاوت باشند، ولی بعضی چیزها مشترک است. ابتدا مطمئن شوید که این گزینه فعال است.
همانطور که در تصویر بالا میبینید، پیام سبز رنگ به ما میگوید که این گزینه فعال است. توصیه میکنیم تنظیمات را مانند شکل بالا انجام دهید. فکر میکنم هر یک از گزینهها خود گویای کارکرد خود میباشد و نیازی به توضیح بیشتر ندارد.
جزئیات گزینه Database Cache
ما هیچ تنظیمی را در کش دیتابیس تغییر ندادیم. شما نیز تا زمانی که نیاز به تغییرات اضافی بر روی سایت نداشتید، لزومی ندارد تنظیمات را تغییر دهید. مهمترین بخش این قسمت، never cache the following pages است. برای مثال اگر صفحهای فشار زیادی به پایگاه داده وارد میکند، میتوانید آن را در اینجا ذکر کنید.
جزئیات Object Cache
همه چیز در حالت پیش فرض روی اکثر سایتها جواب میدهد. اگر خواستید گزینه به خصوصی را تغییر دهید، میتوانید آنرا اجرا کنید.
جزئیات تنظیمات Browser Cache
به صورت پیش فرض فقط فشرده سازی Gzip و W۳ Total Cache header فعال هستند. ولی میخواهیم پا را فراتر بگذاریم. ما Set Expires Header و Set Entity Tag یا (etag) را نیز فعال کردیم و احتمالا برای سایت شما نیز بهتر است این کار را انجام دهید. البته قبل از این کار بهتر است کمی در مورد هر کدام از آنها مطالعه داشته باشید تا بهترین نتیجه دلخواه شما حاصل شود. در کل سایتها انواع مختلفی دارند و نیازهایشان نیز متفاوت است. ممکن است سایت شما گزینهای نیاز داشته باشد ولی سایت ما خیر.
تنظیمات CDN در W۳ Total Cache
این بخش کمی جانب دارانه است زیرا ما فقط نحوه استفاده از MaxCDN و سرویس با کیفیتش را به شما نشان خواهیم داد. البته چارهای نیز نبود زیرا فقط به این سرویس دسترسی داشتیم. برای ادامه این بخش نیاز است که استفاده از CDN را فعال کرده باشید و MaxCDN را نیز به عنوان سرویس دهنده برگزیده باشید (فقط اگر حساب کاربری MaxCDN دارید!)]
همانطور که میبینید ما هر چهار گزینه بخش عمومی تنظیمات CDN افزونه W۳Total Cache را انتخاب کردهایم. Host wp-include files برای اینکه اگر قالب سایت شما به کتابخانههایی مثل jQuery از طریق پوشه wp-includes وردپرس دسترسی دارد، از این پس با استفاده از سرویس CDN حاضر و سرو شود. گزینه Theme files برای این انتخاب شده است که تمام فایلهای قالبها، از طریق CDN سرو شوند. Host minified CSS and JS files برای این تیک خورده است که افزونه بتواند فایلهای css را فشرده کرده و سرو کند. وگزینه آخر نیز مربوط به انتقال فایلهای سفارشی از طریق CDN است. معمولا اکثر وبلاگ نویسان فایلهای مجزایی مثل بنرهای تبلیغاتی یا … بر روی هاست خود دارند که از این طریق میتوانند آنها را نیز وارد شبکه تحویل محتوا (CND) کنند.
نحوه تنظیم W۳ Total Cache بر روی سرویس MaxCDN برای وردپرس
گام بعدی که باید انجام دهیم، پیکربندی افزونه با توجه به سرویس دهنده CDN میباشد که ما در اینجا به شما نحوه انجامش را برای سرویس MaxCDN نشان خواهیم داد. در اینجا به یک حساب CDN که دارای «Origin Pull» باید، نیاز داریم. Rackspace Cloud، و Amazon cloud front این گزینه را در اختیار قرار نمیدهند و از این لحاظ MaxCDN در جایگاه بالاتری قرار میگیرد. استفاده از Origin Pull بسیار ساده و شفاف است و به نام آینه یا mirror cdn نیز شناخته میشود (با کمی جستجو در اینترنت میتوانید اطلاعات بیشتری در مورد آن پیدا کنید).
۱. ابتدا به حساب خود در سایت MaxCDN وارد شوید (اگر ندارید یکی ایجاد کنید).
۲. در بخش مدیریت خود در داشبورد، روی گزینه «Manage Zones» کلیک کنید و سپس روی «Create Pull Zone» کلیک نمایید. درست مانند شکل زیر:
۳. در صفحه بعدی شما باید اطلاعات مهمی را برای ایجاد Pull Zone وارد نمایید:
Pull Zone Name: این بخش میتواند هر چیزی غیر از فضای خالی داشته باشد و نیز باید بیشتر از ۳ کاراکتر باشد. فکر کنید این همان نام کاربری شماست!
Origin Server URL: اینجا آدرس وبلاگ خود را وارد نمایید. حتما میبایست دارای (//: http) در اول و اسلش (/) در انتها باشد.
Custom CDN Domain: این گزینه اختیاری است ولی پیشنهاد میکنیم از آن استفاده کنید. مثلا میتوانید یک زیر دامنه به آن اختصاص دهید. مثل: cdn. wpbeginner. com
Lable: کار این فیلد هم مثل فیلد توضیحات است یعنی میتواند توضیحات دلخواه را در آن قرار دهید.
Compression: پیشنهاد میکنیم این گزینه را نیز فعال کنید تا در مصرف پهنای پاندتان صرفه جویی شود.
همانطور که میبینید ما فرم را به شکل زیر پر کردیم:
به محض ایجاد، یک صفحه را مشاهده خواهید کرد که لینک CDN شما را نمایش میدهد. اگر Custom CDN Domain را انتخاب کرده باشید به شما میگوید که باید یک رکورد CNAME برای دامنه خود ایجاد کنید. پس برای ایجاد CNAME در هاستهایی که دارای cPanel هستند میتوانیم به این شکل عمل کنیم. بعد از ورود به پنل، به پایین صفحه میرویم و در بخش Domains روی گزینه Simple DNS Zone Editor کلیک میکنیم.
همانطور که میبینید، باید دو ورودی را تکمیل کنید: Name و CNAME.
Name: مقدار این بخش همان نامی خواهد بود که در MaxCDN Pull Zone و در قسمت Custom CDN Domain قرار دادیم. اگر عکس بالا را مشاهده کنید میبینید که Custom CDN Domain ما cdn. wpbeginner. com بود. پس ما «cdn» را در این بخش قرار میدهیم.
CNAME: مقدار این گزینه همان آدرسی خواهد بود که سایت MaxCDN بعد از ایجاد Pull Zone در اختیارتان قرار داد (یادتان هست دیگه:)).
مثلا ما به این شکل پر کردیم:
حالا که CNAME مربوطه ایجاد شد، اجازه دهید پیکربندی را ادامه دهیم. اگر یادتان باشد قبلا در تنظیمات عمومی افزونه، گزینه Content Delivery Network را فعال کردیم و آن را روی NetDNA/MaxCDN قرار دادیم. بنابراین وقتی که به صفحه CDN Settings بروید، تنظیماتی را برای CDN میبینید. W۳ Total Cache از شما میخواهد که API ID و API Key را وارد نمایید. این مشخصات را میتوانید در داشبورد MaxCDN و در آدرس Manage Account» API پیدا کنید. هر دو را کپی کرده و در جای خودش قرار دهید. برای تکمیل باید گزینه «Replace site» s hostname with:» را نیز وارد کنید که در حقیقت همان CNAME است که ایجاد کردیم. برای مثال ما cdn. wpbeginner. com را وارد کردهایم:
بعد از این تنظیمات دیگر شبکه CDN شما کامل شده است و باید کار کند. اما صبر کنید، تنظیمات دیگری نیز وجود دارد که میتواند کارایی را تا حدی افزایش دهد.
اگر به تصویر بالا نگاهی بیندازید، بعضی فیلدها را میبینید که از قبل تکمیل شدهاند. مهمترین بخش در این قسمت، لیست فایلهای سفارشی (Custom file list) میباشد. بعد از فعال کردن CDN در سایتمان دیدیم که اکثر فایلها از طریق همین CDN سرو میشوند به جز استثناهایی مثل فایلهای بعضی از افزونهها و …. مانند افزونههای OIO Publisher، SyntaxHighlighter و …. بنابراین تصمیم گرفتیم فایلهای این افزونههای را به صورت دستی به لیست اضافه کنیم. OIO Publisher افزونهای است که اجازه مدیریت تبلیغات در سایت را به ما میدهد. هنگام افزودن تبلیغ جدید در این افزونه، میتوانیم عکسی از آن را آپلود کنیم که در پوشه مربوطه در خود افزونه ذخیره میشود. بنابراین همانطور که در عکس بالا میبینید، آدرس این بخش را به لیست فایلهای سفارشی اضافه کردیم تا تصاویر تبلیغات نیز از طریق CDN سرو شوند. همینطور Syntax Highlighter که تعدادی فایل js به انتهای صفحه اضافه میکند. در حالت معمولی این فایلها مستقیما آورده میشوند ولی با افزون آدرس آن در لیست بالا، این فایلها نیزبا CDN مورد دسترسی قرار میگیرند.
کلا این بخش میتواند از سایتی به سایت دیگر متفاوت باشد، چون اصولا هر سایت تز پلاگینهای متفاوتی استفاده میکند و اصلا شاید بعضی از کاربران هیچ چیزی را به این بخش اضافه نکنند ولی اطلاع از وجود چنین امکانی بیفایده هم نیست. درسته؟!:)
اگر با دقت به عکس بالا نگاه کرده باشید متوجه قسمتی میشود تا حاوی فایلهای مردود میباشد. یعنی فایلهایی که نمیخواهیم در دسترس CDN قرار بگیرند. مثلا افزونه contact form ۷ که نمیخواهیم فایلهای تصویری ضد ربات آن از طریق CDN باز شوند.
حالا دیگر تنظیمات CDN ما (همون سایت ما) به پایان رسیده است ولی کلاغه به خونش نرسید. حالا اگر سایت خود را دوباره بارگذاری کنید متوجه میشوید که آدرس تصاویر به جای آدرس اصلی به آدرس همان زیر دامنه CDN منتقل شده است، پس نتیجه میگیریم که W۳ Total Cache Pluginتان مثل ساعت کار میکند و باید سرعت سایت نیز سریعتر شده باشد. برای امتحان میتوانید از YSlow استفاده کرده و قبل و بعد از استفاده CDN را مقایسه کنید.مثل:
حالا که همه تنظیمات انجام شده و به پایان رسیده است، پیشنهاد میکنیم از کل تنظیمات افزونه یک نسخه پشتیبان تهیه کنید. برای اینکار باید به صفحه تنظیمات عمومی بازگشته و در بخش Import / Export Settings روی دکمه Download کلیک کنید.
حالا اگر سایتتان خراب شد یا تنظیمات ناخودآگاه ریست شدند، به راحتی میتوانید به حالت قبل باز گردید. امیدواریم که این مقاله برای شما مفید بوده باشد و از آن لذت برده باشید. اگر بخواهیم برای کاربرانی که با CDN آشنایی ندارند، در یک جمله آن را تعریف کنیم میتوان گفت که CDN با هاست سایت برای کاهش لود سرور و افزایش سرعت بارگذاری سایت همکاری میکند. اگر قصد راه اندازی CDN را داشتید میتوانید همین MaxCDN را انتخاب کنید و با کپن «wpbeginner» از ۲۵% تخفیف نیز برخوردار شوید.
منبع webeginner & fotolia .ir
دیدگاهها
با سلام و با تشکر از مطلب بسیار خوبتون.
یه سوال برام پیش اومده بود اونم این که: آیا می توان همزمان هر دو افزونه W۳ Total Cache و wp super chache را باهم نصب کرد؟ مشکلی پیش نمیآره؟
با تشکر
درود داش
خوبی
نماز ،روزه ت قبول حق انشااله
راستش من زیاد تحصصی نیستم..اما کمی کنجکاوی میکنم تو نوشته هات یهو سرم گیج میره …هر کی به کار خودش دیگه…
بیا شمال ببینیمت
یاحق
نویسنده
درود بر تو
راه گم کردی
نماز روزه های شما هم قبول باشه
اگه کنجکاوی کنی بد نیست ولی در هر صورت اینا رو وب شما اجرایی شده