Gegenfrage: bei den css-Dateien wird nichts mehr bemängelt?
(insbesondere bei oxid.css - wenn dem so ist, kann man Syntax-Fehler in der .htaccess weitestgehend ausschließen)
Moin,
auch ich sollte kürzlich einen Blick auf die htaccess eines Kunden werfen, bin aber leider auch definitiv kein SEO-Profi. Jedenfalls wurde sich dort scheinbar bisher nach diesem Whitepaper gerichtet: http://docu.oxid-esales.com/devdocuments/whitepaper-performance-optimierung.pdf
Und nun ist/bleibt die Frage, ob das in dieser Form 1:1 noch Sinn macht heutzutage? Zumal ich fürchte, dass dort einige Zeilen nicht ganz korrekt sind, nämlich 5x “filesMatch” innerhalb “mod_headers”. Da scheint der Backslash falsch maskiert zu sein, z.B.:
<filesMatch "\\.(css)$">
Das besagt doch, dass zwingend ein Backslash erwartet wird, gefolgt von irgendeinem Zeichen (muss KEIN Punkt sein) und dann halt die Endung css. Korrekt wäre aber:
<filesMatch "\.(css)$">
da ja der Punkt maskiert werden soll und Backslashes eh nur unter Windows vorkommen. Was meint ihr, irgendwelche Einwände oder Verbesserungsvorschläge?
Danke + Gruß!
PS: hier mal der ganze Code:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 604800 seconds"
ExpiresByType image/jpeg "access plus 604800 seconds"
ExpiresByType image/png "access plus 604800 seconds"
ExpiresByType image/gif "access plus 604800 seconds"
ExpiresByType image/ico "access plus 604800 seconds"
ExpiresByType application/x-shockwave-flash "access plus 432000 seconds"
ExpiresByType text/css "access plus 432000 seconds"
ExpiresByType text/javascript "access plus 432000 seconds"
ExpiresByType application/x-javascript "access plus 432000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>
<ifModule mod_headers.c>
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
<filesMatch "\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</filesMatch>
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>
Header unset ETag
Header unset Last-Modified
</ifModule>
FileETag None
<IfModule mod_deflate.c>
<FilesMatch "\.(css|js|x?html?|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
ich habe das selbe Problem wie Tecki.
Meine styles.min.css wird als blockierend angezeigt.
Laut Google heißt es:
[I]Diese Regel gilt, wenn PageSpeed Insights feststellt, dass eine Seite externe Stylesheets enthält, die das Rendern blockieren und damit die Darstellung von Inhalten auf dem Bildschirm verzögern.[/I]
Jedoch handelt es sich hierbei nicht um ein externes CSS.
Als Empfehlung gibt Google externe CSS direkt ins HTML einzufügen wenn diese klein sind. Falls diese groß sind nur den Teil der “above the fold” wichtig ist:
[I]Ermitteln Sie im Fall einer großen CSS-Datei den CSS-Code, der zum Rendern des ohne Scrollen sichtbaren Inhalts erforderlich ist. Platzieren Sie ihn inline und lassen Sie die übrigen Stile nach dem ohne Scrollen sichtbaren Inhalt laden.[/I]
Also habe ich den CSS-Code zu Header, Navigation, und Slider direkt in das base.tpl eingefügt.
Hat jedoch leider nicht gereicht, das Problem besteht noch immer.
Meine styles.min.css ist 304kb groß. Im Vergleich zur Oxid-Vanilla-Verison nur 130kb größer, was für einen umfangreichen Shop nicht ungewöhnlich ist.