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