Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Google ругается на картинки в /image/cache


Teros
 Поделиться

Рекомендованные сообщения

Требуется помощь, сайт на OC 1.5.6.4: 

1. Вручную сжали все картинки.

2. Залили на сайт.

3. При кэширование, сайт делает их большим размером, чем они есть на самом деле.

4. Гугл инсайт ругается на это.

5. Изменение параметра куалити не помогает.

Ссылка на комментарий
Поделиться на других сайтах


Так уж вышло, что серверные библиотеки imagick и GD, которые обрабатывают изображения, не могут сделать их такими, какие они нужны PageSpeed (оптимизированными). Для оптимизации изображений без потери качества нужен сторонний пакет, а точнее пакеты для оптимизации png и jpeg изображений. Ими могут быть:

JPEG

  • jpegoptim
  • JPEGmini
  • Jpegtran

PNG

  • optipng
  • pngcrush
  • pptiPng
  • tinyPng
  • pngout

Рекомендую ставить optipng и jpegoptim, потому что они проверены и другие я не пробовал) Для установки на сервер необходимы права на установку пакетов, которых нет на обычном shared хостинге, но обычно есть на VPS/VDS. Если у вас shared хостинг, то спросите у тех. поддержки о наличии одного из этих пакетов и возможности их установить, при их отсутствии.
 

Либо установите сами, через терминал:

apt-get install jpegoptim optipng

или 

yum install jpegoptim optipng

Затем нужно найти все jpg и png изображения и оптимизировать их. Ищем jpg изображения и оптимизируем их (не забывайте про аналогичное расширение jpeg):

find /путь/к/сайту -name "*.jpg" -exec jpegoptim {} --strip-all \;

Будьте внимательны, при использовании --strip-all удаляются метаданные изображений, такие как название фотоаппарата, геоданные и т.д. Если это критично, то уберите --strip-all из команды. 

 

Для PNG:

find /путь/к/сайту -name "*.png" -exec optipng {} \;

Если у вас все получилось и вы все еще читаете, значит можно добавить автоматическую обработку изображений в класс обработки изображений OpenCart, который находится по адресу system/library/image.php. Для этого необходимы права на вызов функции exec. В файл нужно добавить закомментированные строки. 

    public function save($file, $quality = 90) {
		$info = pathinfo($file);
       
		$extension = strtolower($info['extension']);
   		
		if (is_resource($this->image)) {
			if ($extension == 'jpeg' || $extension == 'jpg') {
				imagejpeg($this->image, $file, $quality);
				// exec('jpegoptim "' . $file . '"', $output, $result);
			} elseif($extension == 'png') {
				imagepng($this->image, $file);
				// exec('optipng "' . $file . '"', $output, $result);
			} elseif($extension == 'gif') {
				imagegif($this->image, $file);
			}
			   
			imagedestroy($this->image);
		}
    }

 

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах

В 21.02.2017 в 13:07, florapraktik сказал:

или просто забить и заняться чем-то по-настоящему полезным.

 

Не соглашусь, это как минимум энергоэффективно. Оптимизируя изображения и удаляя другие ненужные изгороди вы делаете мир экологичней т.к. тратится меньше энергии на передачу данных. С каждого по капле. 

  • +1 3
Ссылка на комментарий
Поделиться на других сайтах

6 часов назад, halfhope сказал:

Оптимизируя изображения вы делаете мир экологичней

Если бы не оптимизированные изображения были самой большой экологической проблемой человечества в целом и моей Страны в частности...

я бы уже познал дзен...

мы бы все познали дзен.

Ссылка на комментарий
Поделиться на других сайтах


В 21.02.2017 в 19:56, florapraktik сказал:

Если бы не оптимизированные изображения были самой большой экологической проблемой человечества в целом и моей Страны в частности...

я бы уже познал дзен...

мы бы все познали дзен.

 

Если бы у меня была возможность заменить все ТЭЦ на атомные или возобновляемые источники энергии я бы сразу решил этот вопрос, но такой возможности у меня нет. Поэтому лучше не думать о бесполезном и делать то, что можешь сам. Все начинается с малого. Не смотри на других, начни с себя.

Ссылка на комментарий
Поделиться на других сайтах

17 минут назад, halfhope сказал:

Все начинается с малого. Не смотри на других, начни с себя.

:-)

Проблема в том, что люди оптимизируют изображения не для того, что бы спасти умирающую планету.

У них другая мотивация.

Люди живут в заблуждении, что Гуглоспид и Гуглопоиск знакомы друг с другом. И что, если сделать то, что предлагает Гуглоспид, то Гуглопоиск отсыпет трафика.

Люди беспричинно надеяться, что смогут монетизировать трафик... и купить себе трёхлитровый джип.

Короче, всё наоборот, на самом деле. Но.

Ваша позиция мне нравиться больше, чем суровая и беспощадная реальность.

Изменено пользователем florapraktik
  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


Я сделал проще, строку:

imagejpeg($this->image, $file, $quality);

Заменил на:

imagejpeg($this->image, $file);

То есть вообще убрал, чтобы opencart не пережимал картинки. И все картинки всё-равно обрабатываю в фотошопе и использую сохранение - "Сохранить для web".

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, eleo сказал:

Я сделал проще, строку:


imagejpeg($this->image, $file, $quality);

Заменил на:


imagejpeg($this->image, $file);

То есть вообще убрал, чтобы opencart не пережимал картинки. И все картинки всё-равно обрабатываю в фотошопе и использую сохранение - "Сохранить для web".

А шо, так можно?

Потому что я тоже все фотки готовлю вручную в фотошопе и знаю, что движ портит фотки. Но думал, что это неизбежно.

 

Ссылка на комментарий
Поделиться на других сайтах


5 часов назад, eleo сказал:

Я сделал проще, строку:


imagejpeg($this->image, $file, $quality);

Заменил на:


imagejpeg($this->image, $file);

То есть вообще убрал, чтобы opencart не пережимал картинки. И все картинки всё-равно обрабатываю в фотошопе и использую сохранение - "Сохранить для web".

:)

Ребята ну... вот вы любите костыли...читайте мат. часть
Даже еще больше пережимает
http://php.net/manual/ru/function.imagejpeg.php

Цитата

По умолчанию используется качество IJG (около 75).

А в opencart по умолчанию 90 !!!

Цитата

public function save($file, $quality = 90)

 

И толку никакого что вы там в фотошопе делает - все равно ресайз все "переделывает"

Ссылка на комментарий
Поделиться на других сайтах

3 часа назад, florapraktik сказал:

А шо, так можно?

Потому что я тоже все фотки готовлю вручную в фотошопе и знаю, что движ портит фотки. Но думал, что это неизбежно.

 

Так нельзя, то что написал @eleo не правильно (пост выше)
И да - ресайз все равно все "переделывает" библиотекой GD

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

В 21.02.2017 в 10:57, halfhope сказал:

Так уж вышло, что серверные библиотеки imagick и GD, которые обрабатывают изображения, не могут сделать их такими, какие они нужны PageSpeed (оптимизированными).

 

Не совсем так. GD точно не умеет.  А вот imagick умеет много, чего не умеет GD .  И до недавнего времени отлично справлялась с задачей понравиться Гуглу педжспиду с картинками jpeg.  По крайней мере ранее у меня все картинки, сжатые за счет imagick, одобрялись пейджспидом на 100%. В отличие от GD , библиотека imagick (imagemagick) дает возможность выкинуть все лишнее из файла (вроде описаний кем и когда снято и т. п.).

коэффициенты сжатия в GD и imagick взаимно не тождественны.  при равных коэффициентах сжатие будет различно.

Возможно, что в последнее время Гугл нашел способ сжатия без потерь, превышающий возможности imagick . Но еще полгода...год назад такого не было. Он не ругался ни на один файл jpeg, сжатый imagick (с выброшенной мусорной информацией).

 

 

image_compressor_sitecreator_m.jpg

Ссылка на комментарий
Поделиться на других сайтах

17 минут назад, sitecreator сказал:

 

Не совсем так. GD точно не умеет.  А вот imagick умеет много, чего не умеет GD .

Не всегда. Проводил долго эксперименты. Если PS не ругается на imagick то качество картинки очень агрессивно "зашарплено". Что тоже не есть хорошо по качеству. Imagick - "перешарпивает" изображения. Да как бы резкость лучше картинки, но пропадают полутона.

Ссылка на комментарий
Поделиться на других сайтах

В 22.02.2017 в 19:49, markimax сказал:

качество картинки очень агрессивно "зашарплено".

 

не замечал такого. думаю, что многое зависит от специфики самой картинки.

Да и если ставить основной задачей максимальное качество картинки, то стоит забыть о рекомендациях ПейджСпида. На деле все эти рекомендации снизить тут на 500 байт, а там аж на целых 1,1 килобайта вес картинки выглядят несерьезными.

 

для примера, не вижу чтобы полутона пропали или возникла перешарпленность. Гугл не предлагает сжать сильнее.

 

 

Скрытый текст

 

arbalet-blochnyj-man-kung-mk-xb52-cherny

 

 

 

image_compressor_sitecreator_m.jpg

 

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
В 21.02.2017 в 10:57, halfhope сказал:

jpegoptim

 

не прокатит уже.

эта утилита умеет выкидывать метаданные. И этого раньше было достаточно чтобы Гугль Пейдж Спид был счастлив.

Впрочем и imagemagick прекрасно это умеет делать, причем можно это делать на лету в самом движке опенкарт.

 

Но сейчас уже недостаточно просто выкинуть метаданные.

jpegoptim  ничего не может поделать с файлом без метаданных, она его не может сжать сильнее. А Гугл при этом предлагает сжимать, сжимать и сжимать, товаиищи! И сам Гугл умеет это делать.

 

da009bf5b9.jpg

 

Вот Гугл по прежнему дает рекомендации. Но на деле они не работают. Проверено пока на jpegoptim.

Похоже, что Гугл использует теперь какой-то другой алгоритм для сжатия.

 

image_compressor_sitecreator_m.jpg

Ссылка на комментарий
Поделиться на других сайтах

попробовал под Centos jpegtran

http://jpegclub.org/jpegtran/

 

в репозитарии не нашел, потому собрал:

 

curl http://www.ijg.org/files/jpegsrc.v9b.tar.gz > /tmp/libjpeg.tar.gz
cd /tmp
tar -xzvf /tmp/libjpeg.tar.gz
cd /tmp/jpeg-9b
./configure
make install

jpegtran -h

 

d8b00a2bae.jpg

 

попробовал оптимизировать:

 

jpegtran -copy none -optimize -outfile min.image.jpg image.jpg

но получил копию файла такого же размера....

 

что-то я не догоняю, а почему не сработал -optimize?

 

image_compressor_sitecreator_m.jpg

Ссылка на комментарий
Поделиться на других сайтах

Подбираю вручную степень сжатия для картинки.

Скажем так, на картинки, сильно сжатые, но при этом потерявшие чуть-чуть детализацию Гугл ПеСпид уже не ругается. Он их тоже не может сжать еще сильнее.

Вывод такой пока:

 

чтобы понравиться гуглу, нужно по идее для каждой картинки подбирать свой минимальный уровень качества, т. е. максимальный уровень сжатия.  Автоматически сделать это для каждой картинки невозможно.  Поэтому чисто экспериментально можно подобрать некий уровень, при котором качество немножко ниже в среднем чем могло бы быть, но зато Гугл будет радовать вас разноцветными попугаями.

 

Можно сделать вывод, что сейчас Гугл научился распознавать избыточное качество JPEG.  Еще полгода назад он не умел этого делать и реагировал только на присутствие лишнего объема в JPEG за счет метаданных.

 

Отсюда делаем вывод, что все эти Jpegtran и jpegtran будут бессильны вам помочь.

 

Только ручной подбор оптимального коэффициента сжатия вам поможет в первую очередь.  Но такой коэффициент может хорошо отработать на 9 картинках из 10, но на 10-ю картинку гадкий Гугл ПеСпид будет ругаться.  В том случае если у вас первоисходник, например, низкого качества для этой картинки, т. е. нечеткий, размытый и т. п.  Т. е. для этой 10-й картинки нужно выставить качество (при сжатии) очень и очень низкое. 

 

Но я не знаю пока ни одной программы, которая автоматически умеет подбирать коэффициент сжатия (= подбирать степень качества).  Это делается на глаз.

Гугл научился это делать автоматически, но как - об этом он молчит.

 

Jpegtran и jpegtran помогут вам в том случае если у вас выставлен правильный уровень качества и еще присутствуют метаданные.

 

Но можно использовать в движке опенкарт библиотеку imagick (php)   [вырезаем метаданные и прочий мусор на лету] и при правильно подобранном уровне качества Гугл не будет ругаться на картинки.

 

Проверено на практике.

 

------------

Уровень качества все же приходилось ставить заниженный чтобы понравиться Гуглу со всеми картинками разом.

Как оставить хорошее качество и одновременно нравится гуглу (PSpeed) я пока не знаю.

Возможно, что есть магистры, обладающие тайным знанием на сей счет.

 

image_compressor_sitecreator_m.jpg

Ссылка на комментарий
Поделиться на других сайтах

Попробовал израильское чудо http://www.jpegmini.com/

Да, сжимает картинки, вероятно подбирая наилучший уровень качества/сжатия.  Сжимает хорошо.  $200 в месяц серверный вариант стоит.

 

Но все равно проигрывает в тесте Гуглу. тот еще сильнее сжимает.

Использовал для теста картинку размером в 26К с изначально завышенным качеством.  jpegmini сжал ее до 17,5 К.  Гугл остался недоволен и сжал ее аж до 15 К.

гугл непобедим со своими попугаями.

 

image_compressor_sitecreator_m.jpg

Ссылка на комментарий
Поделиться на других сайтах

http://compressjpeg.com

 

вот эти ребята умеют сжимать также как это умеет гугл. до того же самого минимального размера.

но как?

 

image_compressor_sitecreator_m.jpg

Ссылка на комментарий
Поделиться на других сайтах

5 часов назад, sitecreator сказал:

Уровень качества все же приходилось ставить заниженный чтобы понравиться Гуглу...

Как оставить хорошее качество и одновременно нравится гуглу (PSpeed) я пока не знаю.

Прошу прощения. Вас ничего не смущает в этой логике?

Нет чувства, что такой подход не может иметь отношение к объективной реальности?

Изменено пользователем florapraktik
Ссылка на комментарий
Поделиться на других сайтах


В 15.03.2017 в 07:46, florapraktik сказал:

Вас ничего не смущает в этой логике?

 

вот лично мне эти попугаи абсолютно не нужны. И к рекомендациям Гугла лично я отношусь скептически, не все они разумны.

Но есть заказчики, ничего не желающие слушать.  У некоторых требования прямо в ТЗ:  чтоб не меньше 75 (85) попугаев иначе работа не принимается!

 

Я лишь показал, что можно добиться многих попугаев, но путем некоторого снижения качества.

Это лишь лишний раз показывает, что не все рекомендации Гугла нужно выполнять любой ценой.

 

У меня получалось на практике так:

полгода назад все 100% картинок на сайте были отличного качества, без мусора внутри. И они все 100% нравились Гуглу.

Теперь же эти же самые картинки он оценивает иначе.  Лишь 60%...80% Гуглу нравятся, но остальные он считает, что нужно сжать еще на 12% в среднем.

 

Нарастить попугаев получилось лишь за счет дополнительного сжатия (как раз на эти 12%...20%), но с потерями,  т. к. без потерь (условно) не умеет сжимать ни один инструмент, работающий на linux и доступный.

 

image_compressor_sitecreator_m.jpg

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

1 час назад, sitecreator сказал:

вот лично мне эти попугаи абсолютно не нужны. И к рекомендациям Гугла лично я отношусь скептически, не все они разумны.

1) Можно-ли считать показатели ПейджСпида именно рекомендациями Гугла как поисковой системы?

 

Есть рекомендации не ставить ссылки друг на друга, и это понятная просьба Поисковой Системы не пытаться манипулировать её выдачей. Такая рекомендация является частью системы неофициального регулирования (если признать гугл регулятором).

Но ПейджСпид, он из другой оперы. Это просто инструмент, призванный помочь вебмастерам сделать их сайты быстрее. И не более того. Это не часть системы регулирования. Это не имеет отношения к качеству сайтов для результатов поиска. Просто хотели вроде, как-то помочь, а получился массовый фетиш.:-D

 

Цитата

Но есть заказчики, ничего не желающие слушать.

2) Может оно и хорошо? Для вас. Для тех, кто обладает знаниями и навыками по настройке ПейджСпида.

Пока люди готовы за это платить, пока они верят, что это жертвоприношение поможет им добиться благосклонности Великого Гугла, - пусть платят!

Изменено пользователем florapraktik
Ссылка на комментарий
Поделиться на других сайтах


В 15.03.2017 в 17:59, florapraktik сказал:

Это не имеет отношения к качеству сайтов для результатов поиска

 

совершенно верно.

более того, этот сервис попугаев за картинки добавит только в том случае если сжать в итоге получится приличное количество картинок и на приличное (по мнению гугла) количество процентов.

 

Я тут баловался немного.  Гугл слезно просил, пардон, рекомендовал сжать картинки и выиграть несколько килобайт на страницу.  К части картинок у него не было претензий, а к части были (можно еще на 10% сжать картинку).

 

Сжал я эти оставшиеся картинки.  Гугл перестал давать свои рекомендации насчет картинок, написал, что они выполнены.  НО!!!  Ни одного попугая не добавил! Как вам это?

 

Т. е. если у вас остается некоторое количество несжатых (по версии Гугла) картинок, то это вовсе не означает, что после их сжатия вам выдадут приз.  тут Гугл еще оценивает объем всех этих картинок, по видимому.

 

image_compressor_sitecreator_m.jpg

Ссылка на комментарий
Поделиться на других сайтах

2 минуты назад, sitecreator сказал:

Я тут баловался немного.

:-)

Я так понял, что это такой отдельный, автономный и самодостаточный ребус (или головоломка). Типа шахматной задачи, или как-то так. Чиста для развлечения.

Ну, правда бывают сайты с огромными картинками в png. Это, конечно, перебор, так нельзя.

 

Я не умею то, что умеете вы, поэтому тупо сжимаю jpg в фотошопе, но при этом стараюсь немного недосжать (на первом месте качество картинки). Впрочем, уже успел прочесть на этом форуме, что опенкарт всё равно пересожмёт по-своему.

Пока что руки не дошли, экспериментов не проводил, но неужели загруженные картинки 900 кВ и 140 кВ будут по-итогу весить одинаково?

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.