توانایی خود را افزایش دهیم

فرهنگ و هنر
توانایی خود را افزایش دهیم

بسم الله الرحمن الرحیم

با سلام

• لطفا مطالب سایت را به صورت منظم پیگیری کنید
• ارائه پیشنهادات و نظرات شما باعث بهبود کیفیت ارائه مطالب خواهد شد

بعضی از مطالب آموزشی سایت توسط اینجانب نوشته نشده و صرفا جهت مطالعه دوستان از منابع دیگری جمع آوری شده است
چنانچه در مطالب موضوعی ملاحظه شد که از نظر علمی ، اعتقادی ، سیاسی ، مذهبی و ... دارای مشکل بود حتما در قسمت نظرات ذکر بفرمایید تا اصلاح گردد.
با تشکر
موفق باشید

طبقه بندی موضوعی
آخرین نظرات
پنجشنبه, ۴ ارديبهشت ۱۳۹۳، ۰۲:۰۷ ب.ظ

درس نهم- نکاتی برای بهبود کارایی و عملکرد وبلاگ

در پایان دوره کمی درباره کارایی و عملکرد وبلاگ و وب سایت های شخصی تحت برنامه مدیریت محتوای وردپرس صحبت خواهیم کرد. شاید در ظاهر این امر تنها در افزایش سرعت و راحتی بیشتر کاربران یا افزایش رتبه SEO سایت موثر باشد. اما باید این نکته را در نظر داشت که وقتی وبلاگ شما به شکل مناسبی بهینه شده باشد و به درستی از منابع سیستمی موجود استفاده کند، تا حد زیادی در برابر برخی حملات امنیتی هم تاب و توان بیشتری خواهد داشت و دیرتر از پا در می آید.

 

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

 

تنظیمات لازم برای cache وردپرس
در وردپرس و دیگر برنامه های مدیریت محتوا که اطلاعات به صورت دینامیک ارائه می شوند، در حالت عادی برای هر دفعه باز شدن صفحه ای از سایت، لازم است که درخواستی به دیتابیس ارسال شده و مطلب همراه با آدرس دهی لازم برای عکس و دیگر مدیا از آنجا خوانده شود. این کار در سایت های پربازدید، فشار فراوانی بر سرور وارد کرده و خود به تنهایی می تواند نوعی حمله DOS به سرور محسوب شود. زیرا اجزای هر فرمان یا Query درون دیتابیس به منابع سیستمی فراوانی نیاز دارد.

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

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

در وردپرس شما می توانید به سادگی یکی از پلاگین های WP Super Cache یا W3 Total Cache را نصب کرده و نسخه کش شده بهینه و مناسبی از صفحات تان را در اختیار کاربر قرار دهید. W3 Total Cache یکی از پرکاربرد ترین پلاگین های کش وردپرس است که توسط برخی از سایت های مشهور همچون Mashable هم استفاده می شود.  طبق نظر برخی منابع، این پلاگین ها، سرعت لود شدن صفحات سایت را تا ۱۰ برابر افزایش می دهند.

 

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

CDN یا Content Delivery Network به طور ساده، مجموعه ای از سرورهای بهینه شده در سراسر دنیا است که به صورت یک سرور مجازی یکپارچه عمل می کنند. با استفاده از چنین سرویسی، شما می توانید فایل های استاتیک دائمی مانند قالب، عکس ها، جاوا اسکریپت و CSS را بر روی CDN قرار دهید تا کاربر هنگام باز کردن وبلاگ شما، آنها را از نزدیک ترین سرور به خودش، دریافت کند.

البته به صورت معمول برای استفاده از CDN باید هزینه ماهیانه یا سالیانه ای پرداخت کنید و این هزینه بسته به میزان ترافیک درخواستی به صورت تصاعدی افزایش خواهد داشت. هر چند که به شکل محدود می توانید از برخی جایگزین های رایگان هم برای این کار استفاده کنید. یکی از بهترین جایگزین های رایگان برای این کار، Google App Engine است. اما تنها ایراد این سرویس گوگل، محدودیت پهنای باند آن است که روزانه تنها یک گیگابایت ترافیک در اختیار دارید.

این راهنمای گام به گام می تواند کمک خوبی برای استفاده از Google App Engine به عنوان یک CDN باشد.

 

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

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

 

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

۱- بهینه سازی عکس های تمپلیت: یکی از بهترین راه ها برای بهینه سازی قالب، کاهش عکس های استفاده شده به حداقل ممکن است. هیچ گاه برای نشان دادن فونت از عکس آن استفاده نکنید. زیرا علاوه بر افزایش حجم وبلاگ، به همان تعداد درخواست http بیشتری تولید می شود. بهتر است که به جای آپلود یک فایل حجیم عکس و استفاده از آن برای فونت یک بخش خاص، همان فونت را (که حجم کمتری هم دارد) بر روی سرور قرار دهید و با دستوراتی از قبیل fontface آن را در جاهای مورد نیاز فراخوانی کنید. این کار علاوه بر کاهش حجم وبلاگ و کم کردن از درخواست های http، از نظر SEO هم تاثیر فراوانی دارد. زیرا با این کار بخش بیشتر و مهمتری از سایت (معمولا تیترها) توسط ماشین قابل خواندن خواهد بود و در موتورهای جستجو ایندکس می شوند.

‏= = = = = =   using-css-sprites == = = = = = = = =

یک راه دیگر برای کاهش حجم و تعداد درخواست http قالب، استفاده از تکنیک CSS Sprites است. در این شیوه شما برای بخش هایی همچون منوها و Navigation Bar به جای استفاده از چندین عکس کوچک، از یک عکس بزرگ تر استفاده می کنید و با استفاده از دستورات CSS، همان قسمت مربوطه را در جای خود به نمایش می گذارید.

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

این راهنما می تواند کمک خوبی برای یادگیری شیوه استفاده از CSS Sprites باشد.

۲- بهینه سازی عکس مطالب و پست ها: اولین نکته در این خصوص، استفاده به جا و مناسب از عکس است. یک وبلاگ بدون عکس، روح و جان چندانی برای جذب مخاطب ندارد. اما به همان نسبت یک وبلاگ که تا خرخره با عکس های حجیم و سنگین پر شده، می تواند آن قدر دیر باز شود، که کاربر از خیر دیدن آن بگذرد.

قبل از استفاده از عکس در وبلاگ، اندازه و حجم آن را تا حد ممکن و به شکلی که افت کیفیت، چندان محسوس نباشد کاهش دهید. برای این کار ابزارهای آنلاین و آفلاین فراوانی وجود دارند. گزینه Save for web and devices در فتوشاپ یکی از انتخاب های مناسب جهت کاهش حجم و اندازه عکس است. در این مطلب می توانید تعدادی از گزینه های مناسب برای این کار را بیابید.

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

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

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

 

ذخیره سازی کدهای جاوا اسکریپت و CSS به صورت فایل هایی مستقل از Index
وقتی که کاربر برای اولین بار به وبلاگ شما سر بزند، مرورگر کلیه فایل های حاوی مدیا یا دستوراتی را که خارج از فایل اصلی قالب قرار گرفته اند، دانلود کرده و آنها را برای استفاده های بعدی کش می کند.

مثلا اگر دستورات CSS لازم برای تمپلیت وبلاگ را درون فایل اصلی آن قرار دهیم، با هر بار باز شدن وبلاگ، تمامی این دستورات دوباره بازخوانی و اجرا می شوند، اما اگر کلیه دستورات CSS را درون فایل جداگانه ای ذخیره کنید، تنها یک بار نیاز به فرا خواندن آن است و در دفعات بعدی از فایل CSS کش شده استفاده می شود. در خصوص JS هم به همین شکل باید عمل کرد.

نکته دیگر در خصوص این دستورات، آن است که فایل سی اس اس را در ابتدای لود شدن وبلاگ فراخوانی کنید. برای این کار دستور فراخوانی آن باید در قسمت <head> باشد. اما فایل جاوا اسکریپ را بهتر است در پایان کار لود صفحه فراخوانی کنید. برای این کار باید دستور لازم را در انتهای بسته شدن قالب و دقیقا قبل از </body> قرار دهید. بهتر است کدهای جاوا اسکریپتی مانند شمارنده یا کدهای گوگل آنالیتیکز را هم در پایان قرار دهید. برای اطلاعات بیشتر در مورد گوگل آنالیتیکز می توانید در دوره مبانی گوگل آنالیتیکز درسنامه شرکت کنید.

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

اگر هم دستورات جاوا اسکریپت به گونه ای هستند که برای نمایش صحیح وبلاگ شما ضروری اند و باید در ابتدای کار لود شوند، بهتر است با استفاده از راه هایی مانند دستور defer، کار آنها را به بعد از لود کامل CSS موکول کنید.

 

کاهش کدهای PHP دینامیک و فراخوانی http
دلیل این کار که کاملا مشخص است و تنها با ذکر مثالی به توضیح آن می پردازیم:

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

یعنی مثلا در کد زیر:

<?php bloginfo('home'); ?>

بهتر است به جای عبارت home برای فراخوانی آدرس از دیتابیس، مستقیما آدرس سایت تان را  وارد کنید، مانند: http://www.darsnameh.com

یا اینکه در مثال زیر:

<?php bloginfo('name'); ?>

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

همچنین کدهای HTML را کنترل کنید تا هرگونه آدرس دهی داخلی مانند فایل های CSS، جاوا اسکریپت یا لوگو نیز آدرس استاتیک داشته باشند.

 

بهینه سازی (Optimize) دیتابیس وبلاگ
بهینه سازی دیتایبس به کامپیوتر سرور کمک می کند تا با سرعت بهتری به درخواست های ارسالی از طرف مرورگرها پاسخ دهد. ساده ترین روش برای چنین بهینه سازی، این است که در phpMyAdmin لاگین کرده و سپس تمامی جداول یا تیبل ها را انتخاب کنید. حال با انتخاب گزینه Optimize table، کار بهینه سازی را بر روی جداول انجام دهید.

البته راه دیگر و بهتر انجام این کار استفاده از پلاگین هایی همچون WP-DBManager و Optimize DB است. حتی برخی از متخصصان عقیده دارند که با استفاده از چنین پلاگین هایی، بهینه سازی دیتابیس باید به صورت روزانه انجام گیرد.

و در پایان اگر به دنبال اطلاعات کامل و تخصصی تری در خصوص بهینه سازی وردپرس یا WordPress Optimization هستید، این لیست سایت وردپرس می تواند شروع خوبی باشد.

امیدواریم با گذراندن این دوره، وبلاگ نویسی امن تر و سریع تری داشته باشید. برایتان آرزوی موفقیت داریم.

موافقین ۰ مخالفین ۰ ۹۳/۰۲/۰۴

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی