Quantcast
Channel: Programming - Shopware Community Forum
Viewing all articles
Browse latest Browse all 118

PageSpeed von Google Dev's mod Zwilla Shopware-Conexco

$
0
0
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:
# pagespeed.conf by Zwilla 2015
# optimized for Shopware & Reponsive Design from Conexco
# Source from Google Developers - PageSpeed
# Don´t touch your .htaccess File

<IfModule pagespeed_module>
	# 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
#    <Location /pagespeed_admin>
#        Order allow,deny
#        Allow from localhost
#        Allow from 127.0.0.1
#        Allow from Deine.IP
#        SetHandler pagespeed_admin
#    </Location>
    
#    <Location /pagespeed_global_admin>
#        Order allow,deny
#        Allow from localhost
#        Allow from 127.0.0.1
#        Allow from Deine.IP
#        SetHandler pagespeed_global_admin
#    </Location>

#    <Location /mod_pagespeed_statistics>
#        Order allow,deny
#        Allow from localhost
#        Allow from 127.0.0.1
#        Allow from Deine.IP
#        SetHandler mod_pagespeed_statistics
#    </Location>
    
#    <Location /mod_pagespeed_console>
#        Order allow,deny
#        Allow from localhost
#        Allow from 127.0.0.1
#        Allow from Deine.IP
#        SetHandler mod_pagespeed_console
#    </Location>
    
#    <Location /mod_pagespeed_message>
#        Allow from localhost
#        Allow from 127.0.0.1
#        Allow from Deine.IP
#        SetHandler mod_pagespeed_message
#    </Location>
    
#    <Location /mod_pagespeed_referer_statistics>
#        Allow from localhost
#        Allow from 127.0.0.1
#        Allow from Deine.IP
#        SetHandler mod_pagespeed_referer_statistics
#    </Location>

    # Statistiken über die Konsole
ModPagespeedStatisticsLogging off

    # Meldungen über Apache Log
    # mit 0 werden diese abgeschaltet
ModPagespeedMessageBufferSize 100000
</IfModule>
Hoffe damit ein wenig geholfen zu haben, gerne bin ich auch per PM erreichbar für
Sicherheitsrelevante Fragen.

Gruß

Zwilla

Viewing all articles
Browse latest Browse all 118

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>