• illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید میانگین رضایت دانشجویان سون لرن از دوره ها، بیش از 94% می باشد!

بهینه سازی و افزایش سرعت لود شدن وب سایت توسط gzip

26285 ۷ اسفند ۹۱

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

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

شیوه کار GZIP

شاید خیلی‌ها هنوز ندانند که شیوه عمل ترفند GZIP و نحوه فشرده کردن صفحه به چه صورت انجام می‌شود. قبل از آنکه به سراغ معرفی این روش بپردازیم اجازه دهید تا با بیان یک مثال تصویری، نحوه انجام این کار را عنوان کنیم. هنگامی که فایل صفحه ای مانند http://www.7learn.com/index.php را از مرورگر درخواست می کنید، اطلاعاتی بین مرورگر و سایت مورد نظر رد و بدل می‌شود که به طور مختصر شبیه به تصویر بالا است:

۱. مرورگر: سلام! لطفا فایل index.php را به من بده
۲. سرور: خوب! اجازه بده تا فایل مورد نظر را پیدا کنم
۳. سرور: پیدا کردم! این کد پاسخ شماست (۱۰۰کیلوبایت ها!!!! OK). من فایل را برایتان می‌فرستم
۴. مرورگر: ۱۰۰ کیلوبایت؟!!! اوه چقدر زیاد! انتظار… انتظار… بسیار خوب، بارگزاری شد

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

کجای کار مشکل دارد؟

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

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

1. مرورگر: سلام! می‌توانم index.php را دریافت کنم؟ اگر نسخه فشرده دارید لطفا آن‌را به من بدهید.
۲. سرور: اجازه بدهید فایل را پیدا کنم. بله، همین‌جاست! نسخه فشرده می‌خواهید؟ عالی است.
۳. سرور: من index.php را پیدا کردم (۱۰۰کیلوبایت ها!!!! OK).اما نگران نباش  فایل را فشرده و برای‌تان ارسال می‌کنم.
۴. مرورگر: فوق‌العاده است. فقط ۱۰ کیلوبایت! آن‌را از حالت فشرده خارج و به کاربر نمایش خواهم داد.

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

به‌طور ساده برای فشرده کردن فایل‌های متنی خود می‌توانید از ماژول deflate آپاچی استفاده کنید. برای این کار کافی است کدهای زیر را در فایل .htaccess سایت خود کپی نمایید

این کد، فایل‌های CSS، JS، HTML، XHTML و PHP سایت شما را gzip می‌کند.

کد زیر نیز یک نمونه بسیار خوب برای فشرده سازی فایل‌های مورد اشاره روی سایت شما و نیز Cache کردن دیگر فایل‌های استاتیک است.

با امتحان کردن این روش خواهید دید که تا چه اندازه، سرعت بارگزاری صفحات شما افزایش می‌یابد. برای بررسی صحت عملکرد gzip سایت خود نیز می‌توانید از این سیستم آنلاین استفاده کنید.در تصویر زیر وب سایت 7learn توسط این سایت تست شده که می توانید جزئیات مربوطه را بر روی تصویر مشاهده کنید.

همانطور که در تصویر می بینید حجم واقعی صفحه 94328 بایت هستش که بعد از فشرده سازی به 18095 کاهش پیدا کرده یعنی چیزی حدود 80 درصد کاهش حجم... خیلی جالبه نه؟ حالا با محاسبات زیر جالب تر هم میشه:

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

ابتدا فرض میکنیم که کاربر ما توسط سرویسی با سرعت (56kbps) به اینترنت متصل است:

تبدیل حجم واقعی صفحه به کیلو بایت:

94328/1024=92kbytes

تبدیل حجم بعد از فشرده سازی به کیلو بایت:

18095/1024=17kbytes

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

این یکی از راه کارهای اساسی در زمینه بهینه سازی و سئو یک وب سایت می باشد که باید مد نظر گرفته شود.

منبعوبلاگینا

امیدوارم که این مطلب مورد توجه شما واقع شده باشد.

موفق باشید...

:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 60 دیدگاه برای این مطلب ارسال شده است. نظردهی برای این مطلب بسته شده است .

  • ‏‏

    سلام
    خسته نباشید
    میشه کمکم کنید تا سرعت لود شدن وبلاگم رو ببرم بالا؟؟
    من از حرفای بالا راستش سر در نیاووردم..
    کمکم کنید 😥

    • ‏‏
      وحید صالحی(۱۶ مرداد ۱۳۹۲)

      برای وبلاگ نمیتونید این کار رو انجام بدید برای این کار شما نیاز به هاست دارید…برای افزایش سرعت وبلاگ بهترین کار رسیدگی به سئو قالب وبلاگ هستش…

  • ‏‏

    سلام
    ممنون از اینکه جواب دادید..

  • ‏‏

    ببخشید من اون کد ها رو به اون فایل اضافه کردم اما وقتی توی سایت آنالیز میکنم چیزی نمیاد . اینم نوشته های آنالیز :
    Web page compressed? No
    Compression type? none
    Size, Markup (bytes) 88,816
    Size, Compressed (bytes) 0
    Compression % 0.0

    • ‏‏
      وحید صالحی(۲۰ مرداد ۱۳۹۲)

      فایل htaccess در روت سایتت بود یا خودت ایجاد کردی؟

  • ‏‏

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

  • ‏‏

    این محتویات فایل htaccess سایت منه . میشه ویرایشش کنیو و با اون کدا بهم بدید ؟ مرسی

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    • ‏‏
      وحید صالحی(۲۱ مرداد ۱۳۹۲)

      نیاز به ویرایش نیست همون کدها در زیر کدهای بالا پیست کن همین…

  • ‏‏

    الان همین کارو کردم . وقتی که این آدرس رو تایپ میکنم>>> www.2fani.ir
    این نوشته میاد Unknown Error.
    وقتی که این آدرس رو میزنمو>>>> http://2fani.ir
    همون no و 0% میاد
    میشه راهنمایی کنید ؟ :(

  • ‏‏
    شاهین(۲۲ آبان ۱۳۹۲)

    عالیه!
    تشکر از کدها :smile:

  • ‏‏

    با سلام
    من اینو اپلود کردم اما وقتی
    http://www.gidnetwork.com/tools/gzip-test.php
    میزنم
    Unknown Error.
    میاره
    هاست من رایگان هست
    از 000webhost.com گرفتم

    • ‏‏
      کیوان علی محمدی(۲۰ آذر ۱۳۹۲)

      این هاست های رایگان همشون مشکل اساسی دارن.

  • ‏‏

    تشکر فراوان با پاسخگوتون ممنون

  • ‏‏
    حامد(۱۳ دی ۱۳۹۲)

    با سلام
    چگونه می توان Specify a Vary: Accept-Encoding header را افزایش داد؟
    با تشکر

  • ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

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

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :
    7LearnTelegram