PHP Webseiten: So lädt Ihre PHP Seite schneller

PHP Website Geschwindigkeit

Die Ladezeit einer Internetseite wird immer wichtiger. Nicht nur die Suchmaschinen bewerten das Ranking einer Webseite nach dem Pagespeed. Auch Besucher eines Blogs, Shops oder eines anderen Internetangebotes springen in der Regel ab, falls die Seite nicht schnell genug lädt. Die potenzielle Kundschaft wird durch langsame Internetseiten sozusagen in die Flucht geschlagen. Diese Kunden sind nicht selten für immer verloren. Doch das muss nicht sein. Der Ladeprozess einer PHP Webseite kann mit einigen effektiven Mitteln beschleunigt werden. Dabei gibt es zwei Möglichkeiten: Die Website kann durch eine umfangreiche Softwareoptimierung beschleunigt werden. Eine Optimierung kann ebenso serverseitig erfolgen. Lesen Sie in diesem Artikel, welche Möglichkeiten Sie zur Verbesserung Ihres Webangebotes haben.

Die besten Tipps zur Verbesserung von PHP-Webseiten

Ganz gleich, welches System Sie nutzen, sei es TYPO3, Magento, WordPress oder ein anderes auf PHP basierendes Content Management System (CMS). Alle Internetseiten, die auf PHP, MySQL, JavaScript HTML5, CSS3 oder anderen gängigen Skriptsprachen basieren, können mit einfachen Mitteln optimiert werden.

Verkleinerung der Bilder einer Webseite

Internetseiten werden durch das Hinzufügen von Bildern erst lebendig. Daher ist es kein Wunder, dass die meisten Webseiten eine Vielzahl davon enthalten, um Inhalte zu veranschaulichen und dem Nutzer begreifbar zu machen. Doch je mehr Bildelemente eine Webseite enthält, desto länger werden auch die Ladezeiten. Dabei wissen viele Seitenbetreiber nicht, dass zum Teil lediglich 50 Prozent der Bildgröße notwendig ist, um eine scharfe Bildqualität zu erhalten. Größen von 300 Kilobyte und darüber sind keine Seltenheit auf Internetseiten. Das macht sich besonders bei Elementen einer Slideshow bemerkbar, die längere Zeit benötigt, um jede einzelne Datei umständlich zu laden. Darunter leidet nicht selten die Ladezeit des gesamten Internetangebotes. Wichtig ist es daher, bereits bei der Bildbearbeitung auf die Erstellung kleiner Dateien zu achten. Beispielsweise kann für die Speicherung der Images das Format JPG verwendet werden, da hierdurch eine hohe Komprimierungsrate erreicht werden kann. Es ist daneben möglich, die Bilder ‚on the fly‘ zu komprimieren. Beispielsweise durch die Einstellung GZIP in der .htaccess Datei erfolgt die Komprimierung, wenn die Daten vom Server an den Browser gesendet werden.

Cache Methode

Bei diesem Optimierungsverfahren werden einmal geladene Daten für einige Zeit im Cache des Browsers vorgehalten. Von dort werden sie bei einem erneuten Aufruf direkt und schnell geladen, falls in der Zwischenzeit keine Änderung an der Seite erfolgt ist. Bei Änderungen werden die Daten erneut vom Server geladen und wieder im Browsercache vorgehalten. Diese Methode verringert sowohl die Belastung des Servers als auch die Ladezeit der Seite.

Verbesserung von Datenbankabfragen

Die langwierige Weiterverarbeitung von Datenbankabfragen zählt zu einer der Hauptursachen für lange Ladezeiten einer Webseite. Der Grund hierfür kann in zu komplexen Anfragen oder einer unrichtigen oder unvollständigen Tabellenindizierung liegen. Diese Fehler können durch SQL-Regeln, die sperrige Anfragen umschreiben sowie korrekte Indexeinstellungen leicht korrigiert werden. Wichtig ist, falls der Grund für eine langsame Datenbankabfrage nicht ganz klar ist, alle Abfragen zu erfassen, die länger als zwei Sekunden in Anspruch nehmen sowie häufig an die Datenbank gerichtet werden. PHP ist nicht immer optimal eingerichtet. Viele PHP-Skripte haben ein Optimierungspotenzial für Internetseiten. Mittels PHP-Code können MySQL Abfragen so eingerichtet werden, dass sie zwischengespeichert werden. Dann müssen sie nicht immer wieder erneut ausgeführt werden. Das ist einfach beispielsweise mit dem PHP-Befehl ‚memcache‘ umzusetzen. Durch diese Art des Cachings der Datenbank können wiederholt durchgeführte Abfrageprozesse beschleunigt werden. Informationen aus wiederholten Datenbankanforderungen werden, soweit keine Änderungen an den Daten vorliegen schnell aus dem Cache geladen. Die Belastung der Datenbank nimmt dadurch ab, was der Ladezeit der Internetseite zugutekommt.

PHP-Module deaktivieren

In einigen Fällen wird eine zu große Anzahl an PHP Modulen geladen, die einen Server schwerfälliger machen. Häufig können PHP-Erweiterungen abgeschaltet werden. Das kann den Speicherverbrauch von PHP verringern und die Webseite somit beschleunigen. Diese Optimierungsmethode ist jedoch lediglich in den Fällen ratsam, in denen die Erweiterungen nicht vom System benötigt werden.

Eine Liste wichtiger Erweiterungen:

  • curl.ini
  • suhosin.ini
  • mysql.ini
  • mysqli.ini
  • mcrypt.ini
  • xcache.ini
  • gd.ini

Source Code Optimierung

Die Verbesserung des Source Codes ist eine der effektivsten und wichtigsten Mittel, wobei sie gleichzeitig eine der zeitaufwendigsten Methoden ist. Ein gut programmiertes Fundament, in dem sich wenige Fehler befinden, läuft zuverlässig und wickelt alle Operationen in einer schnellen Geschwindigkeit ab. Jeder Entwickler ist sich darüber bewusst, dennoch wird diese Möglichkeit von vielen Programmierern vernachlässigt. Bei der Entwicklung ist es von Vorteil den Quellcode objektorientiert zu erstellen oder in dieser Art und Weise anzupassen. Bei einem solchen System behalten andere Nutzer die Möglichkeit den Code zu verbessern, ohne dass er von Grund auf neu programmiert werden muss. Die gängigen CMS, die am Markt erhältlich sind, verfügen über eine Reihe von Möglichkeiten zur Anpassung des Quellcodes:

JavaScripts am Ende oder asynchron laden

Gerade Javascript-Dateien oder -Bibliotheken haben in einigen Fällen eine große Gewichtung bei der Ladezeit. Diese sollten, wenn es möglich ist, erst zum Schluss geladen werden. Falls das nicht möglich ist, sollten sie zumindest asynchron oder parallel (durch Befehle wie async oder defer) angefordert werden. Dadurch wird erreicht, dass andere Inhalte bereits vollständig geladen sind und erst dann das JavaScript zur Verfügung gestellt wird. Beim asynchron Javascript Loading werden zuerst visuelle Objekte wie Seitenlayouts, Stile, Texte sowie Bilder geladen. Diese machen etwa 90 bis 95 Prozent des gesamten visuellen Inhalts auf der Seite aus. Nach und nach wird JavaScript im Hintergrund geladen. Im Ergebnis erhält der Benutzer den Eindruck, dass alle Inhalte gleichzeitig geladen wurden, da ihm die visuellen Elemente umgehend angezeigt werden.

Diese Methoden sind besonders dann nützlich, wenn Sie auf Ihrer Seite:

  • Google Analytics oder eine ähnliche Software eingebunden haben, welche die Besucherstatistiken von allen Seiten sammelt, auswertet und Ihnen anzeigt.
  • wenn Sie viel JavaScript auf Ihrer Webseite eingebunden haben
  • verschiedene Optionen wie Tasten für Facebook, Twitter, LinkedIn oder andere auf Ihrer Seite anbieten – denn diese verwenden JavaScript

PHP Seiten cachen

PHP selber besitzt keinen Cache. Bei jedem Aufruf der Skripte muss der Code daher neu übersetzt werden. Doch auf dem Markt gibt es Erweiterungen, um dem entgegenzuwirken. Beispielsweise das Modul APC (Alternative PHP Cache) rüstet diese Funktionalität nach. Bei APC handelt es sich um ein Open-Source-Zusatzmodul für PHP. Dieses ermöglicht die beschleunigte Ausführung von PHP-Skripte. Der kompilierte PHP-Code wird zwischengespeichert. Bei einer wiederholten Ausführung wird das zeitraubende Kompilieren vermieden, da der Quelltext aus durch das Modul zur Verfügung gestellt wird. APC kann einfach installiert werden. Die Dokumentation lässt sich im PHP Manual finden.

Korrektur von Scriptfehlern

Mittels eines Online-W3C-Validators kann der Quellcode der Webseite analysiert werden. Es werden dabei alle Fehler anzeigt sowie näher erläutert, die einen Einfluss auf die Ladezeit des Systems haben. Diese Methode ermöglicht es Ihnen, schnell offensichtliche Fehler zu entdecken sowie zu entfernen. Das kann dabei helfen, den Prozess der Ladung der Seite zu beschleunigen. Suchmaschinen erkennen diese Fehler ebenfalls. Nach einer Bereinigung der Fehler wird die Webseite automatisch schneller laden sowie im Ranking steigen.