{"id":52341,"date":"2014-12-04T08:20:56","date_gmt":"2014-12-04T07:20:56","guid":{"rendered":"https:\/\/www.humanlevel.com\/sin-categorizar\/compresion-gzip-a-fondo.html"},"modified":"2014-12-04T07:41:00","modified_gmt":"2014-12-04T06:41:00","slug":"gzip-compression-in-depth","status":"publish","type":"post","link":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth","title":{"rendered":"Gzip compression in depth"},"content":{"rendered":"<p><img loading=\"lazy\" class=\"alignleft size-full wp-image-17088\" src=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-gzip.png\" alt=\"gzip compression\" width=\"350\" height=\"350\">The  <strong>gzip compression<\/strong>  should be a  <strong>basic requirement for any hosting<\/strong>  who wants to offer a good service. However, there are many who do not activate or configure their servers correctly to offer the best performance. It is quite common to find ourselves in the situation that we have to configure it, at domain level, via .htaccess, Web.Config or similar.<\/p>\n<p>The technique simply consists <strong>of compressing the information on the server<\/strong> before sending it to the client browser that requested it, <strong>saving time in the transmission of the data<\/strong> over the network. To compress the information you can use the gzip format or, alternatively, deflate.<\/p>\n<p><strong>Gzip is an<\/strong> open <strong>compression format<\/strong> developed by the GNU project. Like most lossless compression algorithms, it reduces file size by replacing frequently occurring strings with shorter strings. Specifically, the gzip and deflate formats,  <strong>are based on the LZ77 algorithm<\/strong>  created in 19<strong>77<\/strong>  by Abraham  <strong>L<\/strong>empel and Jacob  <strong>Z<\/strong>iv, which creates a dictionary with the most repeated strings and replaces them in the file by  <strong>Huffman codes<\/strong>These codes are univocally decodable binary sequences (they can be read without separators) and are shorter for the most frequent strings.<\/p>\n<h2>Why is it so important?<\/h2>\n<p>This <strong>WPO technique<\/strong> is one of the <strong>easiest to apply<\/strong>, since it <strong>does not require any code modification<\/strong>, while on the other hand it obtains a <strong>remarkable performance improvement<\/strong>, since it considerably reduces the amount of information that each client must download to view the page.<br \/>\nIts use is <strong>especially important if we have embedded images<\/strong> in style sheets or in the HTML code <strong>through Data URIs<\/strong>, since when converting images to text their size increases and, with gzip compression, they remain as they were.<\/p>\n<h2>How does it work?<\/h2>\n<p>To be usable,<strong> both the client and server must support gzip compression<\/strong>. Browsers that are (all those that are not more than 10 years old), send the following parameter in the header of their HTTP\/1.1 protocol requests:<\/p>\n<pre>GET \/\nHost: www.humanlevel.com\nAccept-Encoding: gzip, deflate\n<\/pre>\n<p>With this header, <strong>the client is telling the server<\/strong>: give me the home page of www.humanlevel.com, <strong>you can send it to me compressed using the gzip or deflate algorithm<\/strong>.<\/p>\n<p>The server <strong>may<\/strong> or may not <strong>respond with the compressed content<\/strong> when it sees this request. If returned compressed it will include the following parameter in the response header:<\/p>\n<pre>Content-Encoding:gzip\n<\/pre>\n<p>With this parameter, <strong>the server is telling the client<\/strong>: <strong>I am sending you the page compressed with gzip<\/strong>. In this way, the client knows that it has to apply this algorithm to decompress it. When the header does not appear, it means that the content is uncompressed.<\/p>\n<p>Normally, compressed content always comes in gzip. <strong>The other alternative compression algorithm is deflate, but it is never used<\/strong>, since it compresses less and browsers that decompress deflate also decompress gzip, but not the other way around, since gzip is based on deflate.<\/p>\n<p><strong>Google Chrome sends<\/strong> in Accept-Encoding a Google proprietary compression format, <strong>SDCH<\/strong> (Shared Dictionary Compression over HTTP), <strong>but there are still no Web servers that compress in this format<\/strong>, nor does there seem to be any interest in there ever being one, since it was already proposed several years ago.<\/p>\n<p>The server should additionally include the following parameter next to the previous one:<\/p>\n<pre>Vary:Accept-Encoding\n<\/pre>\n<p>This parameter  <strong>is aimed at intermediate proxy servers<\/strong>  and serves to solve the following situation: suppose a browser that cannot use gzip makes the first request and the page is stored uncompressed in the proxy cache, the following responses will all be uncompressed even if the browsers request it in gzip. If the first request is from a browser that can use it, the following responses will all be compressed <strong>even if the browser cannot decompress and display them to the user<\/strong>. With this parameter <strong>we tell the proxy to cache different versions when the value of the Accept-Encoding parameter<\/strong> in the browser request <strong>varies<\/strong>, solving the problem.<\/p>\n<p>Although using gzip involves a  <strong>additional CPU cost<\/strong>on the server to compress and on the client to decompress,  <strong>the gain<\/strong>  of performance we achieve  <strong>information faster over the network, it is much more efficient, and the<\/strong>This is not only because it takes up less space, but also because we will obtain fewer data packets into which the information will be split when it is sent and reassembled at the destination.<\/p>\n<h2>What should we take into account in the configuration?<\/h2>\n<p>First of all, we must be clear about what should be compressed and what should not be compressed, since <strong>compressing certain files will result in a loss of performance<\/strong>.<\/p>\n<p>We must apply compression to those <strong>files that are not already compressed<\/strong>. I am mainly referring to <strong>HTML, JavaScript, CSS, <a href=\"https:\/\/www.humanlevel.com\/en\/digital-marketing-dictionary\/xml\" target=\"_blank\" rel=\"noopener noreferrer\">XML<\/a> and JSON text files<\/strong>, whether they are generated statically or dynamically. By doing this, on average, <strong>we will be able to save between 60% and 70% of the size of<\/strong> these files.<\/p>\n<p>If we try to <strong>compress files that are already compressed, we will slightly increase the size of these files<\/strong>. In this case, I am mainly referring to <strong>JPG, GIF or PNG<\/strong> images <strong>and PDF files<\/strong>. This, together with the CPU overhead for the server to compress them and the client to decompress them, <strong>will increase the loading time instead of decreasing it<\/strong>. This is due to the fact that at a certain point, <a href=\"http:\/\/www.pensamientoscomputables.com\/entrada\/por-que-algunos-archivos-se-comprimen-mas-que-otros.html\" target=\"_blank\" rel=\"noopener noreferrer\">the information cannot be compressed any more<\/a>, so that when we try to compress it again, we make the file larger by including a new header necessary for its decompression.<\/p>\n<p>The <strong>size of the file<\/strong> must also be taken into consideration.  <strong>It is not worth compressing a file of less than 1 KiB.<\/strong>It is quite likely that when sent over the network, the information will never be segmented, taking the same time to be transmitted, whether it is compressed or not, with the extra CPU cost due to working with compressed information on the client and on the server. It is not easy to establish what should be the minimum file size needed to perform the compression, since it depends on multiple factors of the networks it crosses to reach its destination, but in general, it is usually <strong>worse for performance<\/strong> to compress files smaller than 1 or 2 KiB.<\/p>\n<p>Sometimes the server can be configured to <strong>keep a cache of the compressed files,<\/strong> so that they do not have to be compressed again at each new request. When its corresponding uncompressed file changes, the original file will be updated.<\/p>\n<p>Another interesting option that we can find is to <strong>regulate the compression level<\/strong>, so that by increasing the CPU cost to compress the files, we can make them occupy less, or on the contrary, decrease the CPU cost at the cost of occupying more files. The setting of this option <strong>will depend on the CPU usage of the server<\/strong> in each case.<\/p>\n<h2>How is it configured?<\/h2>\n<p>Let&#8217;s take a look at <strong>the most important parameters of the most common Web servers<\/strong>:<\/p>\n<h3>Apache 2.x<\/h3>\n<p>In <strong>Apache 2.x<\/strong> we must activate the <strong>mod_deflate<\/strong> module (although it is called deflate it uses Gzip) and set the configuration as follows:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Parameter<\/strong><\/td>\n<td><strong>Action<\/strong><\/td>\n<\/tr>\n<tr>\n<td>SetOutputFilter DEFLATE<\/td>\n<td>Enable compression<\/td>\n<\/tr>\n<tr>\n<td>AddOutputFilterByType DEFLATE text\/html text\/css application\/x-javascript<\/td>\n<td>Set MIME types of files to be compressed<\/td>\n<\/tr>\n<tr>\n<td>DeflateCompressionLevel 5<\/td>\n<td>Set compression level (between 0 and 9)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Setting the files to be compressed <strong>with the MIME type<\/strong> will always be better than specifying the file extension, as it <strong>will apply compression even if the file is dynamically generated<\/strong>.<\/p>\n<h3>Apache 1.3<\/h3>\n<p>In previous versions of Apache, from 1.3 backwards, we must activate the <strong>mod_gzip<\/strong> module and set the configuration as follows in the httpd.conf file (if it is at server level) or in the .htaccess (if it is at directory level):<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Parameter<\/strong><\/td>\n<td><strong>Action<\/strong><\/td>\n<\/tr>\n<tr>\n<td>mod_gzip_on Yes<\/td>\n<td>Activate the module<\/td>\n<\/tr>\n<tr>\n<td>mod_gzip_item_include file \\.js$<\/td>\n<td>Enable compression for files with .js extension<\/td>\n<\/tr>\n<tr>\n<td>mod_gzip_item_include mime ^text\/html$<\/td>\n<td>Enable compression for files with MIME HTML type<\/td>\n<\/tr>\n<tr>\n<td>mod_gzip_minimum_file_size<\/td>\n<td>Sets the minimum size necessary for the file to be compressed.<\/td>\n<\/tr>\n<tr>\n<td>mod_gzip_can_negotiate Yes<\/td>\n<td>Provides that compressed files may be served<\/td>\n<\/tr>\n<tr>\n<td>gzip_update_static Yes<\/td>\n<td>Cached gzip files are updated automatically and not manually<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>PHP<\/h3>\n<p>From PHP you can also enable compression with the following option in the php.ini file:<\/p>\n<pre>zlib.output_compression = On<\/pre>\n<p>If we have compression already enabled with an Apache module (which is preferable), we should not do this because the configuration will conflict.<\/p>\n<h3>Internet Information Serve r7<\/h3>\n<p>In <strong>IIS7<\/strong> we have the following configuration screen that appears when clicking on <em>compression<\/em> within the general options:<br \/>\n<img loading=\"lazy\" class=\"size-full wp-image-17094\" src=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-configuracion-iis7.png\" alt=\"IIS7 Compression\" width=\"640\" height=\"400\" srcset=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-configuracion-iis7.png 640w, https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-configuracion-iis7-400x250.png 400w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Then inside the <strong>Web.Config<\/strong> file we must set the following values:<\/p>\n<p>&lt;system.webServer&gt;<\/p>\n<p>&lt;urlCompression doStaticCompression=&#8221;true&#8221; doDynamicCompression=&#8221;true&#8221; dynamicCompressionBeforeCache=&#8221;true&#8221;\/&gt;<br \/>\n&lt;httpCompression directory=&#8221;%SystemDrive%\\inetpub\\<br \/>\ntemp &#8220;tempIIS Temporary Compressed Files&#8221;.&gt;<br \/>\n&lt;scheme name=&#8221;gzip&#8221; dll=&#8221;%Windir%\\system32\\inetsrv\\gzip.dll&#8221;\/&gt;<br \/>\n&lt;dynamicTypes&gt;<br \/>\n&lt;add mimeType=&#8221;text\/*&#8221; enabled=&#8221;true&#8221;\/&gt;<br \/>\n&lt;add mimeType=&#8221;message\/*&#8221; enabled=&#8221;true&#8221;\/&gt;<br \/>\n&lt;add mimeType=&#8221;application\/javascript&#8221; enabled=&#8221;true&#8221;\/&gt;<br \/>\n&lt;add mimeType=&#8221;*\/*&#8221; enabled=&#8221;false&#8221;\/&gt;<br \/>\n&lt;\/dynamicTypes&gt;<br \/>\n&lt;staticTypes&gt;<br \/>\n&lt;add mimeType=&#8221;text\/*&#8221; enabled=&#8221;true&#8221;\/&gt;<br \/>\n&lt;add mimeType=&#8221;message\/*&#8221; enabled=&#8221;true&#8221;\/&gt;<br \/>\n&lt;add mimeType=&#8221;application\/javascript&#8221; enabled=&#8221;true&#8221;\/&gt;<br \/>\n&lt;add mimeType=&#8221;*\/*&#8221; enabled=&#8221;false&#8221;\/&gt;<br \/>\n&lt;\/staticTypes&gt;<br \/>\n&lt;\/httpCompression&gt;<br \/>\n&lt;urlCompression doStaticCompression=&#8221;true&#8221; doDynamicCompression=&#8221;true&#8221;\/&gt;<br \/>\n&lt;\/system.webServer&gt;<\/p>\n<p>The parameters doStaticCompression and doDynamicCompression refer to the fact that you must compress both static and dynamic files.<\/p>\n<p>I hope it is clear what is the correct way to configure the gzip compression, what about your website, does it have the gzip compression configured correctly?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The gzip compression should be a basic requirement for any hosting who wants to offer a good service&#8230;.<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[349],"tags":[534,379],"class_list":["post-52341","post","type-post","status-publish","format-standard","hentry","category-seo","tag-technical-seo","tag-wpo"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gzip compression of Web pages<\/title>\n<meta name=\"description\" content=\"Discover why gzip compression is indispensable and learn how to optimize your website by activating it.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gzip compression of Web pages\" \/>\n<meta property=\"og:description\" content=\"Discover why gzip compression is indispensable and learn how to optimize your website by activating it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth\" \/>\n<meta property=\"og:site_name\" content=\"Human Level\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-04T07:20:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-gzip.png\" \/>\n\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ram\u00f3n Saquete\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@daiatron\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ram\u00f3n Saquete\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth\"},\"author\":{\"name\":\"Ram\u00f3n Saquete\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/person\\\/11ad888926867985985a0210476bae94\"},\"headline\":\"Gzip compression in depth\",\"datePublished\":\"2014-12-04T07:20:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth\"},\"wordCount\":1589,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/compresion-gzip.png\",\"keywords\":[\"Technical SEO\",\"WPO\"],\"articleSection\":[\"SEO\\\/GEO\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth\",\"name\":\"Gzip compression of Web pages\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/compresion-gzip.png\",\"datePublished\":\"2014-12-04T07:20:56+00:00\",\"description\":\"Discover why gzip compression is indispensable and learn how to optimize your website by activating it.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#primaryimage\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/compresion-gzip.png\",\"contentUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/compresion-gzip.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\\\/gzip-compression-in-depth#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/www.humanlevel.com\\\/en\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SEO\\\/GEO\",\"item\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/blog\\\/seo\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Gzip compression in depth\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#website\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\",\"name\":\"Human Level\",\"description\":\"Web positioning and online marketing consultant Human Level\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.humanlevel.com\\\/en?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#organization\",\"name\":\"Human Level\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/logohl25x3.png\",\"contentUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/logohl25x3.png\",\"width\":600,\"height\":93,\"caption\":\"Human Level\"},\"image\":{\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/human-level-communications\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/humanlevelcommunica\",\"https:\\\/\\\/bsky.app\\\/profile\\\/humanlevel.bsky.social\",\"https:\\\/\\\/instagram.com\\\/humanlevel\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/en#\\\/schema\\\/person\\\/11ad888926867985985a0210476bae94\",\"name\":\"Ram\u00f3n Saquete\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/1x1-ramon-saquete-26-96x96.jpg\",\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/1x1-ramon-saquete-26-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.humanlevel.com\\\/wp-content\\\/uploads\\\/1x1-ramon-saquete-26-96x96.jpg\",\"caption\":\"Ram\u00f3n Saquete\"},\"description\":\"Web Developer and Technical SEO Consultant at Human Level. He holds degrees in Computer Engineering and Technical Engineering in Computer Systems. He also earned a Higher Vocational Degree in Computer Applications Development and later obtained the Certificate of Pedagogical Aptitude (CAP). He is an expert in WPO and indexability.\",\"sameAs\":[\"https:\\\/\\\/es.linkedin.com\\\/in\\\/ramonsaquete\",\"https:\\\/\\\/x.com\\\/daiatron\"],\"url\":\"https:\\\/\\\/www.humanlevel.com\\\/en\\\/author\\\/ramon\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gzip compression of Web pages","description":"Discover why gzip compression is indispensable and learn how to optimize your website by activating it.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth","og_locale":"en_US","og_type":"article","og_title":"Gzip compression of Web pages","og_description":"Discover why gzip compression is indispensable and learn how to optimize your website by activating it.","og_url":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth","og_site_name":"Human Level","article_published_time":"2014-12-04T07:20:56+00:00","og_image":[{"width":350,"height":350,"url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-gzip.png","type":"image\/png"}],"author":"Ram\u00f3n Saquete","twitter_card":"summary_large_image","twitter_creator":"@daiatron","twitter_misc":{"Written by":"Ram\u00f3n Saquete","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#article","isPartOf":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth"},"author":{"name":"Ram\u00f3n Saquete","@id":"https:\/\/www.humanlevel.com\/en#\/schema\/person\/11ad888926867985985a0210476bae94"},"headline":"Gzip compression in depth","datePublished":"2014-12-04T07:20:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth"},"wordCount":1589,"commentCount":0,"publisher":{"@id":"https:\/\/www.humanlevel.com\/en#organization"},"image":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#primaryimage"},"thumbnailUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-gzip.png","keywords":["Technical SEO","WPO"],"articleSection":["SEO\/GEO"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth","url":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth","name":"Gzip compression of Web pages","isPartOf":{"@id":"https:\/\/www.humanlevel.com\/en#website"},"primaryImageOfPage":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#primaryimage"},"image":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#primaryimage"},"thumbnailUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-gzip.png","datePublished":"2014-12-04T07:20:56+00:00","description":"Discover why gzip compression is indispensable and learn how to optimize your website by activating it.","breadcrumb":{"@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#primaryimage","url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-gzip.png","contentUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/compresion-gzip.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.humanlevel.com\/en\/blog\/seo\/gzip-compression-in-depth#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/www.humanlevel.com\/en"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.humanlevel.com\/en\/blog"},{"@type":"ListItem","position":3,"name":"SEO\/GEO","item":"https:\/\/www.humanlevel.com\/en\/blog\/seo"},{"@type":"ListItem","position":4,"name":"Gzip compression in depth"}]},{"@type":"WebSite","@id":"https:\/\/www.humanlevel.com\/en#website","url":"https:\/\/www.humanlevel.com\/en","name":"Human Level","description":"Web positioning and online marketing consultant Human Level","publisher":{"@id":"https:\/\/www.humanlevel.com\/en#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.humanlevel.com\/en?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.humanlevel.com\/en#organization","name":"Human Level","url":"https:\/\/www.humanlevel.com\/en","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.humanlevel.com\/en#\/schema\/logo\/image\/","url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/logohl25x3.png","contentUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/logohl25x3.png","width":600,"height":93,"caption":"Human Level"},"image":{"@id":"https:\/\/www.humanlevel.com\/en#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/human-level-communications","https:\/\/www.youtube.com\/user\/humanlevelcommunica","https:\/\/bsky.app\/profile\/humanlevel.bsky.social","https:\/\/instagram.com\/humanlevel"]},{"@type":"Person","@id":"https:\/\/www.humanlevel.com\/en#\/schema\/person\/11ad888926867985985a0210476bae94","name":"Ram\u00f3n Saquete","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/1x1-ramon-saquete-26-96x96.jpg","url":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/1x1-ramon-saquete-26-96x96.jpg","contentUrl":"https:\/\/www.humanlevel.com\/wp-content\/uploads\/1x1-ramon-saquete-26-96x96.jpg","caption":"Ram\u00f3n Saquete"},"description":"Web Developer and Technical SEO Consultant at Human Level. He holds degrees in Computer Engineering and Technical Engineering in Computer Systems. He also earned a Higher Vocational Degree in Computer Applications Development and later obtained the Certificate of Pedagogical Aptitude (CAP). He is an expert in WPO and indexability.","sameAs":["https:\/\/es.linkedin.com\/in\/ramonsaquete","https:\/\/x.com\/daiatron"],"url":"https:\/\/www.humanlevel.com\/en\/author\/ramon"}]}},"_links":{"self":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts\/52341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/comments?post=52341"}],"version-history":[{"count":5,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts\/52341\/revisions"}],"predecessor-version":[{"id":52842,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/posts\/52341\/revisions\/52842"}],"wp:attachment":[{"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/media?parent=52341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/categories?post=52341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.humanlevel.com\/en\/wp-json\/wp\/v2\/tags?post=52341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}