• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

einmal blockiert javascript das rendering und einmal nicht (Page Speed Insights)

TrennwandRink

New member
Hallo,

ich habe "anscheinend" ein Problem mit dem richtigen Einbinden von javascript-Files.

Derzeit arbeite ich einer neuen Version unserer Firmen-Homepage, mit einem moderneren Unterbau.
Im Zuge dessen teste ich die Seiten immer mal wieder mit "Google Page Speed Insights".

Dabei bin ich auf ein äußerst merkwürdiges Problem gestossen, welches mir mittlerweile sehr viele Stunden Kopfzerbrechen bereitet hat.

Und zwar meckert Google in der neuen Version über die javascripts und in der alten Version nicht, dabei verwende ich zum Teil die gleichen Scripts und den gleichen Sourcecode.

Im Detail sieht das dann so aus.

ALTE SEITE

https://developers.google.com/speed/pagespeed/insights

Ergebnis:
Code:
Ihre Seite enthält 3 blockierende CSS-Ressourcen. Dies verursacht eine Verzögerung beim Rendern Ihrer Seite.
...
...
Optimieren Sie die CSS-Darstellung für die folgenden URLs:
http://www.trennwand-rink.de/…nburns/themes/neutral_light/skin.min.css
http://www.trennwand-rink.de/css/idangerous.swiper.css
http://www.trennwand-rink.de/css/style.css

Sourcecode:
Code:
<!DOCTYPE HTML>
<html lang="de">
<head>	

    <meta charset="UTF-8">
    <meta name="robots" content="index,follow">
    <meta name="author" content="Rink GmbH, 35576 Wetzlar">
    <meta name="keywords" content="Rink Wetzlar, Rink GmbH, Rink Trennwände, Trennwände, Schrankbau, Innenausbau, Schreinerei, WC Trennwände, Möbelbau, Trennwandsysteme, Systemtrennwände, Einbauschränke, Lohnfertigung">
    <meta name="description" content="Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schrankbau und den Möbelbau bzw. Innenausbau.">

    <title>Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schranksysteme und den Möbel- bzw. Innenausbau.</title>
    
    <!--[if lt IE 9]>
    	<script src="js/html5shiv.min.js"></script>
    <![endif]-->
    
    <link rel="stylesheet" type="text/css" href="js/pe.kenburns/themes/neutral_light/skin.min.css" />
    <link rel="stylesheet" type="text/css" href="css/idangerous.swiper.css">
    <link rel="stylesheet" type="text/css" href="css/style.css" />
    <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,700,600s" />
  
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.bgpos.js"></script> 
    <script type="text/javascript" src="js/pe.kenburns/jquery.pixelentity.kenburnsSlider.min.js"></script>
    <script type="text/javascript" src="js/idangerous.swiper.js"></script>         
    
    <script type="text/javascript">  
      <!--
        $(function(){
          $('nav a')
            .css( {backgroundPosition: "0 0"} )
            .mouseover(function(){$(this).stop().animate({backgroundPosition:"(0 -450px)"}, {duration:350})})
            .mouseout(function(){$(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:350})})
        });
      //-->
    </script>

    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
      ga('create', 'UA-26006723-2', 'auto');
      ga('require', 'displayfeatures');
      ga('send', 'pageview');
    </script>
  
    <style type="text/css">
	.peKenBurns {height: 275px;} 
    </style>
	
    <script>
	jQuery(function($){
		$(".peKenBurns").peKenburnsSlider()
	})
    </script>
     
</head>


NEUE SEITE

https://developers.google.com/speed/pagespeed/insights

Ergebnis:
Code:
Ergebnis:
Ihre Seite enthält 4 blockierende Skript-Ressourcen und 4 blockierende CSS-Ressourcen. Dies verursacht eine Verzögerung beim Rendern Ihrer Seite.
...
...
Entfernen Sie JavaScript, das das Rendering blockiert:
http://test.trennwand-rink.de/js/jquery-2.1.4.min.js
http://test.trennwand-rink.de/js/bootstrap.min.js
http://test.trennwand-rink.de/js/kenburns.js
http://test.trennwand-rink.de/js/swiper.jquery.min.js
Optimieren Sie die CSS-Darstellung für die folgenden URLs:
http://test.trennwand-rink.de/css/bootstrap.min.css
http://test.trennwand-rink.de/css/main.css
http://test.trennwand-rink.de/css/swiper.min.css
https://fonts.googleapis.com/css?family=Roboto:400,300,500,700

Sourcecode:
Code:
<!DOCTYPE html>
<html lang="de">

<head>

    <meta charset="UTF-8">
    <meta name=viewport content="width=device-width, initial-scale=1">
    <meta name="robots" content="index,follow">
    <meta name="author" content="Rink GmbH, 35576 Wetzlar">
    <meta name="keywords" content="Rink Wetzlar, Rink GmbH, Rink Trennwände, Trennwände, Schrankbau, Innenausbau, Schreinerei, WC Trennwände, Möbelbau, Trennwandsysteme, Systemtrennwände, Einbauschränke, Lohnfertigung">
    <meta name="description" content="Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schrankbau und den Möbelbau bzw. Innenausbau.">

    <title>Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schranksysteme und den Möbel- bzw. Innenausbau.</title>

    <meta property="og:title" content="Schreinerei Rink GmbH Wetzlar" />
    <meta property="og:url" content="http://www.trennwand-rink.de/" />
    <meta property="og:site_name" content="Rink GmbH"/>
    <meta property="fb:admins" content="480971195258702" />
    <meta property="fb:page_id" content="480971195258702" />
    <meta property="og:description" content="Seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schranksysteme und den Möbel- bzw. Innenausbau." />

    <!-- gemeinsame minify CSS-Datei -->
    <!--<link rel="stylesheet" type="text/css" href="css/min.css">-->
    
    <!-- Bootstrap Core CSS -->
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <!-- Custom CSS -->
    <link rel="stylesheet" type="text/css" href="css/main.css">
    <!-- Addon - swiper -->
    <link rel="stylesheet" type="text/css" href="css/swiper.min.css">
    <!-- Fonts -->
    <link href='https://fonts.googleapis.com/css?family=Roboto:400,300,500,700' rel='stylesheet' type='text/css'>

    <!-- jquery -->
    <script type="text/javascript"  src="js/jquery-2.1.4.min.js"></script>
    <!-- bootstrap -->
    <script type="text/javascript"  src="js/bootstrap.min.js"></script>
    <!-- KenBurns Effekt (große Bilder) -->
    <script type="text/javascript"  src="js/kenburns.js"></script>
    <!-- Swiper (kleine Bildergalerie) -->
    <script type="text/javascript"  src="js/swiper.jquery.min.js"></script>

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->

    <!-- Google Analytics -->
    <script>
	window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
	ga('create', 'UA-26006723-2', 'auto');
	ga('require', 'displayfeatures');
	ga('send', 'pageview');
    </script>
    <script async src='//www.google-analytics.com/analytics.js'></script>
    <!-- End Google Analytics -->

</head>


So, und jetzt verstehe ich die Welt einfach nicht mehr.
2 x dicke Probleme sehe ich:

1.
Warum meckert Google bei der neuen Version über die Einbindung der javascript-Files?
Ich habe sie genauso eingebunden wie bei der alten Version (und da war alles okay laut Google) und das jquery-script ist sogar das (fast) gleiche.
Ich verstehe es nicht ....

2.
Warum meckert Google bei der neuen Version auch noch über das Einbinden des Web-Fonts?
Bei der alten Version war es okay, bei der neuen soll es behoben werden?


Ich bin komplett überfragt und wäre über jede Hilfe extrem dankbar.
Bitte, gebt mir Tips ...

Grüße

Chris
 
Guten Morgen,

ich referenziere auf "jede Hilfe" - also tobe ich mich aus ... :D


<meta name="robots" content="index,follow">
Browserstandard ... diese Zeile kannst Du Dir sparen.

<meta name="keywords" content="Rink Wetzlar, Rink GmbH, Rink Trennwände, Trennwände, Schrankbau, Innenausbau, Schreinerei, WC Trennwände, Möbelbau, Trennwandsysteme, Systemtrennwände, Einbauschränke, Lohnfertigung">
Hmmm ... aus SEO-Sicht total zu vernachlässigen (eigentlich) - ansonsten: viel zu viele (max. 5) und gern nur die Schlagwörter, die auch im Content präsent sind.

<meta name="description" content="Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schrankbau und den Möbelbau bzw. Innenausbau.">
Den find ich gut - der ist sogar unter 155 Zeichen. Aber den find ich nur richtig gut, wenn das kein "Bindestrich" ist, sondern ein "Gedankenstrich" (= –). :D

<title>Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schranksysteme und den Möbel- bzw. Innenausbau.</title>
Viel zu lang ... !

<meta property="fb:____" content="..." />
Igitt ... Facebook, aber da kommt gleich was auf Dich zu!

<!-- gemeinsame minify CSS-Datei -->
<!--<link rel="stylesheet" type="text/css" href="css/min.css">-->

<!-- Bootstrap Core CSS -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<!-- Custom CSS -->
<link rel="stylesheet" type="text/css" href="css/main.css">
<!-- Addon - swiper -->
<link rel="stylesheet" type="text/css" href="css/swiper.min.css">
<!-- Fonts -->
<link href='https://fonts.googleapis.com/css?family=Roboto:400,300,500,700' rel='stylesheet' type='text/css'>
Diese vier lassen sich doch bestimmt zu einer main.min.css basteln, gell? Das ist dann ein Request statt 5 (!). Denkst Du bitte an "above the fold"? Darum meckert das Tool übrigens.

"render blocking scripts" nennt sich das – also alles, was geht, vor das schließende body-Tag. Sollte Dein JavaScript vorher "zünden": umschreiben! Shiv + Respond sind davon ausgenommen, da eh nur für IE (btw: Die Meldung von gestern aus Redmond hat mich erfreut in puncto "nur noch IE11" ...)

Der gehört mich Sicherheit ans Ende (bindet sich eh in den head-Tag ein). ABER ...

Diese Seite ist fröhlich ABMAHNFÄHIG! Informiere Dich bitte schleunigst über "anonymizeIP" für den deutschsprachigen Raum (Stichwort: Datenschutz). Und da der Name der Firma ja auch noch oben genannt ist ... ui ui ui ... na, von mir kommt's nicht (also falls ...). ;)

Eigentlich muss das bei Dir so aussehen ...

Code:
<html>
<head>
  <style>
  <style "above the fold" "inline css" - falls nötig bzw. bemault>
<body>
  ... waka waka content ...
  <script>
</body>
</html>

Uuuund, jetzt noch zu Facebook: Ich hoffe, dass Du den Besucher auf Cookies hinweist. Erst recht, wenn Du irgendwas mit der FB-API machst (Du wirst juristisch übelst abgegrätscht - Amen!). Hintergrund ist die Zusammenlegung von Benutzerdaten mit einem persönlichen Profil bei denen. Und das machen die mit Sicherheit - ist ja "Made in USA" (pfft!). Der korrekte Weg ist, dass Du Deinen Besucher darüber informierst, dieser das bestätigen darf und dann (!!!) lädst Du die API von FB oder auch Google. Das sei der legitime wie korrekte Weg (diese Info habe ich von einem Medien-Anwalt aus DA).

So ... soviel erstmal von mir ... und komm mir nicht mit "das ist aber Wordpress und ein Theme, was ich nicht ändere".

Ergo? Attacke ...
 
Morgen,

erst einmal Danke für die ausführliche Antwort.
Leider hat das alles mit meiner eigentlichen Frage nicht all zu viel zu tun, ich will es aber Schritt für Schritt durchgehen.

1.
<meta name="robots" content="index,follow">
Macht der Gewohnheit, werde ich aber in Zukunft weglassen.

2.
<meta name="keywords" content="Rink Wetzlar, Rink GmbH, Rink Trennwände, Trennwände, Schrankbau, Innenausbau, Schreinerei, WC Trennwände, Möbelbau, Trennwandsysteme, Systemtrennwände, Einbauschränke, Lohnfertigung">
Okay, auch hier wieder Macht der Gewohnheit.
Abgesehen davon gibt es zur Anzahl der Keywords auch verschiedene Meinungen.
Klingt aber recht logisch für mich das es mittlerweile aus SEO-Sicht zu vernachlässigen ist.
Diese Zeile bringt mir aber in der aktuellen Form auch keine Nachteile, oder?

3.
<meta name="description" content="Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schrankbau und den Möbelbau bzw. Innenausbau.">
Das mit dem Binde-/Gedankenstrich habe ich nicht ganz verstanden :)
Trotzdem danke.

4.
<title>Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schranksysteme und den Möbel- bzw. Innenausbau.</title>
Da hast du Recht, der Titel ist noch viel zu lang.
Bin auch noch am überlegen wie ich das abkürzen kann, aber gerade aus SEO-SIcht ist doch der title-tag recht wichtig soweit ich weiß, oder?
Deshalb habe ich versucht soviel Keywords unterzubringen wie möglich.
Werde an diesem Punkt nochmal arbeiten.

5.
<meta property="fb:____" content="..." />
Ich bin kein Facebook-Fan, dachte aber in modernen Zeiten kann es nicht schaden ...

6.
<!-- gemeinsame minify CSS-Datei -->
<!--<link rel="stylesheet" type="text/css" href="css/min.css">-->

<!-- Bootstrap Core CSS -->
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<!-- Custom CSS -->
<link rel="stylesheet" type="text/css" href="css/main.css">
<!-- Addon - swiper -->
<link rel="stylesheet" type="text/css" href="css/swiper.min.css">
<!-- Fonts -->
<link href='https://fonts.googleapis.com/css?family=Roboto:400,300,500,700' rel='stylesheet' type='text/css'>
Wie du schon an den ersten beiden Kommentarzeilen sehen kannst, habe ich bereits eine gemeinsame, minimierte, CSS-Datei.
Diese nutze ich jedoch erst am Ende wenn die Seite fertig ist.
Zum entwickeln finde ich es praktischer mit den 3 x CSS-Dateien (sind keine 5, die 5. CSS Datei wäre die gemeinsame CSS-Datei und das andere ist ein Web-Font) zu arbeiten.
Gerade hier liegt aber auch eins der Probleme.
Die Einbindung des WebFonts wird von Google bei der alten Version der Homepage ohne meckern akzeptiert, bei der neuen nicht. Warum das?
Denkst Du bitte an "above the fold"? Darum meckert das Tool übrigens.
Ich denke die ganze Zeit daran, weiß nur nicht was Google an der neuen Version stört, was bei der alten noch in Ordnung war.
Kannst du deine Aussage bitte konkretisieren?

7.
"render blocking scripts" nennt sich das – also alles, was geht, vor das schließende body-Tag. Sollte Dein JavaScript vorher "zünden": umschreiben! Shiv + Respond sind davon ausgenommen, da eh nur für IE (btw: Die Meldung von gestern aus Redmond hat mich erfreut in puncto "nur noch IE11" ...)
Dazu muss ich sagen, das ich in der neuen Version der Homepage, alle javascript-Sachen (also sowohl das Einbinden von Files, als auch inline-js) wie von dir beschrieben an das Ende, vor das schließende body-Tag, gesetzt habe.
Testweise hatte ich den ganzen Kram in den HEAD-Bereich verschoben, da ich das damals bei der alten Version der Seite auch so gemacht hatte und ich die beiden Versionen vom Sourcecode testeweise ähnlich halten wollte.
Also hier kann ich Entwarnung geben, in der fertigen Versionen wandern die js-Sachen wieder ans Ende des html-Codes.
Leider hat das aber auch nichts mit meiner Frage zu tun, da das Google Ergebnis immer das geiche ist (egal ob ich die js-Files am Anfang oder Ende habe).

8.
Okay, habe bei beide Seiten den analytics-Code um die "anonymizeIP"-Funktion erweitert, sollte jetzt also datenschutzkonform sein.
Bei der neuen Seite sollte aber das "test." in der Domain schon zeigen das es nur eine "Testseite" ist, bei der alten Version hatte ich das übersehen.
Aber nicht nur ich, auch die Leute die die Seite überprüft haben hatten das übersehen (lasse immer von der örtlichen Uni einen Website-Check machen).
Ich hoffe mit der anonymize-Funktion bin ich nun auf der sicheren Seite?
Vielen Dank für den Hinweis.

9.
Eigentlich muss das bei Dir so aussehen ...
Also "above the fold" inline-CSS wird es bei mir nicht geben.
Nach mehreren Diskussionen in diversen Foren teile ich die gleiche Meinung wie die Mehrheit der Foren-Nutzer - das ist praxisfremder Schwachsinn ^^
In den Anfangsjahren hieß es noch man sollte externe CSS-Dateien nutzen um mit einer Änderung in den CSS-Dateien die komplette Website zu ändern.
Jetzt soll ich inline-css nutzen was dazu führt das ich Änderungen in jeder html-Seite einzeln durchführen muss?
Oder ich muss mich in diverse Tools einarbeiten die mir diese Arbeit abnehmen?
Ne, für mich ist das schlicht praxisfremd.
Wenn du aber einen Tip hast wie ich das relativ einfach lösen kann, dann bin ich ganz Ohr.
Klar stört mich das mit den css-Dateien & above-the-fold - es steht für mich aber in keiner Relation zu dem Aufwand den ich betreiben müsste um es loszuwerden.

10.
Uuuund, jetzt noch zu Facebook: Ich hoffe, dass Du den Besucher auf Cookies hinweist. Erst recht, wenn Du irgendwas mit der FB-API machst (Du wirst juristisch übelst abgegrätscht - Amen!). Hintergrund ist die Zusammenlegung von Benutzerdaten mit einem persönlichen Profil bei denen. Und das machen die mit Sicherheit - ist ja "Made in USA" (pfft!). Der korrekte Weg ist, dass Du Deinen Besucher darüber informierst, dieser das bestätigen darf und dann (!!!) lädst Du die API von FB oder auch Google. Das sei der legitime wie korrekte Weg (diese Info habe ich von einem Medien-Anwalt aus DA).
Also die Facebook-Integration möchte ich nur in der neuen Version nutzen, und außer das ich unser Facebook-Konto auf diese Weise mit der Homepage verknüpfe ist bisher nichts geplant.
Also meines Wissens nutze ich keine Facebook-API's, oder nutze ich die schon mit der Einbindung automatisch?
Reicht der Hinweis auf die Cookies wenn ich die FB-API's nicht nutze?

Werde mich mit der Rechtssicherheit aber nochmal im Detail beschäftigen, wieder mal danke für den Anstoss.

11.
So ... soviel erstmal von mir ... und komm mir nicht mit "das ist aber Wordpress und ein Theme, was ich nicht ändere".
Das war ja schon einmal eine ganze Menge von dir, vielen herzlichen Dank.
Aber wie kommst du auf "Wordpress" ? Ist doch eine komplett selbst programmierte Homepage und hat mit Wordpress nichts zu tun, stehe auf dem Schlauch ^^
Wordpress nutze ich für mein privates Blog (Gucky's Projekte – Tipps, Tricks & Ideen zum Thema smartHome & Raspberry Pi), aber nicht für die Firmen-Homepage :)


So, damit wären dann alle Punkte durch.

Dabei waren eine ganze Menge Denkanstösse die ich beherzigen werde.

Leider hat das alles aber nichts mit meiner Frage zu tun.

Ich verstehe immer noch nicht warum das Einbinden der javascripts und des Web-Fonts auf der alten Homepage von PageSpeed akzeptiert wird und bei der neuen nicht.
Alles was du aufgezählt hast trifft so entweder auch auf die alte Seite zu oder hat nichts mit dem eigentlichen Problem zu tun (die FB-Zeilen werden z.Bsp. nicht dafür verantwortlich sein das PageSpeed über die js-Einbindung meckert).

Google kann doch nicht bei der einen Seite meckern das ich jquery einbinde und bei der anderen Seite ist es okay .... sehr seltsam.

Woran es nicht liegt, das weiß ich mittlerweile.
Es liegt nicht an der Subdomain, es liegt nicht am viewport, es liegt nicht daran ob die js-Einbindung im HEAD oder vor dem schließenden BODY stattfindet, etc....


Bitte, bitte, es muss doch einen Grund geben :(
 
Mahlzeit,

so zwischen Coding und Käsebrot wieder mal eine Antwort geklempnert - hehehe.

Leider hat das alles mit meiner eigentlichen Frage nicht all zu viel zu tun, ich will es aber Schritt für Schritt durchgehen.
Doch und Du hast es sogar selbst geschrieben ... zeige ich Dir gleich. :D

2. Abgesehen davon gibt es zur Anzahl der Keywords auch verschiedene Meinungen.
Korrekt. Eigentlich nämlich gar keine. Aber wenn, dann nicht mehr als fünf.

Diese Zeile bringt mir aber in der aktuellen Form auch keine Nachteile, oder?
Wenn ich es Dir ganz rudimentär runterbrechen darf, so überträgst Du Zeichen, die für den Benutzer unnötig sind. ;)

3. Das mit dem Binde-/Gedankenstrich habe ich nicht ganz verstanden :) Trotzdem danke.
Es ist ein Unterschied, ob Du einen Bindestrich (auch "Minus" genannt) nimmst oder einen "Halbgeviertstrich" (ALT + 0150). Korrekt wäre letzterer in Deiner Schreibweise. ;) Randnotiz: Ich bin durchaus ein kleiner Grammatiknazi. :D

4. Bin auch noch am überlegen wie ich das abkürzen kann, aber gerade aus SEO-SIcht ist doch der title-tag recht wichtig soweit ich weiß, oder?
Einer der wichtigen ... korrekt.

Deshalb habe ich versucht soviel Keywords unterzubringen wie möglich.
Ist das ein One-Pager? Falls nein, warum dann dann so viele wie möglich???

5. Ich bin kein Facebook-Fan, dachte aber in modernen Zeiten kann es nicht schaden ...
Mit dem og: bist schon gut dabei - hier kannst Du auch og:image verwenden. Eigentlich müsste jeder Validator über fb: meckern ... kann mich aber auch täuschen.

6. Wie du schon an den ersten beiden Kommentarzeilen sehen kannst, habe ich bereits eine gemeinsame, minimierte, CSS-Datei. Diese nutze ich jedoch erst am Ende wenn die Seite fertig ist. Zum entwickeln finde ich es praktischer mit den 3 x CSS-Dateien (sind keine 5, die 5. CSS Datei wäre die gemeinsame CSS-Datei und das andere ist ein Web-Font) zu arbeiten.
Und genau da steht der Satz, warum Du mit Pagespeed noch gar nicht rumfummeln musst, wenn die Dateien (gilt auch für JS) noch gar nicht am Zielort (finale Position) sind. Hol Dir Deine Lorbeeren durch derartige Tool doch lieber erst, wenn die Seite die richtige Semantik hat.

Die Einbindung des WebFonts wird von Google bei der alten Version der Homepage ohne meckern akzeptiert, bei der neuen nicht. Warum das?
300 = light
400 = regular
700 = bold ...

Hat Roboto eine 500? Und: Wie ist die Ladezeit bei diesen Ausführungen? War der Tacho noch "grün"? Gibt es noch mehr Schriftarten? Wird das Einbinden im CSS via @import wiederholt und wird dadurch doppelt? Sorry, hier kann ich nur raten ... aber alles schon erlebt.

7. Dazu muss ich sagen, das ich in der neuen Version der Homepage, alle javascript-Sachen (also sowohl das Einbinden von Files, als auch inline-js) wie von dir beschrieben an das Ende, vor das schließende body-Tag, gesetzt habe.
Und erst dann macht der Test Sinn, ob Ladezeiten etc. gut sind.

Leider hat das aber auch nichts mit meiner Frage zu tun, da das Google Ergebnis immer das geiche ist (egal ob ich die js-Files am Anfang oder Ende habe).
Proxy dazwischen? Seite nicht aktualisiert auf der Domain? Cache auf der Domain nicht aus? Es kann so viele schöne Gründe geben ... :D

8. Okay, habe bei beide Seiten den analytics-Code um die "anonymizeIP"-Funktion erweitert, sollte jetzt also datenschutzkonform sein.
Ich habe meine Aussage nur auf GA und das Setting bezogen – ob damit jetzt alles konform ist, darf ich gar nicht einschätzen. ;)

Bei der neuen Seite sollte aber das "test." in der Domain schon zeigen das es nur eine "Testseite" ist, ...
Das interessiert nicht. Sobald Du auch nur einen Tester da drauf lässt, kann der Dir direkt ans Bein strullen. Nicht umsonst heißt es, dass man immer mit einem Bein schon im Knast steht. "Unwissenheit schützt nicht vor Strafe" – kennen wir alle.

Ich hoffe mit der anonymize-Funktion bin ich nun auf der sicheren Seite?
Wenn die korrekt drin ist, ist das schon mal i. O.

9. Also "above the fold" inline-CSS wird es bei mir nicht geben.
Schlag mich nicht, aber es gibt Seiten, die vorzeitiges Rendern im Browser eben blocken. Und genau für solche Seiten ist das eigentlich gedacht. Wenn Du keine Meldung hast, dass "above the fold" für Dich überlegenswert zu sein hat, betrachte das nur als Hinweis. Ich habe mir Deine Seite nicht angeschaut, sondern lediglich auf den kleinen Fitzel Source oben Bezug genommen.

"Praxisfremd" ist es nicht – und es geht NUUUR um die Anzeige im Viewport, die der Besucher zu sehen bekommt (nicht um das, was "außerhalb" bzw. darunter steht).

Wenn du aber einen Tip hast wie ich das relativ einfach lösen kann, dann bin ich ganz Ohr.
Indem Du schlichtweg ein Style-Attribut verwendest, was eben keinen eigenen Request auslöst. Den kannst Du Dir dann bspw. via PHPs include() direkt einladen (wenn mehrere Seiten betroffen sind) o. ä.

10. Also meines Wissens nutze ich keine Facebook-API's, oder nutze ich die schon mit der Einbindung automatisch?
Wenn es nur der Link auf die FB-Seite der Firma ist: gar kein Problem! (Tipp: Vergiss die Share-Möglichkeit nicht – geht auch komplett ohne API)

Reicht der Hinweis auf die Cookies wenn ich die FB-API's nicht nutze?
Anders formuliert: Du musst FB/Twitter/G+ APIs in Deine Datenschutzerklärung aufnehmen, wenn Du diese benutzt. Ebenfalls dort sollte der Widerruf möglich sein (ga.optout() bspw.), aber auch der Widerruf zur Cookie-Akzeptanz auf Deiner Seite.

11. Aber wie kommst du auf "Wordpress" ?
Das war eher mit einem Augenzwinkern geschrieben. WP-Themes pumpen gern die Scripte direkt oben in den HEAD ... alles gar nicht böse gemeint. ;)

Dabei waren eine ganze Menge Denkanstösse die ich beherzigen werde.
Och, da gibt es noch viiiiel mehr. Aber das ist ja auch mein Geschäft. ;)

Leider hat das alles aber nichts mit meiner Frage zu tun.
s. Eröffnungssatz: "jede Hilfe" :D Letztendlich aber wie erwähnt: Mach es final fertig – dann kommt's Tuning!

Google kann doch nicht ...
Doch, gerade die können!

Ein paar Anstöße für Gründe gab's jetzt auch wieder – meld Dich!

- - - Aktualisiert - - -

Ah, "medium" - alles klar bei Roboto. Dachte eher an "semi-bold" (mit Sicherheit identisch; Synonym). Tacho sieht auch i. O. aus.
 
Hallo,

vielleicht muss ich erst einmal erwähnen das ich Webdesign nur als ein Hobby nebenbei mache, bin also kein Profi.
So, und jetzt versuche ich mal wieder das Ganze zusammen zu bekommen.

Wenn ich es Dir ganz rudimentär runterbrechen darf, so überträgst Du Zeichen, die für den Benutzer unnötig sind.
Hehe, okay, da hast du natürlich Recht.
Allerdings denke ich nicht das 20-30 zusätzliche Buchstaben das Ganze messbar verlangsamen ^^

Deshalb habe ich versucht soviel Keywords unterzubringen wie möglich.
Ist das ein One-Pager? Falls nein, warum dann dann so viele wie möglich???
Du hast Recht, ich werde es auf die wichtigsten Keywords kürzen.

6. Wie du schon an den ersten beiden Kommentarzeilen sehen kannst, habe ich bereits eine gemeinsame, minimierte, CSS-Datei. Diese nutze ich jedoch erst am Ende wenn die Seite fertig ist. Zum entwickeln finde ich es praktischer mit den 3 x CSS-Dateien (sind keine 5, die 5. CSS Datei wäre die gemeinsame CSS-Datei und das andere ist ein Web-Font) zu arbeiten.
Und genau da steht der Satz, warum Du mit Pagespeed noch gar nicht rumfummeln musst, wenn die Dateien (gilt auch für JS) noch gar nicht am Zielort (finale Position) sind. Hol Dir Deine Lorbeeren durch derartige Tool doch lieber erst, wenn die Seite die richtige Semantik hat.
Habe die Seite jetzt finalisiert, CSS & javascript zusammengefasst, js-Einbindung nach hinten verschoben und Kommentare entfernt.
Die neue Seite hat jetzt also seine finale Semantik.

Die Einbindung des WebFonts wird von Google bei der alten Version der Homepage ohne meckern akzeptiert, bei der neuen nicht. Warum das?
Hat Roboto eine 500? Und: Wie ist die Ladezeit bei diesen Ausführungen? War der Tacho noch "grün"? Gibt es noch mehr Schriftarten? Wird das Einbinden im CSS via @import wiederholt und wird dadurch doppelt? Sorry, hier kann ich nur raten ... aber alles schon erlebt.
Roboto hat eine 500, allerdings habe ich gesehen das ich diese nicht nutze, jetzt nur noch 2 x Stärken.
Tacho ist grün. Es gibt keine weiteren Schriftarten und im CSS-File gibt es kein "@import" - also auch nichts doppelt.

7. Dazu muss ich sagen, das ich in der neuen Version der Homepage, alle javascript-Sachen (also sowohl das Einbinden von Files, als auch inline-js) wie von dir beschrieben an das Ende, vor das schließende body-Tag, gesetzt habe.
Und erst dann macht der Test Sinn, ob Ladezeiten etc. gut sind.
Habe ich alles wie gesagt gemacht, js ans Ende, etc.... danach habe ich den Test wiederholt und exakt das gleiche Ergebnis bekommen (von der Punktzahl) und er meckert über die gleichen Dateien (okay, jetzt stört ihn nur noch 1 x js-Datei anstatt wie vorher 4 ^^ - gibt ja auch nur noch eine).

Leider hat das aber auch nichts mit meiner Frage zu tun, da das Google Ergebnis immer das geiche ist (egal ob ich die js-Files am Anfang oder Ende habe).
Proxy dazwischen? Seite nicht aktualisiert auf der Domain? Cache auf der Domain nicht aus? Es kann so viele schöne Gründe geben ...
Kein Proxy, Seite mehrmals aktualisiert (verschiedene PC's, verschiedene Browser, verschiedene IP's).
Seite auf der Domain gelöscht und dann neu kopiert, muss also aktualisiert sein.
Cache kann es auch nicht sein, da er bei dem neuen Test die neue Seite erkennt (sehe ich daran das nur 1x js bemängelt wird anstatt 4x).

9. Also "above the fold" inline-CSS wird es bei mir nicht geben.
Schlag mich nicht, aber es gibt Seiten, die vorzeitiges Rendern im Browser eben blocken. Und genau für solche Seiten ist das eigentlich gedacht. Wenn Du keine Meldung hast, dass "above the fold" für Dich überlegenswert zu sein hat, betrachte das nur als Hinweis. Ich habe mir Deine Seite nicht angeschaut, sondern lediglich auf den kleinen Fitzel Source oben Bezug genommen.
"Praxisfremd" ist es nicht – und es geht NUUUR um die Anzeige im Viewport, die der Besucher zu sehen bekommt (nicht um das, was "außerhalb" bzw. darunter steht).
Verstehe jetzt nicht was du mit dem Satz "Wenn Du keine Meldung hast, dass "above the fold" für Dich überlegenswert zu sein hat, betrachte das nur als Hinweis" meinst ...
Mit Praxisfremd meine ich, das ich deutlich Mehrarbeit hätte wenn ich den CSS-Code für "above the fold" inline einbinden würde.
Ich müsste ca. 50% CSS-Definitionen inline nutzen.
Dinge wie Hintergrund, Überschriften, das bootstrap-Grid-System, etc... das sind ja alles Dinge die ich schon "above the fold" brauche und deshalb als inline-CSS eingefügt werden sollen.
Das meine ich mit praxisfremd.

Wenn du aber einen Tip hast wie ich das relativ einfach lösen kann, dann bin ich ganz Ohr.
Indem Du schlichtweg ein Style-Attribut verwendest, was eben keinen eigenen Request auslöst. Den kannst Du Dir dann bspw. via PHPs include() direkt einladen (wenn mehrere Seiten betroffen sind) o. ä.
Das verstehe ich nicht, bzw. ich weiß nicht einmal was genau du mit diesem Satz meinst.
Da merkt man das ich kein Profi bin.
Kannst du mir das bitte nochmal genauer erklären?

Reicht der Hinweis auf die Cookies wenn ich die FB-API's nicht nutze?
Anders formuliert: Du musst FB/Twitter/G+ APIs in Deine Datenschutzerklärung aufnehmen, wenn Du diese benutzt. Ebenfalls dort sollte der Widerruf möglich sein (ga.optout() bspw.), aber auch der Widerruf zur Cookie-Akzeptanz auf Deiner Seite.
Ich suche gerade im Internet nach einem entsprechenden Sourcecode-Snippet was mir die Arbeit abnimmt.
Vor allem das ga.optout() sollte darin enthalten sein, den ich selbst weiß nicht wie ich das programmieren muss.


Wordpress nutze ich nur für meinen privaten Blog Gucky's Projekte – Tipps, Tricks & Ideen zum Thema smartHome & Raspberry Pi
Ich nutze dort aber möglichst wenig Addons und ein ziemlich einfaches Theme.

So, nachdem die Seite jetzt in finaler Form vorhanden ist, der Fehler aber immernoch vorhanden ist, bin ich ziemlich am Ende.
Ich verstehe es nicht, einmal ist der Web-Font okay, das andere mal nicht.
Einmal ist es okay 3x js-Files einzubinden, das andere mal meckert er schon bei nur 1x js-File.

Da fehlt doch jede Logik?


PS: In einem anderen Forum diskutiere ich gerade über das Thema Slider.
Ich finde den großen Slider mit AutoPlay & KenBurns eigentlich recht ansprechend und finde nicht das er stört.
Jedoch wird mir von mehreren Nutzer gesagt das Slider unsinnig wären, stören würden und Nutzer sie nicht mögen würden.

Generell sollte man die Seite nicht mit Slidern vollstopfen, aber ich denke wenn man diese so wie ich einsetzt ist es doch okay.

Wie ist deine Meinung dazu?
 
Hmm, irgendwie wird meine extrem lange Antwort nicht freigegeben .... diese hier aber schon.

Frage an den Moderator: Wo ist meine Antwort von gestern?
Will das nicht alles nochmal schreiben müssen ....
 
*Nr. 6 freigeschaltet*

Sorry, TrennwandRink, das Freischalten erfolgt manuell, ich war ein bisschen im Brass. Wahrscheinlich passiert das ab sofort nicht mehr. Nach welchen Regeln die Forensoft auf "freizuschalten" geht weiß ich bisher nicht.
 
Ich verstehe es nicht, einmal ist der Web-Font okay, das andere mal nicht.
Einmal ist es okay 3x js-Files einzubinden, das andere mal meckert er schon bei nur 1x js-File.

Da fehlt doch jede Logik?
die logik dahinter steht vielleicht irgendwo oder du kannst mal bei google nachfragen oder vielleicht ist es auch ihr geheimniss.
du verwendest einmal einen Web-Font und das andere mal einen anderen. das ist schon mal ein unterschied. der eine ist vielleicht ein paar byte größer und überschreitet damit eine grenze die zu diesem hinweis führt.
du bindest einmal 3 js dateien ein die in summe vielleicht wesentlich kleiner sind als die eine, damit spaarst du zwar 2 requests aber musst wesentlich mehr laden. irgendwie werden die das gewichtet haben.
wenn dich das so sehr stört lade diese dateien asynchron nach, allerdings sollte man immer aufwand mit nutzen abwägen. und nicht nur aufwand, sondern auch die komplexität.

- - - Aktualisiert - - -

ach nochwas zum inline style
wenn du den inhalt deiner css datei einfach ins html-file zwischen <style></style> klatschst, spaarst du einen request, das macht im großen und ganzen keinen großen unterschied, weil die zu übertragenen daten ja trotzdem übertragen werden müssen. nur der overhead durch den request fällt weg. da kann man vermutlich mehr ms zeit spaaren wenn man überflüssige css-rules entfernt.
dann bist du damit die meldung zwar los, verschandelst aber das html. das macht man aber nicht in der quelle, sondern über tools wie http://gulpjs.com/ oder http://gruntjs.com/ oder http://brunch.io/
 
Moinsen.

TrennwandRink schrieb:
vielleicht muss ich erst einmal erwähnen das ich Webdesign nur als ein Hobby nebenbei mache, bin also kein Profi.
So geht's mir in der Küche. :D

TrennwandRink schrieb:
Allerdings denke ich nicht das 20-30 zusätzliche Buchstaben das Ganze messbar verlangsamen ^^
Korrekt. Aber da kommen ja bekanntlich immer mehr Buchstaben hinzu, gell? Also bitte nicht so auf dieses Beispiel versteifen! ;)

[
TrennwandRink schrieb:
Roboto hat eine 500, allerdings habe ich gesehen das ich diese nicht nutze, jetzt nur noch 2 x Stärken. Tacho ist grün. Es gibt keine weiteren Schriftarten und im CSS-File gibt es kein "@import" - also auch nichts doppelt.
Roboto hatte ich selbst geschaut - s. EDIT oben. ;) Für solche Prüfungen empfehle ich Dir "Firebug" (Firefox) oder die Entwicklerkonsole in Chrome. Da siehst Du, was los ist für den Seitenaufruf (nur erwähnt, falls Du das nicht eh schon so machst).

Cache kann es auch nicht sein, ...
Vielleicht keiner, auf den Du Einfluss hast. ;) Ich arbeite nicht mit PageSpeed - zumindest ist das für mich uninteressant. Wichtig ist der Mehrwert für den Besucher, welcher das Ranking dann aber mit Sicherheit nicht sieht.

TrennwandRink schrieb:
Wenn Du keine Meldung hast, dass "above the fold" für Dich überlegenswert zu sein hat, betrachte das nur als Hinweis" meinst ...
Es gibt Tools, die Dir das vorschlagen. Kennst Du diese Seiten mit einem großen Bild auf der Startseite? Die haben dann gern so einen Pfeil, der andeutet, dass man Scrollen soll. So lässt sich das übrigens künstlich beschleunigen, wenn die eigentliche Seite mehr Zeit benötigt. Wie tsseh schon schrieb: Für und Wider gibt es immer. In Deinem Fall: Weiteres DIV davor, CSS als inline in den HEAD und schon ist das erfüllt - den Rest fasst Du gar nicht an. Ob das aussieht? Ehm ... wahrscheinlich nicht. :D

Das meine ich mit praxisfremd.
Jupp, wenn man nur mit Bestandsmaterial arbeitet - also dem, was Du jetzt fertig hast. Aber ein Extra wie oben beschrieben lässt sich ohne Weiteres problemlos einbinden. ;) Aber das nur als Idee - ist gar kein Muss!!!

Ich suche gerade im Internet nach einem entsprechenden Sourcecode-Snippet was mir die Arbeit abnimmt.
"ga" steht für "Google Analytics" und Du suchst nur einen optout()-Code. Dieser OptOut-Code platziert - lustiger Weise - einen Cookie in Deinem System, wenn Du den Link dazu geklickt hast. Dieses Cookie sorgt dann dafür, dass Du von GA auf dieser Domain nicht mehr protokolliert wirst. Mehr ist das nicht ... ! Zu programmieren ist das via JavaScript (sofern Du nix findest).

Wordpress nutze ich nur für meinen privaten Blog Gucky's Projekte – Tipps, Tricks & Ideen zum Thema smartHome & Raspberry Pi
Ich nutze dort aber möglichst wenig Addons und ein ziemlich einfaches Theme.

PS: In einem anderen Forum diskutiere ich gerade über das Thema Slider.
Ich finde den großen Slider mit AutoPlay & KenBurns eigentlich recht ansprechend und finde nicht das er stört.
Jedoch wird mir von mehreren Nutzer gesagt das Slider unsinnig wären, stören würden und Nutzer sie nicht mögen würden.
Für und Wider ... es kommt drauf an, was geslidert wird. So bekomme ich aber bspw. Augenkrebs von Parallax-Seiten ... so ein unnötiger Bullshit ... :D
 
so, ich habe eine Weile keine Zeit gehabt an der Homepage zu arbeiten und kam leider erst jetzt wieder dazu.

Ich habe die Seite jetzt nochmal überarbeitet, habe mir eine Batch-Datei zugelegt welche die CSS & JS-Files minimiert und zusammen packt, den Cookie-Hinweis eingebaut,einen Slider entfernt und zu guter letzt die statischen Bild-Dateien auf ein CDN ausgelagert.

Roboto hatte ich selbst geschaut - s. EDIT oben. Für solche Prüfungen empfehle ich Dir "Firebug" (Firefox) oder die Entwicklerkonsole in Chrome. Da siehst Du, was los ist für den Seitenaufruf (nur erwähnt, falls Du das nicht eh schon so machst).
Die Schriftart habe ich jetzt einfach runtergeladen und dann per CSS eingebunden.
Jetzt habe ich keine Probleme mehr mit Fehlern bezüglich des Web-Fonts.

Es gibt Tools, die Dir das vorschlagen. Kennst Du diese Seiten mit einem großen Bild auf der Startseite? Die haben dann gern so einen Pfeil, der andeutet, dass man Scrollen soll. So lässt sich das übrigens künstlich beschleunigen, wenn die eigentliche Seite mehr Zeit benötigt. Wie tsseh schon schrieb: Für und Wider gibt es immer. In Deinem Fall: Weiteres DIV davor, CSS als inline in den HEAD und schon ist das erfüllt - den Rest fasst Du gar nicht an. Ob das aussieht? Ehm ... wahrscheinlich nicht.
Die Meldung "above the fold" habe ich aufgegeben.
Klar könnte ich mit inline-css und diversen anderen Tricks die Meldung verschwinden lassen.
Für mich steht aber die Mehrarbeit in keinem Verhältnis zum Mehrwert.
Zumindest bei dieser Seite.
Wie siehst du das? Würdest du dir die Arbeit bei dieser Homepage machen oder nicht?

Für und Wider ... es kommt drauf an, was geslidert wird. So bekomme ich aber bspw. Augenkrebs von Parallax-Seiten ... so ein unnötiger Bullshit ...
Ja, einen Slider habe ich mittlerweile entfernt (den unteren) da ich zugeben muss das dieser 2. Slider einfach unnötig war und das Gesamtbild gestört hat (zuviel Bewegung).
Aber den Slider mit Ken Burns Effekt lasse ich, der gefällt mir.
Ich wollte eigentlich auch nur deine persönlich Meinung zu diesem 1. Slider hören, ob du Ihn als störend empfindest oder nicht.

"ga" steht für "Google Analytics" und Du suchst nur einen optout()-Code. Dieser OptOut-Code platziert - lustiger Weise - einen Cookie in Deinem System, wenn Du den Link dazu geklickt hast. Dieses Cookie sorgt dann dafür, dass Du von GA auf dieser Domain nicht mehr protokolliert wirst. Mehr ist das nicht ... ! Zu programmieren ist das via JavaScript (sofern Du nix findest).
Hier bin ich weiter gekommen.
Ich habe im Internet zum einen Source-Code für den Cookie-Hinweis bekommen (cookies.min.js) und zum anderen habe ich den Source-Code zum Ausschalten des analytics-Tracking gefunden.
Nun habe ich zu Beginn, im HEAD-Bereich folgendes stehen:
Code:
	<script type="text/javascript" charset="UTF-8" src="js/cookies.min.js"></script> 
	
	<script>
		
		var gaProperty = 'UA-26006723-2';
		var disableStr = 'ga-disable-' + gaProperty;

		if (document.cookie.indexOf(disableStr + '=true') > -1) {
		  	window[disableStr] = true;
		}

		function gaOptout() {
		  	document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
		  	window[disableStr] = true;
		}

		window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
		ga('create', 'UA-26006723-2', 'www.trennwand-rink.com');
		ga('require', 'displayfeatures');
		ga('set', 'anonymizeIp', true);
		ga('set', 'anonymizeIp', true);
		ga('send', 'pageview');
		
    </script>
    
    <script async type="text/javascript" charset="UTF-8" src='//www.google-analytics.com/analytics.js'></script>

Ausschalten lässt sich das Tracking dann über einen Link in den Datenschutzbestimmungen.

Hierzu habe ich jetzt aber eine wichtige Frage.
Muss ich den Code oben auf jeder Seite einfügen, oder reicht es den Code nur auf der Startseite zu haben?
Ich denke mal das ich das auf jeder Seite brauche, aber sicher ist sicher, deshalb frage ich nochmal nach.

PS:

Ganz vergessen, ich bin mit der Testseite nach Rink GmbH Wetzlar - seit über 60 Jahren Ihre verlässliche Schreinerei in alle Fragen rund um Trennwände, Schranksysteme und den Möbel- bzw. Innenausbau. umgezogen.
 
Zuletzt bearbeitet:
Zurück
Oben