<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2016-12-25:2612231</id>
  <title>Sergej Qkowlew</title>
  <subtitle>Яковлев Сергей Сергеевич AKA Radahnar AKA Ночной Сторож AKA q Ex 2:5020/122</subtitle>
  <author>
    <name>qkowlew</name>
  </author>
  <link rel="alternate" type="text/html" href="https://qkowlew.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://qkowlew.dreamwidth.org/data/atom"/>
  <updated>2019-11-03T17:17:27Z</updated>
  <dw:journal username="qkowlew" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2016-12-25:2612231:193969</id>
    <link rel="alternate" type="text/html" href="https://qkowlew.dreamwidth.org/193969.html"/>
    <link rel="self" type="text/xml" href="https://qkowlew.dreamwidth.org/data/atom/?itemid=193969"/>
    <title>Webp формат. На заметку. Вебмастерам и админам хостинга.</title>
    <published>2019-11-03T17:16:18Z</published>
    <updated>2019-11-03T17:17:27Z</updated>
    <category term="apache"/>
    <category term="хорошее"/>
    <category term="техника"/>
    <category term="nginx"/>
    <category term="интернет"/>
    <category term="хостинг"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Гугль стал продвигать "более современные форматы изображений".&lt;br /&gt;&lt;br /&gt;Однако не все браусеры их поддерживают, а если даже все бы поддерживали, некоторые картинки при массовой переконвертации не конвертятся, а то и получаются большего размера.&lt;br /&gt;&lt;br /&gt;Я не сторонник усложнять конфиги веб серверов. Однако поконвертировав всё подряд в .webp, я увидел порой ДЕСЯТИкратную экономию размера без видимого изменения качества картинки. И потому соблазнён.&lt;br /&gt;&lt;br /&gt;Порывшись по просторам Интернета и исследовав, какие броусеры поддерживают, а какие нет, формат .webp (mime image/webp), я на большинстве контролируемых мной сайтов сделал так:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://qfc.qkowlew.org/q-qhome-2019-11-03_195716.png" align="right" alt="настройки Media Webp плагина для WordPress" width="30%"&gt;&lt;br /&gt;1. Каждому файлу с расширением .png .jpg .jpeg создал файл .webp скриптом (с параметрами качества cwebp -q 85 -exact).&lt;br /&gt;1.1. Сайтам на WordPress добавил плагин Media Webp от Steven Turner с настройками на картинке справа чтобы заливаемые файлы на сайт сразу получали .webp добавки.&lt;br /&gt;2. Для сайтов под Apache добавил в корневой .htaccess строки:&lt;br /&gt;&lt;pre&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;
RewriteEngine On

RewriteCond %{HTTP:Accept} image/webp
RewriteCond %{REQUEST_FILENAME}\.webp -s
RewriteRule ^(.*)\.([pP][nN][gG]|[jJ][pP][eE]?[gG]) $1\.$2\.webp [QSA]

# Prevent double webp and give the correct mime-type
RewriteRule \.[pP][nN][gG]\.webp$ - [T=image/webp]
RewriteRule \.[jJ][pP][gG]\.webp$ - [T=image/webp]
RewriteRule \.[jJ][pP][eE][gG]\.webp$ - [T=image/webp]

&amp;lt;/IfModule&amp;gt;
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;3. Для сайтов на Nginx в корневой конфиг nginx добавил проверку на то, поддерживает ли браусер формат webp:&lt;br /&gt;&lt;pre&gt;
map $http_accept $webpsupport {
   default 0;
   "~*image/webp,*/*" "1";
   }
&lt;/pre&gt;&lt;br /&gt;А в virtual host'ы nginx - location такого вида, чтобы при наличии .webp файла И поддержке его браусером отдавался .webp файл, а при невыполнении любого из этих двух условий - оригинальный файл:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
    location ~* \.([jJ][pP][eE]?[gG]|[pP][nN][gG])$ {
      expires max;
      add_header Pragma public;
      add_header Cache-Control "max-age=31536000, public";
      set $dorewrite 0;
      if (-f $request_filename.webp) {
         set $dorewrite $webpsupport ;
      }
      if ($dorewrite) {
         rewrite ^(.*)\.([jJ][pP][eE]?[gG]|[pP][nN][gG]) $1.$2.webp last;
      }
    }
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Сделано и написано по следам и с творческой переработкой &lt;a href="https://texnoera.com/nastraivayem-otdachu-webp-v-nginx"&gt;этой статьи&lt;/a&gt; и того, что написано в описании плагина Media Webp от Steven Turner (в частности, в той статье не предусмотрено отсутствие одного из файлов, а большие и маленькие буквы в расширении оригинальных файлов тоже могут быть разными, хехе).&lt;br /&gt;&lt;br /&gt;Критика приветствуется.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gfns.net/doc/htaccess.shtml"&gt;Также тут&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=qkowlew&amp;ditemid=193969" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
