همانطور که میدانید سیستم مدیریت محتوای وب سایت<spanclass=”t-red”> دروپال ، توسط سازمان ها و ادارات طرفداران بسیار زیادی دارد. دروپال یک سیستم مدیریت محتوای متن باز و یا یک فریم ورک است که در حال حاضر حدود ۲.۲ درصد کل وب سایتهای جهان از آن استفاده میکنند و تمامی نوعهای مختلف وب سایت نظیر وبلاگی ، سازمانی ، شرکتی ، دولتی و غیره را میتواند شامل شود.
دروپال از سال ۲۰۰۱ منتشر شد ، حدودا ۲ سال قبل از وردپرس بود که وارد بازار وب شد و پس از وارد شدن وردپرس و محبوبیت فوق العاده آن برای بسیاری سوال پیش آمد که با توجه به امکانات وردپرس چرا هنوز هم افراد از دروپال استفاده میکنند؟! متخصصان این سوال را اینطور پاسخ میدهند :
بسیاری از وب سایتهای سازمانی نظیر وارنر بروس ، جایزه imy ، دانشگاه آکسفورد و غیره از این سیستم مدیریت محتوا استفاده میکنند.
دروپال در بازی با اعداد :
با توجه به این موضوع سیستم مدیریت محتوای دروپال ، رقیب قدرتمندی برای دیگر سیستم های مدیریت محتوای حاضر و معروف میباشد و بنابراین بحث بهینه سازی این سیستم <spanclass=”t-red”>مدیریت محتوا نیز از اهمیت به شدت بالایی برخوردار است.
با توجه به گوگل trends نمودار جستوجوی کلمه دروپال در مقابل دیگر مدیریت محتواها از وضعیت متعادلتری برخوردار است. با اینحال ، این خیلی تعجبآور است که روند صعودی <spanclass=”t-red”>جوملا تا سال ۲۰۰۹ فوق العاده بود ولی پس از سال ۲۰۱۰ همینطور در حال کاهش هست ، تا جایی که در حال حاضر در گوگل Trends جایگاهی مانند Drupal دارد. وردپرس نیز به نوسان همچنان ادامه داده است و هنوز به عنوان پر مصرفترین سیستم مدیریت محتوا به حساب میآید.
ما در مقاله چگونه سرعت سایت وردپرس را افزایش دهیم به سیستم وردپرس پرداختیم ولی در این مقاله میخواهیم به نحوه بهینه سازی سیستم مدیریت محتوا دروپال بپردازیم تا کاربران شما تجربه کاربری بهتری را احساس کنند.
افزایشسرعتعملکرد دروپال
چرا باید به افزایش سرعت دروپال اهمیت دهید؟ به علت اینکه سرعت وب سایت شما مهمترین و تاثیرگذارترین فاکتور ترافیک، تبدیل، درآمد و رتبهبندی سئو شما میباشد. در زیر به نکاتی از یک تحقیق موردی شرکت Radware در زمینه زمان لود صفحه میپردازیم.
در زیر به نکاتی واضح و ساده در زمینه چگونگی بهینهسازی دروپال و همچنین سریع نگه داشتن آن برای اطمینان از بازگشت بازدیدکنندگان میپردازیم.
ما در این آموزش از دروپال نسخه ۷.۴۱ استفاده میکنیم ولی توجه داشته باشید که دروپال ۸ نیز در ۱۹ نوامبر ۲۰۱۷ منتشر شده است و تغییراتی کوچکی مانند اضافه شدن پشتیبانی از PHP7 و غیرفعالسازی پشتیبانی از اینترنت اکسپلورر ۶ ، ۷ و ۸ به آن اضافه شده است.
استفاده از آخرین نسخه هسته دروپال یکی از پراهمیت ترین بخشهاییست که به علت اهمیت بالای آن در ابتدای بحث مطرح کرده ایم. در آخرین نسخههای هسته دروپال مشکلات و باگهای امنیتی و نرم افزاری حل میشوند و عملکرد سیستم بهبود مییابد. بنابر این بهتر است که هسته دروپال ، پوستهها و افزونههای وب سایتتان را بروز نگه دارید.
متصل کردن یک شبکه تحویل محتوا (CDN) به دروپال یک راه سریع و ساده برای کاهش زمان لود وب سایتتان میباشد. با انجام اینکار ، شما میتوانید مطمئن شوید که ساختارهای مختلف وب سایتتان نظیر تصاویر ، فایلهای CSS و اسکریپتهایتان از چندین مکان مختلف در سراسر جهان با سرعتی فوق العاده به کاربرانتان تحویل داده میشوند.
دروپال بر خلاف دیگر سیستمهای مدیریت محتوا بخشی برای کش در هسته خود پیاده سازی کرده است و به طور کلی برای بهینه سازی سرعت سایت یکی از ساده ترین راه ها میباشد که به صورت پیشفرض غیرفعال است و باید آن را از طریق بخش تنظیمات فعالسازی کنید. برای فعالسازی آن بخش کش صفحات دروپال را دنبال کنید.
با اینحال مانند دیگر سیستمهای مدیریت محتوا دروپال نیز افزونههایی برای کش دارد که در زیر نامهای آنها را مشاهده میکنید:
همچنین شما میتوانید افزونههای بیشتری در زمینه کش را از caching modules دریافت و نصب نمایید.
افزونه views module یکی از پر طرفدار ترین افزونههای کش دروپال میباشد.
در زیر چند نمونه از افزونههای در خصوص کش Views نیز معرفی شده است :
دیگر افزونه پرطرفدار مردم که به صورت نورمال از آن در دروپال استفاده میکنند افزونه panels module می باشد. با این افزونه <spanclass=”t-red”>پنل کاربری مدیریتتان نیز در مرورگرتان کش میشود. به فعالسازی این افزونه را در زیر به صورت کامل پرداخته ایم.
رفع خطای Add Expires headers
رفع خطای Riove query strings from static resources
رفع خطای Enable gzip compression
بیشتر از ۵۶ درصد حجم صفحات وب را تصاویر آن شامل میشوند. بنابراین بهینه سازی تصاویر باعث کاهش زمان لود بسیار تاثیر گذاری خواهد شد و چیزیست که ما همیشه برای بهینه سازی وب سایتهای دروپالی پیشنهاد میکنیم.
دروپال ۶ و دروپال ۷ هنگام آپلود تصاویر فشرده سازی در تصاویر JPEG انجام میدهند. به صورت پیشفرض در دروپال ۷ این فشرده سازی ۷۵ درصد میباشد که برای تغییر آن مراحل زیر را دنبال کنید.
همچنین افزونههایی نیز برای بهینه سازی تصاویر در وردپرس موجود است که میتوانید آنها را نصب و فعالسازی کنید.
لود تنبل تصاویر میتواند خیلی ساده باعث افزایش سرعت لود صفحاتتان با تنها لود کردن تصاویر قسمتهای قابل مشاهده در صفحه مرورگر شود. معروفترین افزونه دروپال در این زمینه که حدودا ۱۸ هزار دانلود نیز تا الان داشته است افزونه Image Lazyloader میباشد.
ما همچنین پیشنهاد میکنیم که افزونه Image Resize Filter نیز استفاده کنید تا تصاویرتان نسبت به سایز صفحه وب مقیاسشان کم شود و تا جای ممکن از CSS برای کاهش مقیاس استفاده نشود.
به جز استفاده از افزونه 404s ، شما میتوانید از ابزارهای خارجی مانند Online Broken Link Checker یا Screaming Frogبرای پیدا کردن صفحات پیدا نشده ۴۰۴ استفاده کنید. این به شما امکان این را میدهد که منابعتان برای پیدا کردن صفحات 404 مصرف نشود. دروپال برای خطاهای ۴۰۴ خیلی منابع مصرف میکند. به طور میانگین افزونه پیشفرض دروپال برای پیدا کردن صفحات ۴۰۴ حدود ۶۰ تا ۱۰۰ مگابایت از حافظه RAM سرور شما را مشغول میکند.
افزونه Fast 404 این مشکل را رفع میکند و کاری میکند که زمان یافتن خطاهای ۴۰۴ با مصرف حافظه RAM کمتر از ۱ مگابایت پیدا و رفع شوند.
مانند هر پلتفرم مدیریت محتوای دیگری ، افزونههای اضافه باعث کندی سرعت دروپال میشود. بنابراین پیشنهاد نمیشود که در وب سایت دروپالی خود بیشتر از ۵۰ افزونه استفاده کنید. در زیر نمونههایی از افزونهها اضافه شده است که شما در صورتی که نیازی به آنها ندارید میتوانید آنها را غیرفعال کنید.
با متراکم سازی فایلهای CSS و جاوااسکریپت شما میتوانید عملکرد Frontend و زمان دانلود فایلهای وبسایتتان را بهبود بخشید و باعث شوید که مرورگرتان نیازی به ذخیرهسازی تعداد زیادی فایل نباشد و همچنین تعداد درخواستهای HTTP نیز کاهش یابد.
برای فعالسازی مراحل زیر را طی کنید :
نکته : این امکان برای کاربران وارد شده به حساب کاربری و وارد نشده فعال است.
در صورتی که میخواهید به صورت تخصصی تری به متراکم سازی فایلهای CSS و جاوااسکریپت بپردازید پیشنهاد میکنم از افزونه Advanced CSS/JS Aggregation استفاده کنید.
قراردادن یک اپلیکیشن برای ذخیره سازی کپی کشهای شما در سروری جداگانه امکان پذیر است. این کار را معکوس سازی سرورهای پروکسی یا چیزی به نام شتابدهی HTTP مینامند. Varnish برای وب سایتهای پر ترافیک بسیاری زیادی مانند Wikipedia ، فیسبوک ، توییتر و غیره استفاده شده است. در حال حاضر دو افزونه برای انجام عملیات Varnish در دروپال وجود دارد که در زیر لینکهای آنها را قرار دادهایم.
و در آخر ، انتخاب یک هاست سریع و امن یکی از پر اهمیت ترین کارهاییست که باید برای بهبود سرعت و عملکرد وب سایتتان انجام دهید. ما پیشنهاد میکنیم که از هاستهای ارزان قیمت اشتراکی استفاده نکنید به این علت که منابع در بین چند صد وب سایت تقسیم میشود و سرعت بالایی را به شما نمیدهد.
پیشنهاد ما تهیه یک هاست ابری یا یک سرور ابری میباشد که تمامی منابع مخصوص شماست. دلیل اصلی این پیشنهاد دسترسی شما به منابع میباشد.
ما میتوانیم از راههای زیادی عملکرد دروپال را بهینه سازی کنیم و فقط باید بدانید که باید کجا را اصلاح کنید. با پیاده سازی یک CDN برای عملیات کش ، بهینه سازی تصاویر ، لود تنبل تصاویر ، تعمیر صفحات ۴۰۴ ، متراکم سازی فایلهای CSS و JSو غیرفعالسازی افزونههای غیرضروری میتوانید وب سایتتان را بهینه سازی کنید.
یکی از سوالات بسیاری که از من پرسیده میشه این است که چطور سرعت سایت وردپرس را افزایش دهیم؟ یا میپرسن نحوه افزایش سرعت سایت وردپرس در gtmetrix چطور هست، یا چگونه به شکل اصولی سرعت سایت وردپرس را بالا ببریم و همچنین آن را حفظ کنیم؟ درحالی که وردپرس یک سیستم مدیریت محتوای شگفت انگیز است، ولی اگر اصول بهینه سازی و افزایش سرعت وردپرس رعایت نشود ، وب سایتی که با این سیستم مدیریت محتوا میسازید، کمی آهسته بارگیری میشود و این کاهش سرعت باعث کاهش رتبه سئو سایت شما در گوگل میشود، به عبارتی باعث افت سئو سایت شما می گردد.
در این مقاله ما به شما میآموزیم که چگونه و چطور وب سایت وردپرسی خود را بهینه سازی کنید و به روش های اسرارآمیز سرعت پی ببرید تا جایی که سرعت وردپرس شما به حداکثر برسد. بیشتر وب سایتهای تجاری جهان به سیستم مدیریت محتوای وردپرس اعتماد کردهاند و آن را برای طراحی وب سایت خود استفاده میکنند. در سال ۲۰۱۷ بیشتر از ۷۴ میلیون وب سایت از سیستم مدیریت محتوای وردپرس استفاده میکنند.
مقاله را دنبال کنید تا وب سایت پر سرعت وردپرس خود را داشته باشید. مطمئن باشید که با اینکارتان بر روی تجربه کاربری وب سایتتان تاثیر به شدت مثبتی خواهید گذاشت و همچنین توجه داشته باشید که افزایش سرعت وردپرس تاثیری مستقیم بر روی سئو داخلی سایت شما نیز دارد پس در سرعت بخشیدن به وردپرس جدی باشید. و همینطور در نظر بگیرید که این آموزش تاثیر مستقیمی بر روی بهبود سرعت وردپرس شما در سایت GTmetrix.com دارد.
در پشت هر طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) وردپرسی یک پوسته یا فریمورک قرار دارد که ممکن است بهینه و استوار نباشد. در کدنویسیها هرکس روش خاص خود را پیش میگیرد و اگر یک توسعه دهنده نیستید پیشنهاد میشود که از یک پوسته استوار و بهینه شده استفاده کنید. در حال حاضر پوستههای سادهای مثل پوسته ۲۰۱۷ وردپرس یکی از بهترین پیشنهاد ها برای شما میباشد زیرا علاوه بر سادگی بسیار سبک نیز میباشد.
همچنین توجه کنید که شما میتوانید پوستههای معتبر را از فروشگاههای معتبر نیز خریداری کنید. فقط توجه داشته باشید ، با اینکه پوستههای بسیار زیادی در سراسر وب برای شما موجود است ، بعضی از توسعه دهندگان از اعتماد فروشگاهها سوء استفاده میکنند و با اضافه کردن چند امکان به یک پوسته ساده در آمد بالایی از فروش چنین پوستههایی کسب میکنند. به هر حال پیشنهاد ما برای خرید قالب وردپرس، فروشگاههای فارسی زبان نیست، و همینطور نمیتوان براساس دمو پوسته سرعت سایت آن را ارزیابی کرد.
فعال سازی کش در سایت یک فاکتور بسیار مهم دیگر در افزایش سرعت وب سایت وردپرسی میباشد. کشها فایلهای استاتیک ساخته شده از صفحات و مقالات شما هستند که در مرورگر کاربران ذخیره میشوند و باعث کاهش زمان لود وب سایت در دفعات بعدی ورود کاربران میشوند. شما میتوانید توسط افزونههای کش وردپرس ، کش مرورگر و کش توسط سرور این کار را انجام دهید.
پیشنهاد میکنیم حتما مقاله جامع رفع مشکل leverage browser caching را بخوانید تا بهتر درباره کش و نحوه فعال سازی آن اطلاع داشته باشید، ولی به هر حال ما به شکل خلاصه برای سئو سایت وردپرس به کمک افزونه و یا کد در ادامه مقاله راهکاری ارائه میدهیم.
در اینجا ما چند نمونه از افزونههای رایگان و تجاری وردپرس را در زمینه کش به شما معرفی میکنیم :
بیشتر وب سایتها از غیرفعال بودن Leverage Browser Caching در سرور وب سایت خود ناراضی هستند ، با اضافه کردن قطعه کد زیر در فایل htaccess میتوانید کش مرورگر را برای وب سایتتان فعالسازی کنید. این بخش در بعضی از افزونههای معرفی شده در بالا نیز موجود است.
کد:
در کنار افزونههای وردپرس و کش توسط مرورگر ، سرورها نیز میتوانند از تنظیمات کش استفاده کنند. برای مثال Varnish cache یکی از قدرتمندترین انتخاب ها با ترکیب یک CDN میباشد.
در این متد شما برای لود بخشی از قسمتهای وب سایتتان مانند فایلهای js معروف که کاربر در بیشتر وبسایت ها مشاهده میکند ، یک تنظیمات در DNS وب سایت ایجاد میکنید که هنگام ورود به وب سایت این بخش از وب سایت خیلی سریعتر لود شود.
برای استفاده از Prefetch در وردپرس ، شما باید در سربرگ Header.php یک نمونه Syntax در بین تگهای <head> و <head/> اضافه کنید. برای مثال به نمونههای زیر توجه کنید :
حذف رشتههای کوئری از منابع استاتیک وب سایتتان از هر لحاظ برای وب سایت مفید است، زیرا با حذف این رشتهها از احتمال ایجاد مشکلات در وب سایت جلوگیری میکنید.
1 – فایل functions.php را باز کنید و کدهای زیر را درون آن قرار دهید :
3 – همچنین شما میتوانید افزونههایی مانند Query Strings Riover و Riove Query Strings From Static Resources در وردپرس خود نصب کنید.
اگر از یک CDN استفاده میکنید ، ممکن است که CDN شما امکانی برای حذف کوئریها داشته باشد
به هر حال اصلا مهم نیست که وب سایت وردپرسی شما در حال حاضر چقدر سنگین است و چقدر در حال حاضر ترافیک مصرف میکند ، زیرا با سرویس CDN همه این مشکلات حل میشود. یک سرویس CDN تمامی فایلهای JS ، CSS و تصاویر شما را از سرورهای ابری خود در سراسر جهان به اشتراک کاربران میگذارد تا کاربران احساس داشتن سرعتی فوق العاده را داشته باشند و زمان دانلود فایلها کاهش یابد.
علاوه بر این با اتصال یک CDN به وب سایت و افزایش سرعت ، به نرخ تبدیل وب سایت شما نیز افزونه خواهد شد و همچنین Bounce Rate شما کاهش خواهد یافت. (شاید بپرسید Bounce Rate چه چیزی هست؟ در مقاله bounce rate چیست به مطالب جذابی پرداختیم حتما مطالعه کنید)
مطمئن شوید که حتی کوچکترین فایلهای وب سایتتان مانند Favicon ها نیز در CDN قرار بگیرند. اگر تمامی اطلاعات وب سایتتان از یک کانکشن CDN لود شوند سرعت وب سایت شما چند برابر خواهد شد.
برای اینکه favicon را در وردپرس از CDN فراخوانی کنید نیز در فایل header.php کد زیر را نسبت به وب سایت خود تغییر و از CDN لود کنید.
برای مثال در زیر مشاهده میکنید که کلیه اطلاعات وب سایت از CDN فراخوانی می شود :
اگر پایگاه داده وردپرس را بهینه سازی نکنید ، اندک اندک به مرور زمان وردپرس شروع به کند شدن میکند. راههای مختلفی برای نگهداری پایگاه داده به صورت بهینه موجود است که به شما در محدود سازی نسخههای پست و حتی غیرفعالسازی آنها کمک میکند.
برای رفع این مشکل در ادامه با من همراه باشید.
برای غیرفعالسازی رونوشتها شما میبایست که قطعه کد زیر را در فایل wp-config.php قرار دهید. اینکار باعث میشود که ذخیره سازی خودکار از ۶۰ ثانیه به ۵ دقیقه تغییر کند و همچنین به صورت کامل رونوشتها را غیرفعال میکند.
علاوه بر این یک افزونه فوقالعاده ساده و سبک نیز در این خصوص وجود دارد که میتوانید از آن در وب سایتتان استفاده کنید. نام این افزونه Disable Post Revision است و دقیقا همینکاری را که در این مقاله به شما گفتهایم را انجام میدهد.
برای محدود سازی رونوشت ها شما باید نمونه کد زیر را در wp-config.php قرار دهید . این کار باعث میشود که ذخیرهسازی خودکار وردپرس به صورت ۵ دقیقه یکبار باشد و حداکثر تعداد رونوشتها به ۳ برسد. همچنین شما میتوانید با تغییر عدد ۳ ، تعداد رونوشتها را کم یا زیاد کنید.
بعد از انجام عملیات محدودسازی یا غیرفعالسازی رونوشتها حالا وقت آن است که رونوشتهای قدیمی را پاکسازی کنید. برای انجام اینکار پیشنهاد میکنم که حتما از افزونه فوقالعاده و همچنین رایگان Wp-Optimize استفاده کنید.
با این افزونه شما میتوانید تمامی رونوشتهای مقالات وب سایتتان را پاک کنید، تمامی مقالاتی که به صورت خودکار پیشنویس شدهاند را پاک کنید ، تمامی نظرات هرزنامه و تایید نشده را پاک کنید و همچنین در نسخههای جدید این افزونه میتوانید تمامی عملیات بهینهسازی پایگاه داده را به صورت خودکار انجام دهید. قبل از اعمال تغییرات در پایگاه داده بک آپ گرفتن فراموش نشود.
به طور کلی وب سایتهای وردپرسی از نظر صفحات بسیار حساس هستند و وبسایتی با بیشتر از ۱۰۰ صفحه را اصلا قابل قبول نمیدانند. اگر وب سایت شما از ۱۰۰ صفحه بیشتر شود، شما احساس مصرف بالای رم و همچنین کاهش سرعت در Backend وب سایت خود را احساس خواهید کرد. توجه داشته باشید که این مشکلات در Front end وب سایت وردپرسی شما احساس نخواهد شد و هیچ تاثیری در این بخش ندارد. حتی خود شرکت اتوماتیک نیز در این رابطه اطلاعاتی را در بخش مستندات خود ذکر کرده است.
با توجه به اینکه وردپرس برای وبسایتهای برمبنای محتوا طراحی شده است ولی برخیها نیز به دلیل راحتی این سیستم مدیریت محتوا را در موضوعات مختلف مانند وب سایتهای شرکتی استفاده میکنند که این وب سایتها نیازمند چندین صفحه مختلف میباشد و با اضافه شدن صفحات و ایجاد مشکلات در Back End در مدیریت وب سایتشان به مشکل میخورند. برای چنین وبسایتهایی پیشنهاد میشود که به ساخت چندین صفحه مختلف با یک شکل ، Post Type های مختلف خود را تهیه کنند. همچنین شما میتوانید از افزونه Post Type Switcher برای تبدیل صفحات خود به یک نوع Custom Post Type استفاده کنید و صفحات خود را به مقاله تبدیل کنید و مشکل کندی در Back End را برطرف کنید.
بهینه سازی تصاویر و کاهش حجم آنها یک موضوع کاملا پیچیده است که نیازمند بررسی به صورت کاملا دقیق دارد. هرچه حجم تصاویر استفاده شده در یک صفحه کمتر باشد، آن صفحه نیز سریع تر لود میشود.
یکی دیگر از مهمترین بخشهای بهینهسازی وب سایت وردپرسی ، فشرده سازی Gzip میباشد که فعالسازی آن باعث کاهش حجم صفحه وب ، فایلهای CSS و جاوا اسکریپت میشود . با فعال سازی Gzip شما از ۵۰ تا ۸۰ درصد در پهنای باند وبسایتتان صرفه جویی خواهید کرد. البته قبلا هم درباره تابع Gzip در پست رفع مشکل Enable gzip compression به شکل مفصل صحبت کردهایم.
برای فعالسازی GZIP در آپاچی قطعه کد زیر را در فایل .htaccess قرار دهید.
برای فعالسازی GZIP در وب سرور NGINX قطعه کد زیر را در nginx.conf قرار دهید .
یکی از دلایل رایج کاهش سرعت وب سایتها ، داشتن بیش از حد پلاگینهای درحال اجرا بر روی وردپرس میباشد. تا جای ممکن سعی کنید که از حداقل تعداد پلاگین فعال استفاده کنید. قبل از اینکه شروع به غیرفعالسازی و پاکسازی افزونهها کنید بهتر است که آنها را آنالیز کنید و ببینید که کدام یک از افزونهها باعث کاهش سرعت لود وب سایتتان میشوند.
پس از بررسی حالا وقت آن است که ببینید میتوانید مشکل آنها رفع کنید یا خیر. اگر نتوانستید مشکل را حل کنید سپس آنها را غیرفعال یا پاک کنید.
افزونه P3 یک افزونه رایگان و توسعه داده شده توسط GoDaddy میباشد که به شما در حل مشکل کاهش سرعت وب سایتتان کمک میکند. با این افزونه میتوانید :
نکته : این افزونه در حال حاضر با PHP نسخه ۷ سازگار نیست.
افزونه WP Performance Profiler ، یک افزونه ارزان قیمت است که دقیقا امکاناتی مشابه افزونه رایگان P3 را به شما ارائه میکند. اما اگر کارهایی کمی پیشرفته تر از P3 را بخواهید پیشنهاد میشود که این افزونه را تهیه کنید.
همچنین در نظر داشته باشید، با این افزونهها شما میتوانید بعضی از مشکلات را متوجه شوید ولی در بعضی اوقات شما راهی جز حذف افزونه ندارید.
در مطالعات اخیری که در زمینه عملکرد وب فونتها انجام شده است حدود ۵۷ درصد از وب سایت ها از فونتهای شخصی سازی شده استفاده میکنند ، که تعداد این وب سایتها از سال ۲۰۱۱ تا الان حدود ۸۵۰ ٪ افزایش پیدا کرده است.
متخصصین سئو بر این عقیدهاند که وبمستران میبایست تنها فرمتهای مورد نیاز خود را در وب سایت لود کنند . مثلا WOFF و WOFF2 از این فرمتها هستند. سرویسهایی مانند Typekit به علت انکودینگ base64 باعث افزایش زمان دانلود و همچنین کاهش سرعت وب سایت شما میشوند، البته نه در ایران. (به دلایل تحریم)
در این مقاله به شکل اصولی در عمل به تبدیل پروتکل http به پروتکل https میپردازیم و نحوه صحیح انتقال از پروتکل ناامن HTTP به پروتکل امن HTTPS را به شکل صریح بیان میکنیم.
برای شروع ، شما به یک گواهینامه معتبر SSL نیازمندید. گواهینامههای SSL یک فایل کوچک هستند که کلیدی به اطلاعات یک سازمان خاص اضافه میشوند و پس از نصب شدنشان بر روی سایت باعث فعال شدن پروتکل HTTPS برای افزایش امنیت وب سایت و سرور میشوند. در حال حاضر تعداد قابل توجهی گواهینامه SSL مختلف وجود دارد که شما میتوانید از بین آنها یکی را که به درد کسب و کارتان میخورد انتخاب کنید. دو وب سایت زیر بهترین وب سایتهای فروش گواهینامه SSL هستند که شما میتوانید از طریق وب سایتهای خدمات ارزی از آنها SSL مورد نیاز خود را خریداری کنید:
در این وب سایتها شما میتوانید یک گواهینامه Comodo Positive SSL cert را با هزینهای کمتر از ۹ دلار خریداری کنید.
گرچه وب سایتهای ایرانی بسیار معتبری نیز برای خریداری و تهیه گواهینامههای SSL وجود دارد ولی به جهت حفظ رقابت در کشور (نمیخوایم دعوا راه بیاندازیم ?) این وب سایتها را معرفی نمیکنیم ولی بدانید که همچین وب سایتهایی هستند و با جستوجو در اینترنت میتوانید از آنها خرید انجام دهید.
تایید کننده دامنه (Domain Validation) : گواهی نامه DV هم گفته میشود، این گواهی نامه تایید بر روی تک دامنه و ساب دامنه دارد، بدون تایید به تایید سازمان یا شرکت و یا شخص میتوان آن را تهیه کرد. (تنها تایید ایمیل آدرس لازم دارد) ، ارزان و تحویل به صورت آنی است. (همانند عکس پایین گواهی نامه عادی)
تایید کننده تجاری/سازمانی (Business/Organization Validation) : گواهی نامه OV هم گفته میشود، تایید تک دامنه و ساب دامنه ، تایید کننده مراودات تجاری و سازمانی با حداکثر امنیت و اعتماد دهی ، تحویل در یک تا سه روز کاری. (همانند عکس پایین گواهی نامه عادی)
تایید کننده گسترده (Extended Validation) : گواهی نامه EV هم گفته میشود، تایید تک دامنه و ساب دامنه ، تایید کننده مراودات تجاری و سازمانی با حداکثر امنیت و اعتماد دهی ، تحویل در دو الی هفت روز کاری و دارای نوار سبز رنگ تایید. (همانند عکس پایین گواهی نامه گسترده)
در حال حاضر گواهینامههای SSL دو نوع مختلف تاییدیه را برای طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) ها در نظر گرفتهاند. اولین نوع آن تاییدیه گسترده میباشد که یک نوار سبز رنگ نمایشدهنده نام شرکت شما در صفحه مرورگر نمایش داده میشود، این گواهینامه از لحاظ قیمت بسیار گران قیمت میباشد. دومین نوع گواهینامهها ، تاییدیه به صورت تجاری یا تایید دامنه میباشد که یک قفل سبز رنگ کنار آدرس وب سایت شما میآید و نام شرکت به نمایش گذاشته نمیشود.
در زیر تفاوت این دو را مشاهده می کنید :
همچنین اگر امکان خرید گواهینامه SSL را ندارید میتوانید از Let’s Encrypt استفاده نمایید که گواهینامهای رایگان ولی بدون هیچ مبلغ گارانتیای میباشد. این گواهینامه به شما به صورت ۳ ماهه رایگان تحویل داده میشود و شما میتوانید از آن در وب سایتتان استفاده کنید و کمی اعتماد را به مشتریان خود بدهید. فقط بهتر است بدانید که این گواهینامه امنیت وب سایت شما را تضمین نمیکند. برای تهیه این گواهینامه میتوانید از CertBot استفاده کنید.
در زیر راههای ساده نصب و فعالسازی گواهینامه SSL بر روی وب سرورهای مختلف را برای شما قرار دادهایم. بسته به اینکه چه نوع وب سروری دارید ، مراحل نصب متفاوت است. (در زیر آموزش فعالسازی گواهینامه SSL شرکت Comodo را لینک گذاری کردهایم.)
اگر شما میخواهید از طریق certbot یک گواهینامه رایگان Let’s Encrypt دریافت کنید نیز میتوانید از آموزشهای مختلفی که در قسمت مستندات این ربات قدرتمند موجود است استفاده کنید.
بررسی صحت گواهینامه:
برای بررسی صحت گواهینامه، شرکتهای معتبر خارجی اقداماتی انجام دادهاند که از این طریق شما میتوانید گواهینامههایی را که تهیه کردهاید را بررسی کنید و از صحت و قدرتمندی آنها اطلاع یابید. در زیر دو نمونه از این وب سایتها که صحت گواهینامه SSL شما را بررسی میکنند را قرار دادهایم.
استفاده از لینک گذاریهای خانوادگی در ساخت سایت خیلی به سئو سایت کمک میکند ولی برای یک انتقال ساده به HTTPSاین لینکگذاریها شما را مجبور به جستوجو و موشکافی کل وب سایت از کدهای HTML گرفته تا دیتابیس میکند.
بروزرسانی این لینکگذاریهای سخت در پلتفرمها متفاوت است . برای مثال در وردپرس ما پیشنهاد میکنیم از ابزار Database Search and Replace Script ساخته شرکت Interconnect IT استفاده کنید. شما میتوانید لینکها را به صورت دستی تغییر دهید ولی در صورتی که یک وب سایت بزرگ داشته باشید تغییر لینکها به صورت تک تک از دیتابیس کار را برای شما دشوار میکند. همچنین جداول Meta Data نیز در نظر بگیرید که بسیار جداولی طولانی و پر از لینک هستند که کار را از آنچه به نظر میرسد سخت تر میکنند.
من پیشنهاد میکنم در صورتی که میخواهید از ابزار جستوجو و تبدیل استفاده کنید ، عملیات تغییر را در یک سرور پشتیبان برای توسعه انجام دهید و درصورتی که کارتان نتیجه بخش بود آن را انتقال دهید. یا در صورتی که وقت یا امکان چنین کاری را ندارید حداقل یک پشتیبان از اطلاعات قبل از هر عملی تهیه کنید. وب سایت هایی هستند که فضای ذخیره سازی بالایی برای بک آپ به شما ارائه میدهند و هزینه کمی هم دریافت میکنند.
برای فعالسازی ابزار جستوجو و جایگزینی شرکت Interconnect IT آن را از وب سایت شرکت دانلود کنید و در روت وب هاست خود آپلود کنید.
بعد از انجام این عملیات در کنار دامنه وب سایت خود /search-replace-db را قرار دهید و به صفحه جستوجو و جایگزینی وارد شوید. مانند تصویر زیر :
در این قسمت شما میتوانید تمامی لینکهای وب سایت خود را به لینک جدید تبدیل کنید. توجه داشته باشید که تمامی فرمت های لینکها اعمم از همراه با www. و بدون www. را باید در این قسمت جستوجو و جایگزین کنید.
پیشنهاد میشود که در ابتدا شما Dry Run را فعال کنید تا ببینید که چه لینکهایی تغییر پیدا میکند و بعد از اینکه از لینکها مطمئن شدید روی Live Run کلیک کنید تا عملیات تبدیل انجام شود.
نکته : این عملیات کلیه لینکهای شما شامل لینک وب سایت و وردپرس، لینک گذاریهای سخت صفحات و مطالب و برچسبهای استاندارد را بروزرسانی میکند.
اگر نتوانستید از ابزار بالا استفاده کنید ، تنها راهی که برایتان باقی میماند استفاده از افزونه Really Simple SSL plugin میباشد. این افزونه رایگان به شما کمک میکند که به راحتی وب سایت وردپرسی خود را نسبت به گواهینامه SSL همگام سازی کنید.
در بیشتر مواقع شما ممکن است که بخواهید از فایلهای JS از ورودیهای خارجی استفاده کنید ولی بعضی از ارائه دهندگان ممکن است که از SSL استفاده نکنند و این باعث به مشکل خوردن شما شود. با توجه به این موضوع شما باید همیشه در این رابطه بررسی کنید تا از لینکهایی کاملا امن و برمبنای پروتکل HTTPS استفاده کنید.
برای مثال اگر شما از گوگل سرویس هاستینگ خود را تهیه میکنید ، باید مطمئن شوید که فایلهای شما در CDN با قابلیتHTTPS نگهداری میشوند. برای مثال فایل جیکوئری مخصوص CDN گوگل https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js میباشد.
یک توسعه دهنده با نام jitbit یک ابزار بررسی SSL کوچک ولی بسیار پر استفاده را آماده سازی کرده است که از این طریق شما میتوانید وب سایت خود را بررسی کنید و محتوای نا امن وب سایت را شناسایی کنید.
حالا بهتر است که به مهم ترین بخش انتقال دامنه برسیم یعنی ریدایرکت http به https با کد ۳۰۱ آدرس وب سایت . این بخش اصلی ترین قسمت انتقال آدرس سایت میباشد زیرا در صورتی که این کار را انجام ندهید انگار نه انگار که وب سایت شما به HTTPS تبدیل شده است و همچنان وب سایتتان با HTTP باز میشود.
همچنین در نظر بگیرید که اگر ریدایرکت های نوع دیگری را برای این صفحات استفاده کنید مطمئن باشید که به سئو وب سایت خود آسیب جدیای وارد کرده اید، بنابر این باید توجه داشته باشید که حتما با ریدایرکت ۳۰۱ آدرس وب سایت خود را به HTTPS تبدیل کنید.
اینکه از چه پلتفرمی در وب سایت خود استفاده میکنید اصلا اهمیت ندارد و ما اصلا پیشنهاد نمیکنیم که از طریق افزونهها این کار را انجام دهید. با یک جستوجوی ساده میتوانید نحوه ریدایرکت ۳۰۱ را در وب سرور خود بیابید. برای مثال در زیر ما دو وب سرور انجینکس و آپاچی را برای شما کدهای ریدایرکتشان را قرار داده ایم . برای دیگر وب سرورها لطفا در گوگل جستوجو کنید.
کدهای زیر را در بخش کانفیگ انجینکس قرار دهید :
کدهای زیر را در فایل .htaccess آپاچی قرار دهید :
هرگونه لینک گذاریهای سخت و همچنین قوانین مسدودیت را در robots.txt خود بررسی کنید و تمامی دایرکتوریها و فایلهای تحت پروتکل HTTP را به HTTPS تغییر دهید.
بیشتر CDN ها امکانات مختلفی را برای فعالسازی گواهینامه SSL بر روی خود دارند. برای مثال کلودفلر به کاربرانی که از سرویس CDN خود استفاده میکنند و دامنه بین المللی دارند، یک گواهینامه SSL رایگان هدیه میدهد که پس از پایان قابل تمدید است.
متاسفانه اگر از CDN کلودفلر استفاده میکنید و دامنه IR و ایران برای وب سایت خود تهیه کرده اید باید اعلام کنم که CDNکلودفلر امکان استفاده از SSL را به طور کلی به شما نمیدهد و حتی نمیتوانید در CDN کلودفلر از گواهینامه SSL شخصی خودتان استفاده کنید. (تحریمیم ?)
اگر دامنه بین المللی دارید، حتی سرویس رایگان CDN کلودفلر نیز به شما یک گواهینامه رایگان SSL هدیه میدهد که یک گواهینامه رایگان COMODO میباشد و به صورت خودکار بر روی وب سایت شما فعال میشود و شما میتوانید آن را در وب سایتتان استفاده کنید. همچنین اگر گواهینامه دیگری را تهیه کردهاید میتوانید با فعالسازی سرویس ویژه کلودفلر گواهینامه شخصی خود را نیز به آن اضافه کنید.
شما همچنین باید مطمئن شوید که لینکهای مبدا خودتان را در CDN تغییر داده باشید.
برای مثال اگر از KeyCDN استفاده میکنید ، از داشبورد KeyCDN وارد بخش Zones شوید.
در بخش Zones بر روی کلید Manage مخصوص Zone مورد نظر خود کلیک کنید و کلید Edit را انتخاب کنید.
حال که صفحه pull zone باز شد. آدرس وب سایت خود را از پروتکل HTTP به پروتکل HTTPS تغییر دهید.
از داشبورد KeyCDN وارد بخش Zones شوید.
در بخش Zones بر روی کلید Manage مخصوص Zone مورد نظر خود کلیک کنید و کلید Edit را انتخاب کنید.
بر روی Show Advanced Features کلیک کنید.
پروتکل HTTP/2 را فعالسازی کنید و روی کلید Save کلیک کنید.
دقیقا همانند مرحله سوم در وردپرس در این بخش نیز ما تمامی لینک گذاریهای سخت وب سایتمان را در CDN از HTTP به پروتکل امن HTTPS تبدیل میکنیم.
در انجام این کار دقت نظر فرمایید زیرا اعمال انجام شده تاثیر مستقیم بر روی سئو سایت شما دارد. همچنین مطمئن شوید که پس از تکمیل کار آدرس ها با پروتکلهای HTTP را حذف کنید. در KeyCDN بخشی به نام Delete Me وجود دارد که میتوانید از آن برای حذف این آدرسهای سخت استفاده کنید.
پس از انجام این عملیاتها وقت آن است که وب سایتتان را در کنترل پنل وب مستر گوگل نیز به HTTPS تغییر دهید. برای اینکار شما راهی جز ایجاد یک وب سایت جدید در سرچ کنسول وب مستر گوگل ندارید ، بنابراین حالا روی Add a Property کلیک کنید. و آدرس وب سایت خود را همانند زیر وارد کنید.
سایت مپ ها به روند ایندکسینگ وب سایت شما تاثیر خاصی نمیگذارند ولی برای اینکه شما خودتان از لینکهای ایندکس شده خود با خبر شوید مفید هستند و همچنین از این طریق شما میتوانید مشکلات موجود در لینکهای خود را نیز ببینید.
اگر در نسخه HTTP وب سایت خود سایت مپ را متصل کردهاید ، در این نسخه HTTPS نیز باید این کار را انجام دهید.
نکته : برای موتورهای جستوجوی دیگر مانند یاندکس ، یاهو و بینگ نیز باید این راهها را انجام دهید و پروتکل جدید وب سایت را به موتورهای جستوجو بشناسانید.
ما پیشنهاد میکنیم برای کمک به رباتهای گوگل و همچنین سریعتر شدن روند ایندکسشدن نسخه HTTPS وب سایتتان از ابزار Fetch گوگل استفاده کنید. این ابزار باعث بررسی سریع رباتها در وب سایتتان خواهند شد و روند ایندکس وب سایتتان را افزایش میدهند. (این کار به صورت خودکار نیز انجام میشود ولی کمی بیشتر از انجام دستی زمان میبرد)
۱ – وارد بخش Fetch گوگل شوید و فیلد را خالی گذاشته و روی Fetch کلیک کنید.
۲ – پس از انجام این کار روی گزینه Submit to index کلیک کرده و با انتخاب گزینه Crawl this URL and its direct links تمامی صفحات متصل به صفحه اصلی وب سایتتان را مورد بررسی ربات گوگل قرار دهید.
آپدیت (Dec 24 2017): این مرحله ، مرحلهای است که بیشتریها فراموش میکنند که انجام دهند، هر چند از نگاه بنده (پوریا آریافر) چندان اهمیت ندارد، به هر حال پس از انجام مرحله ۱۱ شما باید فایل Disavow پروتکل قبلی (پروتکل http) را از طریق این لینک گوگل دریافت کنید و در نسخه یا همان Property جدید که با آدرس HTTPS در گوگل وب مستر است، فایل Disavow را آپلود کنید.
فایل Disavow چیست ؟ این فایل شامل بک لینکهای اسپم و مضر برای سایت شما است که میتواند تاثیر منفی در سئوی سایت شما داشته باشد، ولی این موضوع اما و اگرهای بسیاری دارد، مثلا شما از چه طریقی اسپم بودن لینک را تشخیص میدهید؟ تجربه؟ ابزارهای آنلاین؟ نظر سئوکار؟ میزان صحت تشخیص شما چقدر میباشد؟ آیا گوگل با شما هم عقیده است؟ به هر حال توصیه نمیشود شما چنین عملی را انجام دهید و بهتر است این موضوع را به یک متخصص سئو بسپارید. ولی در کل میتوان گفت که اگر به یقین رسیدید لینکی از سایت و یا لینک هایی از سایت اسپم است، زمانی اقدام به Disavow کنید که تعداد لینکها به سمت سایت شما بسیار باشد.
نکته مهم: گاهی بنده مشاهده کردم دوستان برای پاک کردن آدرس سایت قدیمی خود در گوگل، آدرس قدیمی سایت خود را در فایل Disavow در Property همان آدرس آپلود و ارسال میکنند، این عمل کاملا غلط است و تاثیرات منفی به همراه دارد.
شما وقتی لینکهای آدرس یک سایت را Disavow میکنید، یعنی به شکلی به گوگل میگویید لینکهای آن سایت را برای من nofollow کن. یعنی بی تاثیر کردن لینکهای سایت لینک دهنده.
این مرحله را شما وقتی باید انجام دهید که قبلا در نسخه http سرچ کسنول خود (یا همان Property قدیمی با آدرس http) فایلی از لینکها را Disavow کرده باشید، و حال در اینجا میگوییم که دوباره در Property جدید آن فایل را دوباره Disavow کنید به این علت که ممکن است با تغییر آدرس سایتمان، گوگل با پیدا کردن دوباره لینکهای اسپم سایت معرفی شده در Propery قبلی، تاثیر بر آدرس جدید را بگذارد، بیشتر این عمل جنبه محکم کاری را دارد ولی باز میگویم که بهتر است این عمل توسط متخصص سئو صورت بگیرد، در غیر این حالت، از Disavow کردن لینکهایی که مطمئن نیستید اسپم هستند یا خیر خودکاری کنید.
خب برای ثبت دوباره فایل Disavow به این لینک مراجعه کنید و فایل را در سرچ کنسول گوگل وارد کنید.
از موفق بودن عملیات اطمینان حاصل کنید .
سپس شما نیاز دارید که اطلاعات وب سایتتان در گوگل آنالیز را بروزرسانی کنید. کافیست که در گوگل آنالیز به بخش Account بروید و سپس بخش تنظیمات را مشاهده کنید. بعد از ورود به بخش تنظیمات ، میبایست اطلاعات وب سایت خودتان را از پروتکل HTTP به HTTPS تغییر دهید. این کار را برای Property Settings نیز انجام دهید. با این کار اطلاعات شما از دست نمیرود و تمامی آمار شما از ابتدا باقی خواهد ماند.
در اینجا چند نمونه از بروزرسانیهای لازمی که شما باید برای انتقال از HTTP به HTTPS انجام دهید را بررسی میکنیم.
گوگل ۱۳ راه حل برای انجام پس از مهاجرت به HTTPS را در صفحه گوگل پلاس خود منتشر کرده است که اگر به زبان انگلیسی تسلط دارید پیشنهاد میکنم حتما آن را بررسی نمایید.
همانطور که مشاهده کردید راههای مختلفی برای مهاجرت و انتقال صحیح از HTTP به HTTPS وجود دارد ولی اینکه شما کدام یک را انتخاب میکنید به خودتان بستگی دارد ولی راهی که امروز ما پیشنهاد کردیم یک راه عملی و خوب است که شما از این طریق میتوانید عملکرد وب سایت خود را از طریق پروتکل HTTP/2 بهبود ببخشید و به افزایش رتبه سایت خود در گوگل خود کمک کنید، هر چند انتقال به این پروتکل نزدیک به ۲۰۰ میلی ثانیه باعث کاهش سرعت سایت میشود ولی این امر نیز چندان مهم نیست. حالا دیگر شما مطمئن هستید که وب سایتی امن دارید و ورودهای شما دیگر بر مبنای یک فایل تکست ساده نیست و همه رمزگذاری خواهد شد.
اگر به دنبال منابع بیشتر در این زمینه هستید پیشنهاد میکنم مقاله سایت pixelprivacy را هم مطالعه کنید.
درباره رفع ارور ترسناک 500 قرار است در این مقاله بپردازیم. اینکه خطای 500 چیست و چگونه میتوان این ارور را حل کرد؟ یکی از بدترین اتفاقها برای یک مدیر سایت یعنی شما این است که وقتی وارد سایت خود میشوید با مشکلی به نام “500 Internal Server” روبهروشوید و بدتر از آن اینکه نمیدانید این خطا چه زمانی رخ داده، آیا ۱ ساعت و یا ۱ روز؟
خطای 500 Internal Server error
که معنای آن مشکل در سرور داخلی500 میباشد یکی از متداولترین کد وضعیتهای HTTP در رنج کدهای 5xx است. ارور 500 به این معنا است که موضوع یا مسئلهای اشتباه بر روی سرویسدهندهی وبسایت (سرور یا هاست) قرار دارد که سرور یا سرویسدهنده قادر به تشخیص دقیق مشکل نیست که وجود این خطا در مدت زمان طولانی مثلا بالای ۶ ساعت، تاثیری بسیار نامناسب بر روی سئو و بازاریابی آنلاین کسب وکار شما دارد.
البته اکثر خطاهای 5xx به جز خطای 503، این اثر بد در سئو را دارند و اگر سریعتر رفع نشود ممکن است رباتهای گوگل این خطا را مشاهده کنند. برای همین به شما در بالا گفته شد که حتما از ابزارهای مانیتورینگ استفاده کنید.
آیا شما مدیر سایت هستید؟ اگر خطای سرور داخلی 500 را در یک یا بیش از یک صفحه از وبسایت خود ملاحظه کردید، به منظور دریافت راهکارها یا پیشنهادات بهتر، به روشهای رفع ارور 500 Internal Server error
در وبسایت خود که در پایین صفحه قرار دارد مراجعه کنید.
پیغام خطای 500 Internal Server error
ممکن است به شکلهای متعددی نمایان شود چرا که هر وبسایتی میتواند و اجازه دارد این پیغام را به دلخواه خود سفارشی سازد همانند صفحه 404 که طراحی سایت(طراحی سایت شرکتی، طراحی سایت فروشگاهی، قیمت طراحی سایت) بر روی این خطا متفاوت است.
برخی از متداولترین پیغامهایی که شما میتوانید در آن خطای HTTP 500 را مشاهده نمایید به صورت زیر است:
وقتی که یک ارور سرور داخلی مثل ارور 500 به وسیله وبسایتی که شما در حال بازدید از آن هستید رخ میدهد، این خطا را در هر مرورگر، سیستم عامل و حتی تلفن هوشمندتان نیز قابل رویت است، در بسیاری از اوقات یک خطای 500، در پنجرهی مرورگر اینترنت به شکل و شمایل سایر صفحات نمایان میشود (به بیان دیگر این خطا به صورتی نمایان میشود که یک صفحهی عادی در مرورگر وب نمایان میشود).
همانگونه که در بالا اشاره کردم، پیغامهای خطا 500 حاکی از آن است که یک چیز یا مسئلهای در کل ساخت سایتاشتباه است.
بسیاری از اوقات، ارور 500 به معنی وجود مشکل در سرور (هاست) یا برنامهنویسی طراحی سایت است، و گاهی پیدا کردن این مشکل سخت و گاهی موقت است و به سادگی رفع میشود.
توجه: هر خطای 500 خودش زیرمجموعه های مختلفی میتواند داشته باشد، در بیشتر موارد اطلاعاتی ریز دربارهی علت بروز یک خطای HTTP 500 ، زمانی ارائه میشود که آن خطا در یک سرور که از نرمافزار مایکروسافت IIS استفاده میکند، رخ دهد. به ارقامی که پس از عدد 500 ظاهر میشود توجه کنید مانند خطایHTTP 500.19– خطای سرور داخلی که به این معنی است که دادههای پیکربندی نامعتبر است. پیغامهای دیگر را در همین صفحه کمی پایینتر اوردهایم.
همانگونه که در بالا اشاره داشتم، خطای 500 ، خطایی است که از سوی سرویسدهنده (سرور) است، به این معنی که مشکل احتمالاَ ناشی از سیستم رایانه یا اینترنت، شما نیست، بلکه در عوض این مشکل به سرویسدهنده سایت شما (یا به اصطلاح هاست) برمیگردد.
ممکن است چیز اشتباهی از سوی شما باشد که البته این بیان درباره بروز این مشکل غیرمحتمل است و در ادامه این احتمالات برای بروز این خطا را تشریح خواهیم کرد.
سرفصلهای پست
امروز قصد داریم تا نگاهی به جدول wp_options در پایگاه داده وردپرس خود کنیم. به طور کلی این منطقه شامل کلیه عملکردهای وردپرس و پایگاه داده است که در بیشتر اوقات به آن توجه نمیشود.
با توجه به بارگیری های خودکار داده ها در پوسته ها و افزونه های وردپرس توجه نکردن به این جدول (مخصوصا در وب سایتهای پربازدید و قدیمی) میتواند باعث کندی صفحهها و همچنین کاهش سرعت سایت و در نتیجه سئو وب سایت شما شود.
نکاتی که در پایین به شما آموزش میدهیم را بررسی کنید تا یاد بگیرید که چطور جدول wp_options را بررسی، عیبیابی و پاکسازی کنید.
جدول wp_options حاوی تمامی نوع داده مربوط به عملکرد وب سایت وردپرسی شما میباشد ، دادههایی مانند :
موارد زیر در جدول wp_options وجود دارد که یکی از آنها را که در عملکرد وب سایت نقش بسیاری دارد را پررنگ کردیم:
یکی از مهمترین مواردی که باید در رابطه با wp_options بدانید ، اطلاع داشتن از بخشی به نام بارگیری خودکار (autoload) میباشد. این بخش شامل دو متغیر بله و خیر (yes or no) میباشد . که اساساً برای کنترل تابع wp_load_alloptions() استفاده میشود. دادههای Autoload ، دادههایی هستند که در هر صفحه وردپرسی شما اجرا میشوند.
دقیقا مانند غیرفعال کردن بارگیری بعضی از کدهای جاوااسکریپت در بعضی از صفحات وب سایت ، این بخش نیز به راحتی غیرفعال و فعال میشود.
به طور کلی ، دادههای Autoload به صورت پیشفرض در تمامی جداول بر روی “yes” تنظیم شدهاند که با توجه به اینکه بعضی از افزونهها نیازی نیست که در تمامی صفحات بارگیری شوند، توسط توسعه دهندگان بارگیری خودکارشان (autoload) غیرفعال میشود.
تجربه نشان داده است که وجود مقدار زیادی autoload در جدول wp_options میتواند باعث مشکل در وب سایت وردپرس شما شود.
در زیر به تعدادی از مشکلات معمول این دسته اشاره میکنیم:
حداکثر مجاز استفاده از autoload در یک وب سایت وردپرسی چقدر است؟ این مقدار میتواند در هر نوع وب سایتی متفاوت باشد ولی به طور کلی حجم دادهها معمولا بهتر است بین 300 کیلوبایت تا 1 مگابایت باشد.
هنگامی که شما شروع به بررسی جدول wp_options میکنید با حجمی حدود 3 تا 5 مگابایت مواجه میشوید که حتما چیزهایی را باید غیرفعال یا به طور کلی حذف کنید تا جدول و دادههای autoload بهینه سازی شوند. اگر هنگام بررسی با حجمی بیشتر از 10 مگابایت مواجه شدید ، باید بگویم که وضعیت بحرانی است و باید سریعا به بررسی جدول wp_options بپردازید. با این حال ، صحبت ما به این معنا نیست که اگر بررسی نکنید با مشکل مواجه میشوید ولی در کل اگر از حالا بهینه سازی را شروع کنید ، مشکلات آینده را پیشگیری کرده و همچنین سرعت سئو سایت تان را بهبود میبخشید.
اگر شما با مشکل کندی سرعت سایت روبهرو شدهاید، یکی از دلایلی که میتواند باعث این مشکل شده باشد ، وجود کوئریها و یا دادههای خودکار بارگیری شدهی یک افزونه قدیمی در جدول wp_options میباشد.
در زیر ما به شما نشان میدهیم که چگونه حجم دادههای ستون autoload در جدول wp_options را بررسی کنید و خیلی راحت اطلاعات اضافه را پاکسازی کنید.
اولین کاری که باید انجام دهید ، بررسی حجم داده های ستون autoload در حال مصرف در وب سایت وردپرسی شماست. برای اینکار ، وارد phpMyAdmin شوید.
از سمت چپ صفحه دیتابیس خود را انتخاب کنید و سپس وارد سربرگ SQL شوید .
بعد از انجام این کار دستور زیر را در بخش ادیتور وارد کنید و روی کلید GO کلیک کنید.
توجه داشته باشید ما نسبت به نصب پیشفرض وردپرس آموزش میدهیم و ممکن است شما به علت امنیت از پیشوندی غیر از wp_ استفاده کرده باشید که برای استفاده از دستور بالا میبایست پیشوندی که تعریف کردهاید را به جای wp_ وارد کنید.
حجم نمایش دادهشده از تابع autoload_size بر مبنای بایت می باشد. هر 1000 بایت برابر 1 کیلوبایت است و هر 1000 کیلوبایت برابر 1 مگابایت است . بنابراین در تصویر زیر حجم autoload_size وردپرس ما 249025 بایت به معنای 0.25 مگابایت میباشد. به طور کلی این مقدار حجم برای یک وب سایت ، حجمی ایدهآل است. اگر نتیجه بررسی شما نیز کمتر از 1 مگابایت بود نیازی نیست که نگران چیزی باشید.
برای تبدیل راحت بایت به مگابایت کافی است در گوگل عبارت “byte to mb” سرچ کنید تا در یک rich answers گوگلبتوانید تبدیل را انجام دهید.
بنابراین ، اگر حجم autoload_size وب سایت شما بیشتر از 1 مگابایت بود ، پیشنهاد میشود که حتما در ادامه این مقاله سئوراز را دنبال کنید تا سئو و سرعت وب سایت خود را از این طریق بهبود بخشید.
در نمونه زیر حجم autoload_size برابر 137724715 بایت معادل 137 مگابایت میباشد. که این مورد نشان دهنده وجود مشکل در یک وب سایت وردپرسی است.
شما همچنین میتوانید برای بررسی تخصصی تر از چندین دستور مختلف دیگر استفاده کنید.
در دستور زیر حجم autoload_size بر حسب کیلوبایت ، تعداد کوئری های autoload و 10 دستور autoload اول دیتابیس به شما نمایش داده میشود.
اگر شما از خدمات سایت New Relic استفاده میکنید ، میتوانید از آن برای پیدا کردن مشکلات کوئری های جدول wp_options استفاده کنید، در سربرگدیتابیس این وب سایت ، شما میتوانید فهرستی از جداول و کوئریهایی که پرمصرف هستند را به دست آورید، اگر روی یکی از گزینههای در فهرست کلیک کنید، در رابطه با کوئریها اطلاعات بیشتری کسب میکنید. در مثال زیر ، شما میتوانید تعداد انگشت شماری از دادههای autoload در جدول wp_options را مشاهده کنید.
با اطمینان میتوان گفت که با جستوجویی کوتاه متوجه خواهیم شد که حدودا داده های autoload شده این وب سایت حداقل 250 مگابایت است.
مرحله بعدی بهینه سازی ، مرتب کردن پر مصرف ترین ها در داده های autoload شده میباشد. شما میتوانید با دستور SQLزیر به سرعت لیست 10 داده پرمصرف را به دست آورید.
دوباره خاطر نشان کنیم که ممکن است شما پیشوند جداول وردپرس خود را هنگام نصب برای افزایش امنیت تغییر داده باشید و نامی جز wp_ گذاشته باشید، برای اینکه دستور بالا کار کند ، شما باید پیشوند جداول خود را جایگزین wp_ کنید.
مرحله بعدی ایجاد تغییرات در یک داده autoload شده پرمصرف میباشد.
همانطور که مشاهده میکنید در تصویر بالا در صدر لیست ریدایرکت 301 قرار دارد. این کوئری به احتمال بسیار زیاد مربوط به یک افزونه سئو وردپرس میباشد و وظیفه انتقال دادن صفحات را دارد. در این نوع موارد ، بهتر است که از افزونه برای انتقال صفحات استفاده نکنید و از ابزار پیشفرض وب سرور خود استفاده کنید.
دلیل این پیشنهاد چیست ؟ به این دلیل که استفاده از افزونههای رایگان وردپرس برای انجام عملیات انتقال صفحات ممکن است باعث ایجاد اختلال در عملکرد وب سایت شوند ، نیازمند اجرای کد های اضافی و منابع دارد و همچنین ایجاد کوئری autoload در وب سایت میباشد ، پیشنهاد میشود که از انتقال صفحات از طریق پلاگین استفاده نکنید.
در لیست مرتب شده بالا هشت جایگاه را کوئری wpurp_custom_tiplate_ اشغال کرده است. به طور کلی شما باید بتوانید نام این کوئری ها بیابید و همچنین به سرور برای دسترسی به نقاطی از پوستهها و افزونهها دسترسی داشته باشید. اگر دسترسی دارید ، از طریق دستور grep زیر بررسی کنید که آیا میتوانید این کوئریها را پیدا کنید یا خیر! شما همچنین میتوانید از طریق درگاههای SFTP نیز این رکوردها را بررسی کنید.
اگرچه در بعضی از سرورها این روش کارایی ندارد ، ما توانستیم با جستوجویی ساده در گوگل دریابیم که این کوئری به افزونهای تحت عنوان WP Ultimate Recipe مربوط است. این کوئری یک نمونه از غیرضروریترین کوئریهای autoload شده در وردپرس می باشد. بنابراین اگر چنین افزونهای در لیست افزونههای خود دارید سعی کنید که آن را به طور کامل حذف کنید. درواقع ، منظور ما پاکسازی کامل افزونه و هرچیزی که تا به حال در پایگاه داده تولید کرده است میباشد.
نوع بعدی دادههای پرمصرف به دادههای um_cache_userdata_# مربوط میشود، این دادهها را در چند سطر از لیست 10 داده پر مصرف autoload بالا در میبینید.
با توجه به اینکه چند داده um_cache_userdata_ در پایان لیست قرار دارند . ما به سرعت وارد MySQL خود شده و با دستور زیر 40 کوئری Autoload پر مصرف مربوط به این داده را فراخوانی میکنیم.
و یا مجموع تمامی مقادیر بالا مربوط به آن پیشوند :
اگر متوجه شدید که تعداد بیشتری کوئری وجود دارد ، دوباره مجبورید در بین افزونهها و پوستهها جستوجو کنید و دستور grep مخصوص آن را اجرا کنید.
با توجه به جستوجویی که ما انجام دادید دریافتیم که این داده مربوط میشود به افزونه معروف Ultimate Miber و پس از جستوجویی کوتاه در گوگل راهی ساده برای حل مشکلات این افزونه نیز پیدا کردیم. سعی کنید قدرت جستوجو و تحقیق با گوگل را تمرین کنید تا به راحتی بتوانید نیازهای خود را در یک سرچ هدفمند پیدا کنید.
در جستوجو متوجه شدیم که برای حل مشکلات این افزونه چندین راه وجود دارد
گزینه دیگر برای پیداکردن گزینه های autoload کلیک روی کلید ویرایشگر است که میتواند لیست پوستهها/افزونهها و یا لیست وب سایت توسعه دهندگان آنها را به شما نمایش دهد.
یکی دیگر از گزینههای پرمصرف در بخش autoload استفاده مکرر Cronjobs ها میباشد. در این مورد، هر Cron ممکن است در این مسئله دخیل باشد، بنابراین هنگامی که ممکن است با کلیک روی کلید ویرایش وب سایت خراب شود ، باید چهکار کنیم ؟
برای مثال یک کوئری بسیار پرمصرف در وب سایت های وردپرسی کوئری Cron تحت عنوان do_pings میباشد که شما با یک جستوجوی ساده میتوانید نحوه پاکسازی این نوع کوئریها را پیدا کنید، اگر با نحوه کار و پاکسازی آن اشراف کامل را ندارید این مورد را نادیده بگیرید، یا قبل اجرا بک آپ در دیتابیس خود تهیه نمایید.
اگر تعداد زیادی از نمونههایی که در بالا به شما نشان دادیم را مشاهده کردید ، حالا وقت آن است که شروع به پاکسازی تمامی دادههای autoloaded کنیم. این نکته بسیار پیشنهاد میشود که تا جای ممکن سعی کنید که تعداد سطر های جدول wp_options شما در کمترین حالت ممکن باشد. لطفا سعی کنید قبل از هرگونه پاکسازی یا ایجاد تغییرات در پایگاه داده خود از آن نسخه پشتیبان تهیه کنید. اگر امکان این کار را ندارید ، پیشنهاد میکنیم یک متخصص حرفهای استخدام کنید.
مانند اولین نکتهای که به شما گفتیم ، برای پاکسازی جدول wp_options باید ابتدا وارد phpMyAdmin شوید. از منو سمت چپ پایگاه داده وردپرس خود را انتخاب کنید و وارد سربرگ SQL شوید. سپس دستور زیر را وارد کنید و روی کلید GO کلیک کنید.
این دستور به شما تمامی دادههای جدول wp_options را که در آنها autoload بر روی yes ذخیره شده است را نمایش میدهد.
با اسکرول کردن سطرها به ترتیب تمامی افزونههایی که در حال حاضر نصب یا درحال استفاده نیستند را مشاهده میکنید. به عنوان نمونه در این آموزش ما سطرهایی از افزونه Jetpack توسعه داده شده توسط وردپرس را بررسی میکنیم.
به عنوان مثال در حال حاضر وب سایت از افزونه Jetpack استفاده نمیکند.
همیشه بهتر است قبل از انجام هرکاری مستندات ارائه شده توسط توسعه دهندگان افزونهها را بررسی کنید ، گاهی اوقات در بعضی از مستندات توسعه دهنده میگوید که چطور جداول گذشته را پاکسازی کنید یا شاید گزینهای برای پاکسازی پایگاه داده در تنظیمات افزونه قرار داده بود. در بعضی اوقات بهتر است که ابتدا یک بار افزونه را حذف کنید و دوباره نصب کنید و سپس بررسی کنید که آیا کوئریهای پایگاه داده آن پاکسازی شده است یا خیر و سپس در صورتی که پاک شده بود آن را به طور کامل حذف کنید. با این حال ، در این مقاله ما به شما آموزش میدهیم که چطور به صورت دستی جداول را پاکسازی کنید.
برای مثال در دستور زیر ، ما تمامی دادههای autoload درون wp_options را که مخصوص افزونه jetpack هستند را فراخوانی میکنیم:
سپس روی کلید Select All کلیک میکنیم و روی Delete کلیک میکنیم تا به طور کامل جداول حذف شوند.
یا شما میتوانید به صورت مستقیم با دستور زیر اقدام به حذف کوئریها کنید:
حالا شما میتوانید با تغییر options_name به عنوان افزونه و یا پوسته قدیمی خود داده های autoload شده جدول را پاکسازی کنید.
اگر از یک حافظه کش استفاده میکنید، وردپرس رکوردهای گذرا یا transient را در خود جدول wp_options ذخیره میکند. به طور کلی این نوع رکوردها باید زمان انقضایی داشته باشند و در طول زمان پاکسازی شوند ، با اینکه ، همیشه اینطور نیست. در حال حاضر پایگاههای دادهای وجود دارد که بیشتر از هزاران رکورد transient قدیمی را در خود نگاه داشتهاند. باید توجه داشته باشید که رکوردهای transient به صورت پیشفرض به صورت خودکار بارگیری نمیشوند.
شما میتوانید از دستور زیر برای مشاهده رکوردهای transient خودکار بارگیری شده استفاده کنید :
به هر حال ، شما میتوانید از افزونه Transient Cleaner نیز برای پاکسازی دادههای گذرا از پایگاهداده خود استفاده کنید.
اگر پاکسازی دادههای جدول wp_options کافی نبود ، شما بهتر است که از یک شاخص برای autoload استفاده کنید.
این کار اساسا کمک میکند که جستوجوی شما کارآمدتر شود.
تیم تست به نام 10آپ ، چند آزمون مختلف بر روی جدول wp_options با رکوردهای autoload شده انجام داده است تا نمایش دهد که چطور با افزودن یک شاخص به کوئریهای wp_options میتوانیم در عملکرد وب سایت بهبود بخشیم.
افزونه Little Bizzy یک افزونه کاملا رایگان وردپرسی است که با اضافه کردن شاخصی برای autoload جدول wp_options با استفاده از wp_cron برای گزارش روزانه میتواند به شما بسیار کمک کند.