Optimierung meiner Seite und der .htaccess

Top40

Ensign
Registriert
Apr. 2017
Beiträge
230
Guten Morgen

Ich hänge seit ein paar tagen an meiner Seite fest in dem Bereich Optimierung.

Ich benutze die Aktuelle Wordpress Version mit WooCommerce.

Ich habe mal ein paar Screens gemacht und hoffe ihr könnt mir helfen diese Fehler zu beheben.

Hier noch mein .htaccess


Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

#<Files "martin-familie.com"> 
#Deny from all 
#</Files>



# HTTPS erzwingen
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]





# Wordfence WAF
<Files ".user.ini">
<IfModule mod_authz_core.c>
	Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
	Order deny,allow
	Deny from all
</IfModule>
</Files>
# END Wordfence WAF




 



#Verbietet allen den Zugang zur wp-config
 <files wp-config.php>
 order allow,deny
 deny from all
 </files>

 
 
#keep-alive
 <IfModule mod_headers.c>
Header set Connection keep-alive
</IfModule>


#Verhindert das einfache Auslesen von Nutzernamen
 RewriteEngine On
 RewriteBase /
 RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
 RewriteRule (.*) /blog/?author= [NC,L,R=301]

#Zugriffe auf .htaccess verhindern
 <files ~ "^.*\.([Hh][Tt][Aa])">
 order allow,deny
 deny from all
 satisfy all
 </files>
 
## Begin - Compression / Cache



# turns cache on for 1 month

ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/html "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/xhtml-xml "access plus 600 seconds"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"

Header set Cache-Control "max-age=2592000, public"

Header set Cache-Control "max-age=604800, public"

Header set Cache-Control "max-age=216000, private"

Header set Cache-Control "max-age=600, private, must-revalidate"

## End - Compression / Cache
 

Anhänge

  • 22.JPG
    22.JPG
    98,6 KB · Aufrufe: 649
  • 21.JPG
    21.JPG
    103,7 KB · Aufrufe: 635
  • 20.JPG
    20.JPG
    128,7 KB · Aufrufe: 649
Das kannst du mit zusätzlich benötigten Einträgen ergänzen
HTML:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>

<IfModule mod_expires.c>
	ExpiresActive On
	ExpiresByType image/gif "access plus 1 month"
	ExpiresByType image/jpg "access plus 1 month"
	ExpiresByType image/jpeg "access plus 1 month"
	ExpiresByType image/png "access plus 1 month"
	ExpiresByType text/css "access plus 1 week"
	ExpiresByType text/javascript "access plus 1 week"
	ExpiresByType application/javascript "access plus 1 week"
	ExpiresByType application/x-javascript "access plus 1 week"
	ExpiresByType image/x-icon "access plus 1 year"
	ExpiresByType image/svg+xml "access plus 1 year"
	ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
	ExpiresByType application/font-woff "access plus 1 year"
	ExpiresByType application/x-font-woff "access plus 1 year"
	ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
	ExpiresByType font/opentype "access plus 1 year"
	ExpiresByType font/ttf "access plus 1 year"
	ExpiresByType font/otf "access plus 1 year"
	ExpiresByType application/x-font-ttf "access plus 1 year"
	ExpiresByType application/x-font-otf "access plus 1 year"
</IfModule>

<IfModule mime_module>
<files *.js>
ForceType text/javascript
</files>
 
<files *.css>
ForceType text/css
</files>
</IfModule>
 
<IfModule headers_module>
<IfModule deflate_module>
# Netscape 4.x
BrowserMatch ^Mozilla/4 no-gzip
# For browsers that pretend to be Mozilla4
BrowserMatch \b(MSIE|Safari) !no-gzip
# IE5.5 and 6.0 has bugs
BrowserMatch \bMSIE\s(5\.5|6\.0) no-gzip
# IE 6.0 after SP2 may not have gzip bugs!
BrowserMatch \bMSIE.*SV !no-gzip
# Sometimes Opera pretends to be IE6
BrowserMatch \bOpera !no-gzip
 
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
 
Header append Vary User-Agent
</IfModule>
</IfModule>
 
<IfModule gzip_module>
mod_gzip_on Yes
 
mod_gzip_item_exclude reqheader "User-agent: Mozilla/4"
mod_gzip_item_include reqheader ^User-agent\:.*\b(MSIE|Safari)
mod_gzip_item_exclude reqheader ^User-agent\:.*\bMSIE\s(5\.5|6\.0)
mod_gzip_item_include reqheader ^User-agent\:.*\bMSIE.*SV
mod_gzip_item_include reqheader ^User-agent\:.*\bOpera
 
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$
 
mod_gzip_item_include mime ^text/html$
mod_gzip_item_include mime ^text/css$
mod_gzip_item_include mime ^text/javascript$
mod_gzip_item_exclude mime ^image/
</IfModule>
Browsercaching_etc.PNG
Dann spuckt auch google Pagespeed über 90 raus

P.S. Umlautdomains sind seit längerem möglich. Anstatt jennys-naehtraum.de wäre jennys-nähtraum.de vorteilhafter
 
Zuletzt bearbeitet:
ich habe mal die .htaccess getestet ist jetzt auf 91. Ist das Ausreichend oder muss es noch höher sein?
Zugriff habe ich auf SSH (kein Root) . Ist ein Webspace Paket von netCup
 
Das reicht vollkommen und ist besser als 90% der Internetseiten draußen
 
Finde das Thema auch interessant. Habe einem Verwandten eine WP Webpage gemacht. http://wordpress.mike-the.one/

Habe im Vorfeld auch schon über eine FirefoxApp, welche die Ladezeiten checkt bemerkt dass die Ladezeiten gut sind.

PageSpeed Insights bestätigt dies. Mit der Meldung

"Laut PSI benötigt diese Seite schätzungsweise 4 zusätzliche Roundtrips, um Ressourcen zu laden, die das Rendering blockieren, und 0,2 MB, um das Rendering abzuschließen. Für eine durchschnittliche Seite sind 4 Roundtrips und 1,5 MB erforderlich. Weniger Roundtrips und Byte führen zu schnelleren Seiten."

JavaScript- und CSS-Ressourcen, die das Rendering blockieren, in Inhalten "above the fold" (ohne Scrollen sichtbar) beseitigen
Ihre Seite enthält 6 blockierende Skript-Ressourcen und 6 blockierende CSS-Ressourcen. Dies verursacht eine Verzögerung beim Rendern Ihrer Seite.
Keine der Seiteninhalte "above the fold" (ohne Scrollen sichtbar) konnten ohne Wartezeiten für das Laden der folgenden Ressourcen gerendert werden. Versuchen Sie, blockierende Ressourcen zu verschieben oder asynchron zu laden, oder laden Sie kritische Bereiche dieser Ressourcen direkt inline im HTML.
Entfernen Sie JavaScript, das das Rendering blockiert:
http://wordpress.mike-the.one/…-includes/js/jquery/jquery.js?ver=1.12.4
http://wordpress.mike-the.one/…s/jquery/jquery-migrate.min.js?ver=1.4.1
http://wordpress.mike-the.one/…ebox/js/jquery.swipebox.min.js?ver=1.7.2
http://wordpress.mike-the.one/…esponsive-lightbox/js/front.js?ver=1.7.2
http://wordpress.mike-the.one/…-frame/js/jquery.sidr.min.js?ver=2.2.1.1
http://wordpress.mike-the.one/…/parallax-frame/js/custom-scripts.min.js
Optimieren Sie die CSS-Darstellung für die folgenden URLs:
http://wordpress.mike-the.one/…/swipebox/css/swipebox.min.css?ver=1.7.2
http://fonts.googleapis.com/…aveat:700&subset=latin,all&ver=4.9.5
https://fonts.googleapis.com/…+Sans&subset=latin,latin-ext&ver=1.0.0
http://wordpress.mike-the.one/…hemes/parallax-frame/style.css?ver=1.2.7
http://wordpress.mike-the.one/…/css/genericons/genericons.css?ver=3.4.1
http://wordpress.mike-the.one/…/css/jquery.sidr.light.min.css?ver=2.1.0

Die Ursache warum es nicht 100% schnell lädt, ist wohl das Theme von WP selbst. Hier lädt es scheinbar im Kreise.
Und natürlich sind im Code Leerzeilen, Kommentare etc.
Hier reinzupfuschen erachte ich als kontraproduktiv, spätestens beim nächsten Update der modifizierten Ressourcen, ist die Optimierung wieder verworfen.

Eine 100% Optimierung wäre auch zuviel des Guten und steht in keinem Verhältnis zum Aufwand denke ich mir.
 
Ja, eine weitere Analyse Seite. Sie gibt auch gute Details.
Soweit ich das beurteilen kann, wäre hier die Lösung das WP Theme zu childen und kleine JS Snippets inline zu verpacken.

Da ich aber kein Theme Verwalter sein will, mir reicht schon WP an sich, bliebe die Option brutal ins Theme einzugreifen.
Ich bin hier kein Profi, bin mir aber soweit im klaren, dass dies immer eine schlechte Idee ist.
Bei einem (größeren) Upgrade des Themes kann es zu Fehlern kommen...

Ich gebe hier einfach dem Theme Coder die Schuld und gut ist ... ^_^
 
Hallo zusammen,

wir haben auch ein unterirdisch gutes Ergebnis bei GTmetrix und page speed insights:

https://developers.google.com/speed/pagespeed/insights/?hl=de&url=www.bestattungen-rueben.de

https://gtmetrix.com/reports/www.bestattungen-rueben.de/wUqQZ6ys

Homepage läuft auf einem strato server mit ssl verschlüsselung & 301(glaube ich, permanent) Weiterleitung direkt im Strato Center.

die .htaccess datei sieht aber sehr spärlich aus.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^intern/(.*) /wp-includes/$1?Fbd_hide=2015 [QSA,L]
RewriteRule ^files/(.*) /wp-content/uploads/$1?Fbd_hide=2015 [QSA,L]
RewriteRule ^ext/(.*) /wp-content/plugins/$1?Fbd_hide=2015 [QSA,L]
RewriteRule ^layout/main\.css //index.php?style_wrapper=1&Fbd_hide=2015 [QSA,L]
RewriteRule ^layout/style.css /nothing_404_404?Fbd_hide=2015 [QSA,L]
RewriteRule ^layout/(.*) /wp-content/themes/Avada/$1?Fbd_hide=2015 [QSA,L]
RewriteRule ^ajax /wp-admin/admin-ajax.php?Fbd_hide=2015 [QSA,L]
RewriteRule ^inc/(.*) /wp-content/$1?Fbd_hide=2015 [QSA,L]
RewriteRule ^wp-content/themes/Avada/screenshot\.png|readme\.html|license\.txt|wp-content/debug\.log|wp-includes/$ /nothing_404_404?Fbd_hide=2015 [QSA,L]
RewriteRule ^(((wp-content|wp-includes)/([A-Za-z0-9\-\_\/]*))|(wp-admin/(!network\/?)([A-Za-z0-9\-\_\/]+)))(\.txt|/)$ /nothing_404_404?Fbd_hide=2015 [QSA,L]
RewriteRule ^(index\.php|wp-comments-post\.php|wp-includes/js/tinymce/wp-tinymce\.php|xmlrpc\.php|wp-cron\.php|wp-login\.php|index\.php|wp-admin/)(.*) $1$2?Fbd_hide=2015 [QSA,L]
RewriteRule ^(.*)\.php(.*) /nothing_404_404?Fbd_hide=2015 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Vielleicht könnt ihr mir etwas unter die Arme helfen bzgl. Caching und mod_deflate.

Vielen lieben Dank
 
@neo

https://varvy.com/pagespeed/enable-compression.html

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>


Arbeiten einfach die Punkte ab die bei gtmatrix angemeckert werden.




1.3 mb javascript auf der Startseite da freut sich jeder mobile nutzer, bau die Seite um.
Es ist nicht notwendig google maps direkt auf der startseite zu haben, packe das in eine extra seite


Leverage browser caching

https://varvy.com/pagespeed/leverage-browser-caching.html


Schau einfach weiter oben im Thread da steht schon vieles in den anderen Kommentaren
 
Zurück
Oben