Contao für Google Page Speed optimieren

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • contao.org
    Newsbot
    • 17.06.2009
    • 899

    #1

    Contao für Google Page Speed optimieren

    Spätestens seit Google angekündigt hat, dass die Geschwindigkeit einer Webseite eines der Kriterien für ihren Page Rank ist, achten die Leute verstärkt darauf, Ihre Seiten diesbezüglich zu optimieren. Dieser Artikel zeigt, wie sich Contao "tunen" lässt, um einen hohen Page Speed Score zu erhalten.

    Ganzen Beitrag zu 'Contao für Google Page Speed optimieren' lesen
  • Kahmoon
    Contao-Urgestein
    • 22.06.2009
    • 5301

    #2
    Danke für dieses ausführliche Tutorial. Ich versuche gerade den Subdomains "Hack" umzusetzen. Nur verstehe ich nicht wo ich diesen Hook einbauen muss. Hab ich noch nie gemacht. Wäre dankbar für einen Hinweis.

    Edit:
    Glaub hier werde ich geholfen oder? Versteh ich nur noch nicht so ganz


    Gruß
    Frank
    Zuletzt geändert von Kahmoon; 08.08.2010, 00:15.
    VG Frank

    mediastuff.de - Webdesign, SEO und SEA

    Kommentar

    • Kahmoon
      Contao-Urgestein
      • 22.06.2009
      • 5301

      #3
      Niemand eine Idee?
      VG Frank

      mediastuff.de - Webdesign, SEO und SEA

      Kommentar

      • BugBuster
        Wandelndes Contao-Lexikon
        • 15.06.2009
        • 10679

        #4
        Steht doch eigendlich alles dort...
        Im Prinzip macht man ein kleines Modul draus.

        /system/modules/subdomainhack/config/config.php
        darin:
        PHP-Code:
        <?php
        $GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] = array('MySubdomainHack', 'addStaticUrl');
        ?>
        /system/modules/subdomainhack/MySubdomainHack.php
        PHP-Code:
        <?php
        class MySubdomainHack
        {
            public function addStaticUrl($strText,$strTemplate)
            {
                //weiter wie im Artikel...
               //die Domain URLs natürlich anpassen 
            }
        
        }
        
        ?>
        Habs nicht getestet, von daher, probier mal
        Zuletzt geändert von BugBuster; 08.08.2010, 17:31. Grund: Source Code korrigiert
        Grüße, BugBuster
        "view source" is your guide.
        Danke an alle Amazon Wunschlisten Erfüller

        Kommentar

        • BugBuster
          Wandelndes Contao-Lexikon
          • 15.06.2009
          • 10679

          #5
          Internal Server Error

          Ich bekomme bei der neuen htaccess diese Meldung:
          Code:
          [alert] [client 192.168.x.y] /var/www/typolight-trunk/.htaccess: ExpiresActive not allowed here
          Da muss ich doch bestimmt noch was in der vhost einstellen, oder?

          Nachtrag
          Habe die vhost erweitert um das Recht Indexes:
          Code:
          AllowOverride FileInfo Indexes
          Zuletzt geändert von BugBuster; 08.08.2010, 15:28.
          Grüße, BugBuster
          "view source" is your guide.
          Danke an alle Amazon Wunschlisten Erfüller

          Kommentar

          • Kahmoon
            Contao-Urgestein
            • 22.06.2009
            • 5301

            #6
            Zitat von BugBuster Beitrag anzeigen
            Steht doch eigendlich alles dort...
            Im Prinzip macht man ein kleines Modul draus.

            /system/modules/subdomainhack/config/config.php
            darin:
            PHP-Code:
            <?php
            $GLOBALS['TL_HOOKS']['outputFrontendTemplate'][] = array('MySubdomainHack', 'addStaticUrl');
            ?>
            /system/modules/subdomainhack/MySubdomainHack.php
            PHP-Code:
            <?php
            class MySubdomainHack
            {
                public funtion addStaticUrl($strText,$strTemplate)
                {
                    //weiter wie im Artikel...
                   //die Domain URLs natürlich anpassen 
                }
            
            }
            Habs nicht getestet, von daher, probier mal
            Wusst ich nicht das man es so macht. Daher hab ich ja gefragt wie die Sache mit Hooks funktioniert

            Danke für die Info. Hab jetzt mal diese 2 Dateien erstellt und in den Modulordner geladen. Schmeisst aber einen Fehler . Das fehlende "c" bei function hab ich schon ausgebessert....

            Gruß
            Zuletzt geändert von Kahmoon; 08.08.2010, 15:56.
            VG Frank

            mediastuff.de - Webdesign, SEO und SEA

            Kommentar

            • rantanplan1304
              Gesperrt
              • 22.11.2009
              • 188

              #7
              Super Artikel! - einfach nur Top!

              Die Subdomains in Contao nutzen

              Dieser Teil ist tatsächlich der Knackpunkt unseres kleinen "Hacks". Auf contao.org habe ich das Problem durch das Hinzufügen eines einfachen Output-Filters gelöst, der den outputFrontendTemplate-Hook verwendet.

              Sollte sich die Maßnahme bewähren, werden wir sie eventuell als Feature in Contao 2.10 hinzufügen.
              ... dann gedulde ich mich noch und freue mich einfach auf Integration in einer der neuen Versionen.

              Gruß,
              Claudio.
              Zuletzt geändert von rantanplan1304; 08.08.2010, 16:12.

              Kommentar

              • jan.theofel
                Contao-Urgestein
                • 23.06.2009
                • 1857

                #8
                Hi,

                Zitat von Kahmoon Beitrag anzeigen
                Danke für die Info. Hab jetzt mal diese 2 Dateien erstellt und in den Modulordner geladen. Schmeisst aber einen Fehler . Das fehlende "c" bei function hab ich schon ausgebessert....
                Was für einen Fehler bekommst du denn?

                Ggf. könnte es reichen, wenn du die system/modules/subdomainhack/MySubdomainHack.php mit einem ?> abschließt?

                Jan
                Jan Theofel
                Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

                Kommentar

                • BugBuster
                  Wandelndes Contao-Lexikon
                  • 15.06.2009
                  • 10679

                  #9
                  Eventuell muss die Class von Frontend erben, probier mal:
                  Code:
                  class MySubdomainHack extends Frontend
                  Ansonsten wäre die Fehlermeldung hilfreich.
                  Grüße, BugBuster
                  "view source" is your guide.
                  Danke an alle Amazon Wunschlisten Erfüller

                  Kommentar

                  • FloB
                    Contao-Urgestein
                    • 19.06.2009
                    • 1618

                    #10
                    Warum sollten denn /tl_files, /system und /plugins je separate Subdomains bekommen? Reicht da nicht eine?
                    So long,
                    FloB since Nov. 2007 +706P +115P and counting

                    Kommentar

                    • redbecks
                      Contao-Nutzer
                      • 19.06.2009
                      • 81

                      #11
                      wow... einige unterseiten habe ich vom page speed score 52 auf 90 optimieren können. ich habe ein neues tool lieben gelernt...

                      anfangs hatte ich auch probleme, den hook einzubauen, doch mit der anleitung hier, hat es dann sofort geklappt.

                      probleme gab es bei mir als ich in der .htaccess den teil mit der 404 weiterleitung eingebaut habe. da 1und1 noch ein etwas älteren apache laufen hat, habe ich immer eine 500er meldung bekommen. die lösung ist folgende:

                      RewriteRule .* - [R=404,L]
                      durch z.B. folgendes ersetzen
                      RewriteRule ^/foo /nonexistant [L]

                      alte apache server haben schwirigkeiten 404 meldungen direkt auszugeben. wenn man aber auf eine nicht existierende datei weiterleitet welche auf eine 404 führt, funktioniert es auch (soweit ich herausgefunden habe, ist dies auch suchmaschinen geeignet).

                      Vielen Dank für den super Blog Beitrag!

                      Kommentar

                      • xchs
                        Administrator
                        • 19.06.2009
                        • 14682

                        #12
                        Zitat von FloB Beitrag anzeigen
                        Warum sollten denn /tl_files, /system und /plugins je separate Subdomains bekommen? Reicht da nicht eine?
                        Empirische Tests haben ergeben, dass man statische Ressourcen von 1 bis max. 3 Subdomains laden kann, um dabei die Möglichkeiten moderner Webbrowser (parellele Downloads durch gleichzeitig aktive Verbindungen) optimal auszunützen. Übersteigt die Anzahl der Verbindungen zu verschiedenen Subdomains eine bestimmte Schwelle (~2-3), dann ist der DNS-Overhead für das Auflösen dieser Domains wieder eine Performance-Nachteil...
                        Contao Community Administrator

                        [Unterstützungsmöglichkeiten]
                        sigpic

                        Kommentar

                        • FloB
                          Contao-Urgestein
                          • 19.06.2009
                          • 1618

                          #13
                          Zitat von xchs Beitrag anzeigen
                          Empirische Tests haben ergeben, dass man statische Ressourcen von 1 bis max. 3 Subdomains laden kann, um dabei die Möglichkeiten moderner Webbrowser (parellele Downloads durch gleichzeitig aktive Verbindungen) optimal auszunützen. Übersteigt die Anzahl der Verbindungen zu verschiedenen Subdomains eine bestimmte Schwelle (~2-3), dann ist der DNS-Overhead für das Auflösen dieser Domains wieder eine Performance-Nachteil...
                          Also reicht auch eine oder zwei Subdomains
                          So long,
                          FloB since Nov. 2007 +706P +115P and counting

                          Kommentar

                          • redbecks
                            Contao-Nutzer
                            • 19.06.2009
                            • 81

                            #14
                            Zitat von FloB Beitrag anzeigen
                            Also reicht auch eine oder zwei Subdomains
                            also bei mit habe ich ohne subdomain ein score von 80 mit einer subdomain ein score von 83 mit zwei ein score von 89 und mit drei habe einen score von 90

                            demnach würde ich 2-3 subdomains schon einsetzen.

                            Kommentar

                            • SunBlack
                              Contao-Fan
                              • 19.06.2009
                              • 385

                              #15
                              @redbecks: Wie kannst du das bei 1und1 reproduzieren? Ich konnte bei meinem 1und1-Account ersteinmal keine Probleme feststellen.

                              Was mir nur auffällt:

                              Mit dieser .htaccess erhalte ich 91/100:
                              PHP-Code:
                              AddType x-mapp-php5 .php
                              
                              ##
                              # Rewrite base
                              ##
                              RewriteEngine On
                              RewriteBase /
                              
                              ##
                              # Block malicious requests
                              ##
                              RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC,OR]
                              RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]
                              RewriteRule .* - [F,L]
                              
                              ##
                              # Compress .js and .css files
                              ##
                              AddEncoding gzip .gz
                              <FilesMatch "\.js\.gz$">
                                AddType "text/javascript" .gz
                              </FilesMatch>
                              <FilesMatch "\.css\.gz$">
                                AddType "text/css" .gz
                              </FilesMatch>
                              RewriteCond %{HTTP:Accept-encoding} gzip
                              RewriteCond %{REQUEST_FILENAME} \.(js|css)$
                              RewriteCond %{REQUEST_FILENAME}.gz -f
                              RewriteRule ^(.*)$ $1.gz [QSA,L]
                              
                              ##
                              # Rewrite TYPOlight URLs
                              ##
                              RewriteCond %{REQUEST_FILENAME} !-f
                              RewriteCond %{REQUEST_FILENAME} !-d
                              RewriteRule .*\.html$ index.php [L] 
                              
                              Mit der neuen dagegen nur 87/100:
                              PHP-Code:
                              AddType x-mapp-php5 .php
                              
                              ##
                              # Contao Open Source CMS
                              # Copyright (C) 2005-2010 Leo Feyer
                              #
                              # Formerly known as TYPOlight Open Source CMS.
                              #
                              # This program is free software: you can redistribute it and/or
                              # modify it under the terms of the GNU Lesser General Public
                              # License as published by the Free Software Foundation, either
                              # version 3 of the License, or (at your option) any later version.
                              # 
                              # This program is distributed in the hope that it will be useful,
                              # but WITHOUT ANY WARRANTY; without even the implied warranty of
                              # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
                              # Lesser General Public License for more details.
                              # 
                              # You should have received a copy of the GNU Lesser General Public
                              # License along with this program. If not, please visit the Free
                              # Software Foundation website at <http://www.gnu.org/licenses/>.
                              #
                              # PHP version 5
                              # @copyright  Leo Feyer 2005-2010
                              # @author     Leo Feyer <http://www.contao.org>
                              # @license    LGPL
                              ##
                              
                              <IfModule mod_deflate.c>
                              
                                ##
                                # Use mod_deflate to compress JavaScript, CSS and XML files. Do not add
                                # PHP and HTML files, because those have already been compressed by Contao.
                                ##
                                <FilesMatch "\.(css|js|xml)$">
                                  SetOutputFilter DEFLATE
                                </FilesMatch>
                              
                              </IfModule>
                              
                              <IfModule mod_headers.c>
                              
                                ##
                                # Add a Vary Accept-Encoding header for the compressed resources. If you
                                # modify the file types above, make sure to change them here accordingly.
                                ##
                                <FilesMatch "\.(js|css|xml|gz)$">
                                  Header append Vary Accept-Encoding
                                </FilesMatch>
                              
                              </IfModule>
                              
                              <IfModule mod_expires.c>
                                ExpiresActive On
                              
                                ##
                                # Specify an expiration one week in the future for images, JavaScripts and
                                # CSS files (as recommended by Google Page Speed). Edit or remove the lines
                                # to set up your own expiration logic.
                                ##
                                ExpiresByType image/png A604800
                                ExpiresByType image/gif A604800
                                ExpiresByType image/jpg A604800
                                ExpiresByType image/jpeg A604800
                                ExpiresByType text/javascript A604800
                                ExpiresByType application/x-javascript A604800
                                ExpiresByType text/css A604800
                              
                              </IfModule>
                              
                              <IfModule mod_rewrite.c>
                                RewriteEngine On
                              
                                ##
                                # Set the RewriteBase if your Contao installation is in a subdirectoy and
                                # the rewrite rules are not working properly. Usage examples:
                                #
                                #   RewriteBase /contao-2.9.0
                                #   RewriteBase /path/to/contao
                                #
                                # Uncomment the following line to set the RewriteBase.
                                ##
                                RewriteBase /
                              
                                ##
                                # Contao usually does not pass absolute URLs via GET, therefore the
                                # following rules block all requests that try to pass a URL or the /etc/
                                # directory as parameter (malicious requests).
                                ##
                                RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC,OR]
                                RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]
                                RewriteRule .* - [F,L]
                              
                                ##
                                # Uncomment the following lines and replace "domain.com" with your domain
                                # name to redirect requests without "www" to the correct domain. 
                                ##
                                #RewriteCond %{HTTP_HOST} ^domain\.com [NC]
                                #RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
                              
                                ##
                                # Do not rewrite requests for static files or folders such as style sheets,
                                # images, movies or text documents.
                                ##
                                RewriteCond %{REQUEST_FILENAME} !-f
                                RewriteCond %{REQUEST_FILENAME} !-d
                              
                                ##
                                # By default, Contao adds ".html" to the generated URLs to simulate static
                                # HTML documents. If you change the URL suffix in the back end settings, make
                                # sure to change it here accordingly!
                                #
                                #   RewriteRule .*\.html$ index.php [L]   # URL suffix .html
                                #   RewriteRule .* index.php [L]          # No URL suffix
                                #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt
                                #
                                # If you are using mod_cache, it is recommended to use the RewriteRule below,
                                # which adds the query string to the internal URL:
                                # 
                                #   RewriteRule (.*\.html)$ index.php/$1 [L]
                                #
                                # Note that not all environments support mod_rewrite and mod_cache!
                                ##
                                RewriteRule .*\.html$ index.php [L]
                              
                              </IfModule> 
                              
                              Bei letzterem kommt der Hinweis: "Enable Compression" hinzu.

                              Kommentar

                              Lädt...