PageSpeed von Google Dev's mod Zwilla Shopware-Conexco

Hi Community, habe mich von einem Kollegen hier animieren lassen mal das Modul PageSpeed von Google Developers in Shopware zu implementieren. Eines vorweg, es geht! Aber, dass muss nicht heißen dass meine Settings hier auch reibungslos bei Euch laufen, auch Sicherheitsrelevante Dinge sind im Vorfeld zu klären. Ein falscher Eintrag und Ihr werdet Euch einen Trojaner auf den Server ziehen, also Vorsicht! Meine Nummer findet Ihr auf der Webseite die ich gerade mit PageSpeed für Shopware und dem reponsive Design von Conexco Wer keinen eigenen Linux RootServer hat, kann gerne aus Neugier hier weiterlesen, aber ich denke ja nicht, das jemand auf die Idee kommt Shopware … egal. Ich habe zumindest den ganzen Tag damit verbracht, alles zu testen, jeden Eintrag hier einzeln ApacheAttacke durchzustarten mehrere Browser und Rechner, Tablets und Handys im Einsatz um zu sehen ob es noch funktioniert. * Benötigt wird: http://davidwalsh.name/lazyload-plugin (nicht zwingend) erkläre ich ein anders mal https://developers.google.com/speed/pagespeed/module/ Apache-Server oder (NGINX aber hier nicht Thema) * Habe einen Linux-Root-Server von Strato, zum Glück kein Schrott Plesk mehr sonder Webmin mit 2-FA Login wie auch SFTP und SSH mit 2-FA Login, einzig was kein 2-FA hat ist das Backend von Shopware, wie bau ich das ein, wer weiß was? Angepasst habe ich die PageSpeed.Conf und 34 Dateien aus dem Conexco Template, jedoch nicht update-sicher zunächst. Nach der Installation des Apache Modules Apache einmal neu starten, dann unter dem Apache Pfad die pagespeed.conf anpassen, Apache nochmals neu starten, fertig. Hier meine PageSpeed.Conf: [code]# pagespeed.conf by Zwilla 2015 # optimized for Shopware & Reponsive Design from Conexco # Source from Google Developers - PageSpeed # Don´t touch your .htaccess File
# Einschalten von PageSpeed
ModPagespeed on

Da Shopware ohne Java nicht läuft, kann man auch das hier abschalten

ModPagespeedSupportNoScriptEnabled false

ModPagespeedInheritVHostConfig on

Umfasst Kommentare die bleiben sollten *remove_comments ist hier aktiv

ModPagespeedRetainComment " google_ad_section*"

wie das Wort schon sagt, verkleinert Java-Script Dateien, bedarf

noch etwas zusätzliche Arbeit auf die ich evtl. ein anderes mal zurückkommen

ModPagespeedUseExperimentalJsMinifier on

ModPagespeedEnableFilters rewrite_css on

Übergeht das Caching und macht es doch bei off und macht es nicht bei on

Wenn die Seite aus vielen Bildern besteht, dann kommt noch das Jquery Plug in Lazy Load zum

Einsatz, da oftmals auf das Nicht-Caching nicht verzichtet werden kann

ModPagespeedDisableRewriteOnNoTransform off

AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html

ModPagespeedXHeaderValue „Powered By Zwilla`s pagespeed mod for Shopware“

# Der Pfad in dem die Cachedateien liegen sollen
# Der Pfad muss beschreibbar sein und dem gleichen Benutzer gehören wie /var/www/deine-seite.de

ModPagespeedFileCachePath „/var/cache/mod_pagespeed/“

# LogVerzeichnis, kann über die Konsole aufgerufen werden
# 

ModPagespeedLogDir „/var/log/pagespeed“

# Wenn du ein SSL Cert hast, dann hier den Pfad hinterlegen

ModPagespeedSslCertDirectory „/etc/ssl/certs“

# gelesen diverse Optionen moeglich OptimizeForBandwidth / PassThrough
# PassThrough = Uebergehen der Corefilters und Nutzung der hier in der Config
# angegebenen Filter

# CoreFilters = 
# add_head
# combine_css
# combine_javascript
# convert_meta_tags
# extend_cache
# fallback_rewrite_css_urls
# flatten_css_imports
# inline_css
# inline_import_to_link
# inline_javascript
# rewrite_css
# rewrite_images
# rewrite_javascript
# rewrite_style_attributes_with_url

ModPagespeedRewriteLevel CoreFilters

# Diverse Filter deaktivieren mit Trennung durch Komma ohne Leerzeichen

ModPagespeedDisableFilters rewrite_images,rewrite_css

# Filter die nicht in den CoreFilters enthalten sind können, werden hier aktiviert

ModPagespeedEnableFilters collapse_whitespace,elide_attributes,make_google_analytics_async,include_js_source_maps,inline_google_font_css
ModPagespeedEnableFilters insert_image_dimensions,inline_preview_images,resize_mobile_images,remove_comments,collapse_whitespace
ModPagespeedEnableFilters elide_attributes,extend_cache_pdfs,sprite_images,rewrite_domains,pedantic,defer_javascript,dedup_inlined_images
ModPagespeedEnableFilters lazyload_images,insert_dns_prefetch
ModPagespeedLazyloadImagesAfterOnload on

Weitere Filter: * = hier eingebaut

outline_css

outline_javascript

move_css_above_scripts

move_css_to_head

rewrite_style_attributes

prioritize_critical_css

make_google_analytics_async *

include_js_source_maps *

canonicalize_javascript_libraries * siehe unten

inline_google_font_css*

local_storage_cache

insert_ga

insert_image_dimensions *

inline_preview_images *

resize_mobile_images *

remove_comments *

collapse_whitespace *

elide_attributes *

extend_cache_pdfs *

sprite_images *

rewrite_domains *

ModPagespeedDomain http://4k-pictures.de
ModPagespeedDomain *.4k-pictures.de
ModPagespeedDomain http://4k-pictures.com
ModPagespeedDomain *.4k-pictures.de

trim_urls

pedantic *

remove_quotes

add_instrumentation * siehe unten

defer_javascript *

dedup_inlined_images *

lazyload_images *

ModPagespeedCriticalImagesBeaconEnabled true
ModPagespeedLazyloadImagesBlankUrl „http://www.gstatic.com/psa/static/1.gif

insert_dns_prefetch *

in_place_optimize_for_browser

Diverse Filter verbieten / deaktivieren mit Trennung durch Komma ohne Leerzeichen

ModPagespeedForbidFilters rewrite_images

# Hier kann die Zeit eingestellt werden die das Modul wartet bis alles optimiert wurde
# Zahlen von 0 und kleiner bedeuten, immer optimieren und groesser heisst maximale
# Wartezeit, wenn dann nicht fertig dann unoptimierte Daten weitergeben

ModPagespeedRewriteDeadlinePerFlushMs -1

# Limit the number of inodes in the file cache. Set to 0 for no limit.
# The default value if this paramater is not specified is 0 (no limit).

ModPagespeedFileCacheInodeLimit 0

# Anzahl der Bilder die auf einmal optimiert werden, bei 0 heisst das Volldampf
# geht natürlich zulasten der CPU Power, also beobachten 

ModPagespeedImageMaxRewritesAtOnce 0

# Globale Einstellung der nutzbaren Thread je Apache Prozess, Standard ist 1,
# wenn Werte 0 und kleiner benutzt werden ist es immer 1
# Auchtung auf die CPU-Last

ModPagespeedNumRewriteThreads 4
ModPagespeedNumExpensiveRewriteThreads 4

# Per Zufall fallen gelassene Optimierungen, kann / solle eingesetzt werden, wenn
# der Server sehr ausgelastet ist. Null heisst alles optimieren also Volldampf
# Quasi die Waage zwischen Cpu-Last und Optimierung

ModPagespeedRewriteRandomDropPercentage 0

# Wenn Shopware Module die Ihr gekauft habt derart angepasst sind, dass innerhalb von
# Java oder CSS auf Pfade verwiesen wird die durch die Optimierung nun nicht mehr
# aufzufinden sind, dann einfach die #´s entfernen und nochmals testen
# Neustart von Apache nicht vergessen, es funktionieren dann aber auch andere Optimierungen nicht mehr!!!

ModPagespeedJsPreserveURLs on

ModPagespeedImagePreserveURLs on

ModPagespeedCssPreserveURLs on

# Einstellungen zur Bilderoptimierung:
# An den Zahlen kann nach belieben gespielt werden, wenn man weiß was man tut

ModPagespeedEnableFilters recompress_jpeg
ModPagespeedEnableFilters recompress_png
ModPagespeedEnableFilters jpeg_subsampling
ModPagespeedEnableFilters resize_images
ModPagespeedEnableFilters resize_rendered_image_dimensions

tut nicht daher raus damit erstmal

#ModPagespeedJpegNumProgressiveScans [3]
#ModPagespeedJpegNumProgressiveScansForSmallScreens [3]

# Lossy image recompression quality (0 to 100, -1 just strips metadata):

ModPagespeedImageRecompressionQuality 65
#
# Jpeg recompression quality (0 to 100, -1 uses ImageRecompressionQuality):
ModPagespeedJpegRecompressionQuality 60
ModPagespeedJpegRecompressionQualityForSmallScreens 45

#
# WebP recompression quality (0 to 100, -1 uses ImageRecompressionQuality):
# 

ModPagespeedWebpRecompressionQuality 65
ModPagespeedWebpRecompressionQualityForSmallScreens 45

#Befehl gibt es nicht lt. Apache Log / Error Meldung
#ModPagespeedWebpTimeoutMs -1
#
# Percent of original image size below which optimized images are retained:
ModPagespeedImageLimitOptimizedPercent 96
#
# Percent of original image area below which image resizing will be
# attempted:
ModPagespeedImageLimitResizeAreaPercent 100

# Einstellungen für inline preview images
# -1 = Volldampf, egal wo das Bild ist, es wird optimiert

ModPagespeedMaxInlinedPreviewImagesIndex -1

# Minimum Dateigröße in Bytes für die eine Optimierung in Betracht kommen 

ModPagespeedMinImageSizeLowResolutionBytes 3072

# Wenn Du Fehler hast mit Pfaden, die nicht mehr gefunden werden in CSS Java usw.
# dann setze das hier auf off

ModPagespeedCombineAcrossPaths on

# Das Umbenennen von Java Dateinamen kann zum Ausfall der Seite führen
# hast du Problem damit, dann stelle den Schalter auf "on"

ModPagespeedAvoidRenamingIntrospectiveJavascript off

# Wenn Java Scripts von anderen Webseiten gezogen werden und Webnutzer zuvor
# eben diese Scrips schon in ihrem Browsercache haben, dann werden diese aus deren
# Cache genutzt, dazu ist erforderlich das die original URLs erhalten bleiben
# bei Problemen einfach wieder ein # davor setzen

ModPagespeedEnableFilters canonicalize_javascript_libraries

# Für Autoupdates, einfach so lassen und die pagespeed_libraries.conf nicht bearbeiten

ModPagespeedLibrary 43 1o978_K0_LNE5_ystNklf http://www.modpagespeed.com/rewrite_javascript.js

# Nix Optimieren alles so lassen wie es ist -> Anweisung an PageSpeed
# Also alles was im Shopware Backend abgeht, bekommt keine Optimierung

ModPagespeedLoadFromFile „http://4k-pictures.de/backend/“ „/var/www/html/4k-pictures.de/engine/Shopware/Plugins/Community/Backend“
ModPagespeedLoadFromFile „http://4k-pictures.de/backend/“ „/var/www/html/4k-pictures.de/engine/Shopware/Plugins/Default/Backend“
ModPagespeedLoadFromFile „http://4k-pictures.de/backend/“ „/var/www/html/4k-pictures.de/engine/Shopware/Plugins/Local/Backend“
ModPagespeedLoadFromFile „http://4k-pictures.de/backend/“ „/var/www/html/4k-pictures.de/templates/_default/backend“

# Will noch net laufen unter Shopware, daher raus damit

ModPagespeedEnableFilters add_instrumentation

ModPagespeedReportUnloadTime on

# Noch nicht dazu gekommen

ModPagespeedRespectVary on

# Statistiken einschalten

ModPagespeedStatistics off

# so könnten die Einstellung für die Auswertung aussehen, läuft jedoch noch nicht
# ist noch experimental, daher raus damit

Order allow,deny

Allow from localhost

Allow from 127.0.0.1

Allow from Deine.IP

SetHandler pagespeed_admin

Order allow,deny

Allow from localhost

Allow from 127.0.0.1

Allow from Deine.IP

SetHandler pagespeed_global_admin

Order allow,deny

Allow from localhost

Allow from 127.0.0.1

Allow from Deine.IP

SetHandler mod_pagespeed_statistics

Order allow,deny

Allow from localhost

Allow from 127.0.0.1

Allow from Deine.IP

SetHandler mod_pagespeed_console

Allow from localhost

Allow from 127.0.0.1

Allow from Deine.IP

SetHandler mod_pagespeed_message

Allow from localhost

Allow from 127.0.0.1

Allow from Deine.IP

SetHandler mod_pagespeed_referer_statistics

# Statistiken über die Konsole

ModPagespeedStatisticsLogging off

# Meldungen über Apache Log
# mit 0 werden diese abgeschaltet

ModPagespeedMessageBufferSize 100000
[/code] Hoffe damit ein wenig geholfen zu haben, gerne bin ich auch per PM erreichbar für Sicherheitsrelevante Fragen. Gruß Zwilla

*reserved* In der Console ausführen um den Cache zu löschen: (Speicherort in der Conf angegeben :slight_smile: touch /var/cache/mod\_pagespeed/cache.flush

Halli-Hallo :slight_smile: der ModPagespeedSupportNoScriptEnabled=true setzt ein - TAG auf dem Client wenn kein Javascript aktiviert ist. Sollte „false“ gesetzt werden, bekommen Clients kein TAG und erhalten fehlerhafte Ansichten im Browser.

Weiter hab ich mir Deine Config nicht angeschaut. :smiley:

Benutze selbst nur die NGINX-Variante von Pagespeed.

Gruß
Olaf

Hallo, ist ja schon lang her :slight_smile: Gibt es einen zwischen update ?

Wie sieht die PaheSpeed conf Datei heute aus ? :slight_smile: