فشرده سازی چیست؟ فشرده سازی Gzip چیست؟ چرا از فشرده سازی GZIP استفاده می کنیم؟ چرا فشرده سازی Gzip برای سئو سایت اهمیت دارد؟ نحوه…
آنچه در این مطلب خواهید خواند
گوگل روز به روز توجهش به بهبود تجربه کاربری بیشتر میشه.
تجربه کاربری هم معمولا زمانی بهبود پیدا میکنه که سرعت بارگذاری سایت بالا باشه.
از سال ۲۰۱۸ به بعد سرعت سایت عامل رسمی رتبه بندی محسوب میشود.
اگه سایتتون کند لود میشه، پس احتمالا رتبهتون توی صفحه نتایج پایین هستش. وقتش رسیده با یکی از آسون ترین و سریعترین روش های افزایش سرعت سایت آشنا بشید؛ فشرده سازی Gzip.
تو این مقاله روش فعال سازی Gzip برای بهبود سئو سایت رو بهتون یاد میدم، پس تا آخر مقاله همراه من باشید.
فهرست:
به طور کلی، فشرده سازی یعنی کاهش اندازه فایل و دو هم نوع داره:
✔با اتلاف (Lossy)
✔ بی اتلاف (Lossless)
فشردهسازی با اتلاف یعنی اینکه برخی از اطلاعات تو فرآیند فشردهسازی از بین میرن، اما اگه فشرده سازی بدون اتلاف باشه تمام اطلاعات فایل اصلی تو فایل فشرده باقی میمونند.
حالا این ها چه ربطی به سایت داره؟
وب سایت در کل مجموعه ای از فایل های ذخیره شده تو وب سرور هستش. وقتی که URLی رو تو مرورگر وارد می کنید، مرورگر یه درخواست به سرورِ سایت ارسال میکنه.
سرور درخواست رو پردازش میکنه و فایل های مناسب که معمولا HTML ، CSS، جاوا اسکریپت و فایل های رسانه ای مرتبط هستند رو از دیتابیس خودش بازیابی میکنه، سپس این فایل ها رو به عنوان پاسخ به مرورگر می فرسته.
در نهایت هم، فایل ها رو همونطوری که تو دستکتاپ یا گوشی میبینید بهتون نشون میده.
هر بار که صفحه ای رو بارگیری می کنید، سرور باید تمام داده های لازم رو به رایانه شما منتقل کنه. هر انتقال داده به زمان نیاز داره، هر چه داده های بیشتری برای ارسال وجود داشته باشه، مسلما زمان بیشتری نیازه تا یه صفحه در مرورگر شما بارگذاری بشه.
اندازه متوسط انتقال داده، حدود ۲۰۰۰ کیلوبایته که میشه معادل تقریباً ۱۰۰ صفحه متن ساده. صفحاتی که رسانهی سنگین دارند، سایزشون سه تا چهار برابر بزرگتر هستش.
خب حالا با این اوضاع، چیکار کنیم که سایت ها سریعتر بارگذاری بشن؟
اگه سرور فایل ها رو قبل از ارسال به مرورگر فشرده کنه سرعت بارگذاری بالا میره– مثلا سند ۱۰۰ صفحه ای رو تبدیل به مقاله ۳۰ صفحه ای بکنه.
سرورها و مرورگرها برای انتقال فایل های کوچکتر زحمت کمتری میکشند. وقتی که مرورگر پاسخ فشرده شده رو دریافت میکنه، به سرعت محتویات رو از حالت فشرده خارج میکنه و به ما نشون میده.
فشرده سازی کدهایی مثل HTML خیلی راحت هستش چون که سینتکش تکراریه.
فشردهسازی اینجوری انجام میشه که الگوریتم ها اطلاعات تکراری رو تو یه فایل پیدا کرده و مخففش میکنند. اگه با HTML آشنایی داشته باشید میدونید که بارها و بارها از تگ هایی مثل <div> و <p> استفاده میشه و برای فشرده سازی هم این تگ های تکراری به طور موقت حذف میشن.
GZIP یکی از این روش های فشرده سازیه که در ادامه بیشتر در موردش توضیح میدیم.
GZIP یه فناوری فشرده سازی هستش که اغلب برای انتقال سریع داده ها از طریق اینترنت استفاده میشه.
هم به روش فشردهسازی، هم نرمافزاری که برای فشردهسازی فایلها استفاده میشه و هم به فرمت فایل «GZIP» میگن.
تحقیقات نشان میده از بین وب سایت هایی که محتواشون رو فشرده می کنند، بیش از ۹۹٪ از GZIP استفاده می کنند.
این روش اولین بار در سال ۱۹۹۲ معرفی شد و به دلیل رایگان و منبع باز بودنش به سرعت فراگیر شد.
هدف از درست کردن GZIP این بود که جایگزینی باشه برای برنامه فشرده سازی که تو سیستم های اولیه یونیکس استفاده می شد.
فشردهسازی GZIP تو وردپرس، حجم تمام فایلهایی که وبسایت ازشون استفاده میکنه رو کاهش میده، مثلا فایل های CSS، جاوا اسکریپت و HTML.
مشکلاتی هم داره؛ مثلا با رابطش زیاد با تصاویر خوب نیست و وقتی با فایلهای رسانه کار میکنه همیشه درست از آب درنمیاد.
به عنوان مثال، میتونه فایلهای صوتی مانند MPEG و WAV رو خوب مدیریت کنه، اما اگه ازش بخواید حجم فایل MP3 رو کاهش بده، ممکن برعکس عمل کنه و حجم فایل رو بیشتر هم بکنه.
تمام مرورگرهای مدرن از فشرده سازی GZIP پشتیبانی میکنند.
GZIP عملکرد خوبی داره، اما تنها روش فشرده سازی موجود نیست. در واقع، حتی بهترین روش هم محسوب نمیشه.
GZIP میتونه حجم داده ها رو تا ۷۰ درصد کاهش بده. درسته که کارآمد هستش اما اگه بخوایم با روش های دیگه مثل Brotli مقایسهاش کنیم میبینیم که Brotli برای فایل های مبتنی بر متن بهتر از GZIP عمل میکنه. خب پس چرا هنوز اینقدر بهش متکی هستیم؟
دلیل اصلی اینه که GZIP سریعتر از روش های دیگه عمل میکنه و فایل ها رو خیلی سریعتر فشرده میکنه. این سرعت برای انتقال اطلاعات از طریق وب بسیار مهمه؛ چونکه کلا هدف فشردهسازی افزایش سرعت وبسایتهاست– اگر فشردهسازی به خودی خود سرعت کارها رو کاهش بده، پس فایدهش چیه؟
مزیت دیگهاش اینه که از منابع کمتری نسبت به روش های دیگه استفاده میکنه، همچنین برای کار کردن به قدرت محاسباتی نسبتا کم و فضای حافظه موقت نیاز داره.
همونطور که میدونید نیمی از ترافیک جهانی رو موبایل تشکیل میده – GZIP برای ارسال صفحات وب به دستگاه های پرمصرف و کم مصرف یکسان عمل میکنه، پس برای موبایل هم کارآمد هستش.
توجه داشته باشید که فشرده سازی GZIP مثل فشرده سازی ZIP نیست. ZIP یکی از فرمتهای فشردهسازی بی اتلاف هست که بیشتر برای ذخیره فایلها استفاده میشه تا انتقال اون ها.
وبسایت هایی که از فشردهسازی GZIP استفاده نمیکنند و به کندی بارگیری میشن، به تجربه کاربران آسیب میرسونند.
نظرسنجی ها نشون میده که حدود ۴۷ درصد از کاربران انتظار دارند که سایت در کمتر از دو ثانیه بارگذاری بشه. ۷۹ درصد از مشتریان اگه از تجربه کاربری وب سایت راضی نباشند، از سایت خرید نمیکنند، بنابراین اگر وب سایت فروشگاهی دارید، کندی سایت خیلی برای کسب و کارتون مضر خواهد بود.
فایلهای جاوا اسکریپت یا جاوا اسکریپت W3 میتونه فضای بسیار زیادی تو سرور اشغال کنه. به همین دلیل باید مطمئن بشید فایل ها تا اونجا که میشه فشرده هستند. شاید متوجه تاثیر فایلهای بزرگ رو زمان بارگذاری صفحه نشده باشید، اما باید بگم تاثیرشون بسیار زیاد هستش. با استفاده از این ابزارها مختلف میتونید زمان بارگذاری سایت خودتون رو چک کنید:
✔Google Pagespeed Insights (به حرفش حتما گوش کنید چون مال خود گوگل هستش)
GZIP برای وبسایتهای وردپرس عالیه و واقعاً میتونه به بهبود عملکرد وبسایت شما کمک کنه، بهویژه وقتی که صحبت از زمان بارگذاری صفحه میشه.
سرعت بارگذاری صفحه برای سئو خیلی مهم هستش چون یکی از عوامل کلیدی تعیین کننده رتبه بندی گوگل محسوب میشه. سایت های کند تجربه کاربری ضعیفی ارائه میدن. در مقابل، سایت های سریع تجربه کاربری خوبی رو برای بازدیدکنندگان فراهم می کنند و گوگل اون سایت ها رو بالاتر از سایت های کند قرار میده.
برای اینکه انتقال فایل با GZIP باشه، باید دو چیز اتفاق بیافته:
✔ اولا مرورگر به سرور بگه که میتونه فایل های فشرده شده با GZIP رو قبول کنه. برای اینکار باید تو درخواستی که برای سرور ارسال میکنه هدر Accept-Encoding وجود داشته باشه:
Accept-Encoding: gzip, deflate
تمام مرورگرهای مدرن این هدر رو به صورت پیش فرض توی درخواست هاشون قرار میدن.
✔ دوما، سرور باید این هدر رو پردازش کنه و تصمیم بگیره که فایلهای درخواستی رو فشرده بکنه یا نکنه. اگه فایل ها رو با GZIP فشرده کرد، توی پاسخش هدر زیر رو قرار میده:
Content-Encoding: gzip
این هدر به مرورگر میگه فایل ها رو با روش Gzip از حالت فشرده خارج کنه.
اگر میخواید فایل های وب سایت شما به صورت فشرده ارسال بشن، باید سرور خودتون رو فعال کنید تا درخواست های GZIP رو مدیریت کنه. ممکنه تو سرورِ سایت شما بسته به پیکربندیش، فشرده سازی GZIP به طور پیش فرض فعال باشه ممکنه هم فعال نباشه. خوشبختانه به راحتی میتونید این قضیه رو چک کنید.
وبسایتهای رایگان زیادی وجود دارند که فعال بودن یا نبودن GZIP سایت شما رو بهتون نشون میدن- مثلا giftofspeed یکی از این وب سایت ها هستش.
فقط کافیه URL یک صفحه وب رو جایگذاری کنید و نتایج رو بلافاصله ببینید. این وب سایت همچنین بهتون نشون میده که GZIP چقدر حجم فایل رو کاهش داده:
برای چک کردن فعال بودن Gzip تنها کافیه “gzip compression checker” رو توی گوگل سرچ کنید و کلی سایت براتون میاد بالا که میتونید ازشون استفاده کنید.
خیلی از تستهای سرعت مثل Google’s PageSpeed Insights و Pingdom بهتون توصیه میکنند که از GZIP برای فایلهای خاص استفاده کنید.
Google PageSpeed Insights اینجوری بهتون در مورد استفاده از Gzip هشدار میده:
با inspect به راحتی میتونید فعال بودن Gzip رو تو هر وب سایتی چک کنید. برای اینکار برید تو آدرس سایتی که میخواید، کلیک راست بزنید و گزینه inspect رو انتخاب کنید. در inspect برید به بخش network:
روی یه منبع کلیک کنید تا محتواش رو ببینید. در اینجا، هم میتونید درخواستی که مرورگر برای سرور فرستاده و هم پاسخ سرور رو مشاهده کنید.
اسکرول کنید تا برسید به قسمت request. اینجا درخواست ارسال شده توسط مرورگر رو میتونید ببینید:
تو بخش response هم پاسخِ سرور قابل مشاهده هستش:
اگه مثل تصویر بالا GZIP رو تو response ندید، پس فشرده سازی GZIP برای سایتتون فعال نیست.
فشرده سازی GZIP رو باید توی سرور فعال کنید. اگه شرکت هاستینگ شما معتبر باشه، معمولا این رو براتون انجام دادند. اما اگه فشرده سازی GZIP تو سایتتون فعال نیست، با روش های مختلفی خودتون این کار رو میتونید انجام بدید.
تو این مقاله چند روش فعال کردن فشرده سازی GZIP در وردپرس هم برای مبتدی ها و هم برای حرفه ای ها رو بهتون آموزش میدیم.
می تونید با ایجاد تغییرات در فایل htaccess. فشرده سازی GZIP رو فعال کنید.
اما اگه میخواید از این روش استفاده کنید باید حتما از فایل htaccess. خودتون پشتیبانی بگیرید چونکه یه اشتباه کوچک میتونه عواقب بزرگی داشته باشد و سایتتون رو کلا خراب کنه.
برای پیدا کردن فایل htaccess. به “فایل htaccess. کجا قرار دارد؟” مراجعه کنید.
روش ایده آل دسترسی به این فایل با استفاده از FTP است.
هنگامی که فایل htaccess. خود را پیدا کردید، میتونید تغییرات رو ایجاد کنید، اما بهتره که اول دانلودش کنید و تو فایل دانلود شده تغییرات رو اعمال کنید.
برای فعالسازی Gzip این کد ها رو وارد فایل خودتون بکنید.
فشرده سازی جاوا اسکریپت، متن، HTML، CSS، XML و فونت ها:
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
حذف اشکالات مرورگر (فقط برای مرورگرهای قدیمی مورد نیاز است):
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
فایل رو ذخیره کنید و فایل htaccess. اصلی خودتون رو باهاش بازنویسی کنید.
حالا با یه تست آنلاین چک کنید که فشرده سازی Gzip براتون فعال شده یا نه.
اگرچه اکثرا از وب سرورهای آپاچی Apache استفاده می کنند، اما بعضی ها هم وب سرورشون NGINX هستش.
برای فعال کردن فشردهسازی GZIP در سرورهای وب NGINX، باید به روشی متفاوت عمل کنید.
برای اینکار تو وب سرور 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 اینه که از شرکت هاستینگ خودتون بخواهید فعالش کنند.
خیلی از شرکت ها به طور پیش فرض خودشون این کار رو برای شما انجام میدن چون عملکرد وب سایت شما رو بهبود میبخشه.
اگر فشردهسازی GZIP بهطور پیشفرض براتون فعال نشده و خودتون هم نمیتونید این کار رو انجام بدید، پس حتما با شرکت هاستینگ تماس بگیرید.
اگه میخواید بدونید هاست چه تاثیری تو سئو سایت داره به مقاله “هاست چگونه بر سئو سایت تاثیر میگذارد؟” مراجعه کنید.
با افزونه به راحتی میتونید Gzip رو فعال کنید. درسته که با پلاگین خیلی راحتتر این کار انجام میشه اما هم ممکنه مشکلات امنیتی براتون به وجود بیاره و هم فضای زیادی در سرور شما اشغال میکنه.
اما اگه با افزونه میخواید این کار رو انجام بدید، در ادامه سه مورد رو بهتون معرفی میکنیم.
خیلی از این پلاگین ها برای کش کردن وب سایت ساخته شدند و گزینه ای هم دارند که به شما امکان میده فایل های HTML، جاوا اسکریپت و CSS رو از روش Gzip فشرده کنید.
WP Rocket یه افزونه کش هستش و به شما امکان میده تنها با چندتا کلیک سرعت بارگذاری سایتتون رو ببرید بالا.
وقتی که فعالش کردید، این پلاگین کدهای فشرده سازی GZIP رو با استفاده از ماژول mod_deflate تو فایل htaccess. اضافه میکنه.
W3 Total Cache یکی از بهترین افزونه های کش برای وردپرس هستش، اما به درد مبتدی ها نمیخوره. یعنی اگه نادرست ازش استفاده کنید، ممکنه وب سایت شما رو خراب کنه.
اگه دانش کافی در این زمینه دارید، می تونید ازش برای فعال کردن فشرده سازی HTTP استفاده کنید.
برای اینکار برید به قسمت کش مرورگر و تیک فشرده سازی HTTP رو بزنید.
با افزونه WP Super Cache هم میتونید کدها رو فشرده کنید.
برای فعال کردن فشرده سازی GZIP وردپرس با WP Super Cache، به داشبورد وردپرس > WP Super Cache > پیشرفته> برید و تیک “فشرده سازی برگه ها طوری که آن ها سریعتر به مشاهده کنندگان نمایش داده شود” رو بزنید:
سرعت بارگذاری سایت یکی از عوامل رسمی رتبه بندی توسط گوگل هستش. راههای زیادی برای بهبود سرعت سایت و زمان بارگذاری صفحه وجود داره، اما فشردهسازی GZIP یکی از سادهترین راهها برای اینکار محسوب میشه.
اول از همه چک کنید که آیا فشرده سازی GZIP در سایت شما فعال است یا خیر. اگر فعال نبود میتونید هم خودتون این کار رو انجام بدید و یا اینکه از شرکت هاستینگ بخواید این کار رو براتون انجام بدن.
یکی از آسون ترین راه ها برای فعالسازی GZIP از طریق افزونه هستش. افزونه هایی مثل WP ROCKET، W3 TOTAL CASH و WP SUPER CACHE این کار رو براتون انجام میدن.
همین الان فعال بودن فشرده سازی GZIP تو سایتتون رو چک کنید و با فعال سازیش سئو سایتتون رو بهبود ببخشید.
در این مقاله در مورد فعال سازی Gzip برای بهبود سئو سایت صحبت کردیم. خوشحالیم که تا انتهای مقاله همراه ما بودید، اگر فکر میکنید اطلاعاتی وجود دارد که در مقاله گفته نشده با ما در کامنت به اشتراک بگذارید تا همه کاربرها به خوبی از اطلاعات شما استفاده کنند. در صورت داشتن هرگونه سوال با تیم پشتیبانی ما در ارتباط باشید.