فشرده ‌سازی Gzip

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

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

حتما برای شما پیش آمده است که فایل‌های کوچک را با استفاده از زیپ فشرده کنید. جالب است بدانید وب سایت‌ها نیز از روش‌های فشرده سازی مثل (Gzip) برای افزایش سرعت بارگذاری صفحه و بهینه سازی سئو سایت استفاده می‌کنند. در ادامه به طور کامل قصد داریم درباره فشرده سازی (Gzip) صحبت کنیم. بنابراین پیشنهاد می‌کنیم تا پایان این مقاله با ما همراه باشید.

فشرده سازی Gzip چیست؟

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

یکی از مهم‌ترین سوالاتی که برای بسیاری از کاربران ایجاد می‌شود، این است که فشرده سازی چه ارتباطی به بهینه سازی سئو وب سایت دارد؟ در یک وب سرور، مجموعه‌ای از فایل‌های مختلف ذخیره شده‌اند. زمانی که کاربر یک آدرس (URL) خاص را در مرورگر وارد می‌کند، مرورگر درخواست کاربر را برای سرور وب ارسال خواهد کرد. این درخواست معمولاً در قالب (HTTPGET) برای سرور ارسال می‌شود.

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

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

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

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

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

معرفی فشرده سازی GZIP

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

در حال حاضر، بهترین روش برای کاهش حجم فایل‌ها (Gzip) است. تحقیقات و پژوهش نشان می‌دهد که حدود ۹۹ درصد از سایت‌ها از این روش برای فشرده سازی محتوای خود استفاده می‌کنند. (Gzip) در سال ۱۹۹۲ به دنیای وب معرفی شد. در آن زمان، صرفاً برخی از وب سایت‌های معتبر به صورت اختصاصی از این روش فشرده سازی استفاده می‌کردند.

اما به مرور زمان، نرم افزارهایی طراحی شدند که (Gzip) را به صورت آنلاین در اختیار همه سرورها و سایت‌ها قرار می‌دادند. در این نرم افزارها، از الگوریتم (DEFLATE) استفاده می‌شود. این الگوریتم می‌تواند تمامی کاراکترهای تکراری را بدون حذف کوچک‌ترین داده از بین ببرد.

چرا Gzip از باقی روش های فشرده سازی مناسب تر است؟

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

تحقیقات نشان می‌دهد این روش فشرده سازی، می‌تواند حجم فایل‌های متنی، ویدیویی و تصاویر را تا ۷۰ درصد کاهش دهد. کاهش ۷۰ درصدی حجم داده‌ها مطلوب است. اما الگوریتم‌های دیگری مثل (Brotli) نیز وجود دارند که حجم داده‌ها را تا بیش از ۸۰ درصد یا ۹۰ درصد کاهش می‌دهند. یکی از مهم‌ترین دلایلی که باعث می‌شود اکثر وب سایت‌ها هنوز هم به روش (Gzip) متکی باشند، سرعت بالای این روش فشرده سازی فایل است. فشرده سازی (Gzip)، بسیار سریع‌تر از سایر روش‌های موجود است.

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

نحوه فشرده سازی GZIP

حالا که به طور کامل با فشرده سازی (GZIP) آشنا شدید، باید در رابطه با نحوه فشرده سازی اطلاعاتی به دست آورید. برای اینکه تمامی فایل‌های موجود در یک صفحه به سرعت فشرده سازی شده و به مرورگر کاربر ارسال شوند، دو مسئله مهم باید اتفاق بیافتد. در قدم اول، مرورگر وب فایل‌های فشرده شده را پردازش می‌کند. سپس به سرور اطلاع می‌دهد که می تواند فایل‌های مورد نظر را بپذیرد یا خیر. برای انجام این کار باید درخواست مرورگر را به صورت دستور (Accept-Encoding: gzip, deflate) وارد کنید.

در حال حاضر، این هدر به صورت پیش فرض در بسیاری از مرورگرهای امروزی وجود دارد. در مرحله بعدی، وب سرور این هدر را ارزیابی کرده و سپس فایل‌های فشرده شده را به مرورگر کاربر انتقال می‌دهد. پاسخ سرور به صورت (Content-Encoding: gzip) برای مرورگر کاربر ارسال می‌شود. این پاسخ به مرورگر نشان می‌دهد که تمامی فایل‌ها باید با روش (GZIP) از حالت فشرده خارج شوند و در اختیار کاربر قرار بگیرند.

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

دستور فعالسازی Gzip در سرورهای مختلف

هر وبسایت باید با توجه به سرور میزبان از یک دستور فعال سازی (Gzip) استفاده کند. برخی از دستورهای فعال سازی (Gzip) در سرورهای مختلف برای شما ارائه شده است:

وردپرس

برای فعالسازی (gzip) در وردپرس، باید از از یک افزونه کش که از روش (gzip) پشتیبانی می‌کند استفاده کنید. روش دیگر این است که (gzip) را در وب سرور میزبان از طریق فایل (htaccess) فعال کنید.

آپاچی

برای فعال کردن (gzip ) در وب سرور آپاچی، ابتدا وارد بخش (mod_deflate) سرور میزبان شوید. سپس دستور فشرده سازی (gzip) را در بخش انتهای فایل (htaccess) وارد کنید. دستور زیر برای فشرده سازی در سرور آپاچی اوبونتو مورد استفاده قرار می‌گیرد:

/etc/apache2/mods-enabled/deflate.conf.
<IfModule mod_deflate.c>
 <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE
    text/html text/plain text/xml
text/css
AddOutputFilterByType DEFLATE application/x-javascript
    application/javascript
    application/ecmascript
    AddOutputFilterByType DEFLATE
    application/rss+xml
    AddOutputFilterByType DEFLATE
    application/xml
 </IfModule>
</IfModule>

سرور NGINX

برای فعال کردن (gzip) در (NGINX)، باید وارد فایل (nginx.conf) شوید و سپس دستور زیر را وارد کنید:

gzip on;
    gzip_disable "MSIE
    [1-6]\.(?!.*SV1)";
gzip_vary on;
    gzip_types text/plain text/css
    text/javascript image/svg+xml image/x-icon application/javascript
    application/x-javascript;

فعالسازی GZIP در Microsoft IIS

فرایند فشرده سازی (Gzip )در (Microsoft IIS) کمی پیچیده است. قبل از هر چیزی باید مطمئن شوید که ابزار فشرده سازی (HTTP) در (Microsoft IIS) نصب شده باشد. در مرحله بعدی از کد دستوری زیر برای فعال سازی (Gzip) استفاده کنید:

    <httpCompression
    directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme
    <scheme
    name="gzip" dll="%ProgramFiles%\IIS\IIS Compression\iiszlib.dll" />
    <dynamicTypes>
     <add mimeType="text/*"
    enabled="true"
    />
     <add mimeType="message/*"
    enabled="true"
    />
     <add
    mimeType="application/x-javascript" enabled="true" />
     <add
    mimeType="application/javascript" enabled="true" />
     <add mimeType="*/*"
    enabled="false"
    />
    </dynamicTypes>
    <staticTypes>
     <add mimeType="text/*"
    enabled="true"
    />
     <add mimeType="message/*"
    enabled="true"
    />
     <add
    mimeType="application/javascript" enabled="true" />
     <add
    mimeType="application/atom+xml" enabled="true" />
     <add mimeType="application/xaml+xml"
    enabled="true"
    />
     <add
    mimeType="image/svg+xml" enabled="true" />
     <add mimeType="*/*"
    enabled="false"
    />
    </staticTypes>
</httpCompression>

تست فشرده سازی GZIP آنلاین

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

تنها کاری که باید انجام دهید این است که وارد سایت تست فشرده سازی (Gzip) آنلاین شده و آدرس (url) وب سایت خود را وارد کنید. در مرحله بعد، متوجه خواهید شد که سرور میزبان شما از این روش استفاده می‌کند یا خیر. همچنین نتایج این تست نشان می دهد که سرور میزبان حجم فایل‌ها را تا چه اندازه کاهش می دهد. سایت https://sitechecker.pro/gzip-test/ یک وب سایت مناسب برای تست فشرده سازی (Gzip) است.

سخن پایانی

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

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