Google Pagespeed: Jak spełnić nowe reguły kompresji obrazu?


14

Mamy kilka stron z dobrymi wartościami Pageseed - nawet te ze 100/100. Jednak od kilku dni Pagespeed twierdzi we wszystkich witrynach (technicznie różne, różne serwery), że nasze obrazy mogą być bardziej zoptymalizowane.

Czy ktoś wie, co dokładnie zmienił algorytm? W tym z PS 100/100 (wcześniej) używamy jpegoptim, więc tak naprawdę nie wiemy, jak dalej optymalizować. Obrazy są przesyłane przez naszą aplikację, a następnie optymalizowane.

Doceniony zostanie każdy wgląd. Czy jest gdzieś dziennik zmian dla PS?


Czy widzisz ten komunikat w teście stacjonarnym lub mobilnym?
Goyllo,

oba spadły ...
Raphael Jeger,

1
Nie jestem pewien, czy da sobie radę lepiej, ale Google zaleca użycie jpegtran do optymalizacji obrazów JPEG. Wygląda również na to, że Google wypycha nowy format obrazu o nazwie WebP, który ma mniejsze rozmiary, ale słabą obsługę przeglądarki.
Stephen Ostermiller

Też to zauważyłem. Wiem, że WebPageTest wykorzystuje 85% jakości JPG jako podstawy. Ale nie mogę zbliżyć się do zalecanego rozmiaru Google, chyba że osiągnę poniżej 80% jakości.
DisgruntledGoat,

Odpowiedzi:


7

Widzę te same nieestetyczne wyniki dla stron bez żadnego wcześniejszego problemu, oczywiście używając responsywnych frameworków takich jak ZURB Foundation z responsywnymi obrazami.

W przeszłości korzystałem z:

find . -iname "*.jpg" -exec jpegoptim --strip-all -o -p {} \;

i uzyskałem świetne wyniki.

Rozwiązanie z stycznia 2017: 85% jakości powinno załatwić sprawę:

find . -iname "*.jpg" -exec jpegoptim --strip-all -m85 -o -p {} \;

Powrót do 100/100 w szybkości strony google.

Oto część mojej metody wdrażania gulp / npm dla ZURB Foundation 6

// Copy images to the "dist" folder
// In production, the images are compressed
function images() {
  return gulp.src('src/assets/img/**/*')
    .pipe($.if(PRODUCTION, imagemin(
      [
        imagemin.gifsicle({interlaced: true}),
        imageminJpegoptim({
          max: 85,
          progressive: true
        }),
        imagemin.optipng({optimizationLevel: 5}),
        imagemin.svgo({plugins: [{cleanupIDs: false, removeEmptyAttrs: false, removeViewBox: false}]})
      ],
      {
      },
      {
        verbose: true
      }
    )))
    .pipe(gulp.dest(PATHS.dist + '/assets/img'));
}

Musisz dodać moduły npm gulp-imagemin imagemin-jpegoptim

var imagemin = require('gulp-imagemin');
const imageminJpegoptim = require('imagemin-jpegoptim');

Witamy na stronie. Dla wyjaśnienia, czy stwierdzasz, że doświadczyłeś tego samego powiadomienia o optymalizacji obrazów, a wcześniej tego nie robiłeś? Jeśli tak, to czy dodane opcje jpegoptim pomogły rozwiązać ten problem?
dan

próbowaliśmy również z różnymi ustawieniami w jpegtran i jpegoptim, ale nie jest możliwe uzyskanie tak małych obrazów, jak stany Google ... Nie sądzę też, by miało to coś wspólnego z rozmiarami obrazów (w pikselach), ponieważ szybkość strony wyraźnie się różnicuje problemy z kompresją i rozmiarem pikseli.
Raphael Jeger,

Dzięki - to jest naprawdę przydatne. A także możesz zrobić coś podobnego dla pngfind . -iname "*.png" -exec optipng -clobber -preserve -strip all -o2 {} \;
billynoah

2

Możesz także zauważyć komunikat: „ Pobierz zoptymalizowane zasoby graficzne, JavaScript i CSS dla tej strony. Wykonali pracę za Ciebie, jeśli masz problemy z uzyskaniem optymalizacji, której oczekuje Google. Czasami różne narzędzia nie mogą być tak małe, jak chce Google.


2

Najnowszą rekomendacją od Google jest użycie konwersji imagemagick :

convert INPUT.jpg -sampling-factor 4:2:0 -strip [-resize WxH] [-quality N] [-interlace JPEG] [-colorspace Gray/sRGB] OUTPUT.jpg

z konkretnym przykładem puzzle.jpg

convert puzzle.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB puzzle_converted.jpg

używając tych samych argumentów na moich obrazach uzyskałem takie same wyniki jak pobrany zoptymalizowany plik JPG.


1
Pamiętaj, że jeśli używasz systemu Windows, spróbuj, magickjeśli convertnie działa dla ciebie. magick puzzle.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB puzzle_converted.jpg. imagemagick.org/discourse-server/viewtopic.php?t=19679
user2875289
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.