WordPress Mediathek auf Subdomain auslagern für schnellere Ladezeiten

In diesem Artikel geht es kurz und knapp und die Auslagerung der Bilder-Mediathek in WordPress von der Hauptdomain auf eine Subdomain. Sinn und Zweck dahinter ist die HTTP-Request (Server-Anfragen) niedrig zu halten. Besitzt deine Website viele Bilder? Jedes einzelne erzeugt eine HTTP-Request Anfrage, hier lohnt es sich zu optimieren um die Webseitengeschwindigkeit schneller zu machen. 

1. Subdomain einrichten

Zuerst möchtest du die Subdomain (hier immer https://subdomain.deine-domain.de genannt) erstellen. Da ich aktuell meine Webseiten bei All-Inkl hoste, zeige ich dir beispielhaft, wie es bei All-Inkl funktioniert. Möglicherweise unterscheidet es sich bei deinem Provider. Bei 1und1, Strato und HostEurope könnt ihr die Subdomain jedoch genauso einfach über das KAS (Kunden-Administrationssystem) einrichten. 

 

ALL-INKL.COM - Webhosting Server Hosting Domain Provider

Nach dem Login klickst du auf der linken Seite auf den Reiter "Subdomain"
Klicke auf "Neue Subdomain anlegen"

Wähle einen Prefix (zB. img für images (Bilder)) und wähle deine Hauptdomain aus, für die du die Subdomain einrichten willst.

2. Pfad der Subdomain ermitteln

Nun möchtest du den Pfad dieser gerade angelegten Subdomain auf deinem Server ermitteln. Du brauchst diesen später für Einstellungen in deiner Hauptdomain. Dazu erstellst du eine php-Datei, die nur folgenden Code-Schnipsel enthält.

<? echo dirname(__FILE__); ?>

Diese Datei speicherst du in deinem Hauptverzeichnis der Subdomain (zB. unter dem Namen dir.php) und rufst sie dann über den Browser auf. Dazu hängst du den Namen der Datei an deine Domain: 

https://subdomain.deine-domain.de/dir.php

Den Pfad, der dir auf dieser Seite angezeigt wird kopierst du dir und speicherst ihn ab. Danach löscht du die dir.php wieder von deinem Server!

 

Hier nochmal am Beispiel von All-Inkl:

 

In dem KAS (dort wo du auch deine Subdomain eben angelegt hast) klickst du auf der linken Seite auf FTP

Jetzt meldest du dich in deinem FTP über das Computer-Symbol an. Ein neues Fenster öffnet sich.

Hier wählst du deine Subdomain aus und klickst danach in der Menü-Leiste auf “Neue Datei”. Der Rest ist selbsterklärend: Fürs löschen einen haken an der Datei und auf löschen… solltest du trotzdem noch Fragen zu dem FTP haben gerne unter diesem Artikel kommentieren.

3. Bilder auf Subdomain umziehen

Jetzt möchtest du die Bilder aus der Mediathek deiner Hauptdomain in die der Subdomain bekommen. Dazu gibt es zwei Möglichkeiten: Kopieren oder Verschieben. 

Kopieren hat den Vorteil, dass deine Seite fehlerfrei weiterläuft und du nicht für 10 bis 20 Minuten den Wartungsmodus einschalten musst oder Anzeigefehler in Kauf nehmen musst. Dauert aber auch bei wenigen Bilder gut 20 Minuten und ist damit bei großen Datenmengen fast undenkbar. 

Verschieben hat den Vorteil, dass du keine Wartezeit für das Kopieren opfern musst, weil du die Daten nicht erst downloadest und dann wieder auf der neuen Domain installierst, sondern direkt verschiebst. Du Verschiebst die Datei per Drag and Drop einfach in FileZilla. Wie das funktioniert möchte ich hier nicht erklären. Dazu gibt es genügend Anleitungen im Internet.

Du möchtest den Ordner “Uploads” mit samt seinen Unterordnern in das Hauptverzeichnis deiner Subdomain bekommen. In deiner Hauptdomain findest du diesen unter DEINE-DOMAIN -> wp-content -> uploads. Beachte, dass in deiner Subdomain der Uploads-Ordner zukünftig dann nur unter dem Pfad SUBDOMAIN -> uploads liegt. Also nicht in dem wp-content Verzeichnis, sondern im Hauptverzeichnis. Das wird später noch wichtig.

4. Datenbanken aktualisieren

Egal ob du das Verzeichnis kopiert oder verschoben hast, die folgenden Schritte sind bei beiden identisch. Falls du die Mediathek kopiert hast kannst du sie übrigens nach geraumer Zeit aus der Hauptdomain löschen. Was heißt geraume Zeit? Solange bis Google bemerkt hat, dass deine Mediathek umgezogen ist. Wie lange das ist kann dir nur Google verraten. In etwa wird es ein bis zwei Wochen dauern. 

Deine Bilder liegen nun also auf deiner Subdomain. Jetzt möchtest du deiner Hauptdomain mitteilen, dass sie die Bilder auch von der Subdomain ziehen soll und nicht aus der eigenen Mediathek. Falls du die Bilder ohnehin verschoben und nicht kopiert hast wird dir in diesem Moment auch kein Bild mehr angezeigt. (Die Anzeigefehler von denen ich früher sprach, hast du viele Besucher solltest du also einen Wartungsmodus einschalten.) 

Nun musst du also sämtliche Verlinkungen deiner Hauptdomain auf Bilder ändern. Dazu solltest du im einfachsten Fall das Plugin “Better Search Replace” verwenden. Das ist ohnehin für viele andere Webseiten-Operationen sinnvoll. Es tut genau das was der Name sagt: Es sucht nach Textkombinationen und ersetzt diese mit anderen. In unserem Fall möchten wir die Standard-Verlinkung von WordPress, die auf die eigene Mediathek verweist auf den Link der Mediathek der Subdomain ändern. Trotzdem gibt es auch andere Möglichkeiten zum Beispiel über PHPMyAdmin. Solltest du Elementor (Ein Editor-Plugin) verwenden, musst du hier auch noch Änderungen vornehmen. 

- PHPMyAdmin

Solltest du dein Vorhaben über PHPMyAdmin durchführen wollen, weißt du vermutlich schon fast was du tun musst. Folgenden Befehl gibst du in dem SQL-Befehl-Feld der @@@@_posts Datenbank ein. Dabei steht @@@@ (bei All-Inkl) für einen websitespezifischen Wert wie zB. “f4hcj”.

UPDATE @@@@@_posts SET post_content = REPLACE(post_content, 'https://deine-domain.de/wp-content/uploads/', 'https://subdomain.deine-domain.de/uploads/');

- Better Search Replace

Wesentlich einfach funktioniert das jedoch wie gesagt auch mit dem Plugin Better Search Replace. Du gibst in dem “Suchen nach”- Feld den Beginn jeder Domain auf eine Bilddatei ein. Das ist Folgener: 

http(s)://DEINE-DOMAIN.de/wp-content/uploads/

In dem Feld “Ersetzen durch” gibst du dann die Domain des Verzeichnisses der Subdomain ein. In unserem Fall ist das Folgende Domain: 

http(s)://SUBDOMAIN.DEINE-DOMAIN.de/uploads/

(Achte darauf, dass das (s) bei https nur bei SSL-Verschlüsselten Webseiten hinzugefügt wird. Mehr dazu hier.)

Beachte: Groß- und Kleinschreibung soll ignoriert werden und der Testlauf wird nicht angekreuzt. 

- Elementor

Dieser Abschnitt ist nur relevant wenn du das Plugin “Elementor” installiert hast.

Die Domain in Elementor-Textblöcken wird nämlich über sämtliche Maßnahmen wie PHPMyAdmin oder Better Search Replace nicht geändert. Da sträubt sich Elementor ein wenig. Gut das Elementor ein eigenes “URL ersetzen”-Werkzeug mitbringt. Mit dem klappt gleiches Vorhaben auch in den Elementor-Textblöcken. Du musst also zusätzlich noch unter

WordPress Backend -> Elementor -> Werkzeuge -> URL ersetzen

die gleichen Eingaben wie in Better Search Replace eingeben. 

Einige Links, die in dem Elementor Editor gesetzt werden, werden nicht übernommen. Du musst sie ebenfalls ersetzen.

5. Einstellungen im WordPress-Backend

Nun ist alles neu Verlinkt und mit einem Rechtsklick -> Untersuchen auf ein Bild deiner Subdomain (nur im Chrome Browser) wirst du sehen, dass die Bilder auf deiner Hauptdomain nun also von deiner Subdomain gezogen werden. Also sind wir fertig? Noch nicht ganz: Du möchtest nun noch, dass die Bilder, die in deiner Hauptdomain hochgeladen werden auch in das Verzeichnis der Subdomain gelangen und von dort geladen werden. Dazu benötigst du ein weiteres Plugin: WP Original Media Path

Unter WordPress Backend -> Einstellungen -> WP Original Media Path kommst du zu den Einstellungen des Plugins. Du hakst den “Expert mode” an, denn du bist ja nun Experte und gibst dann in die erste Zeile den ganz am Anfang dieses Artikels kopierten Pfad ein. In das zweite Feld kommt nochmal die URL der Mediathek der Subdomain: 

http(s)://SUBDOMAIN.DEINE-DOMAIN.de/uploads

6. Google informieren

Hast du die Daten aus deiner Hauptdomain verschoben und nicht kopiert möchtest du jetzt noch, dass Google in den Bildersuchen nicht die Bilder deiner Hauptdomain anzeigt, sondern die der Subdomain. Denn sonst gibt es hier auch wieder Anzeigefehler. Du benötigst im einfachsten Fall (es geht auch anders: redirect Befehl in der htacces) wieder ein Plugin: “Redirection

Du möchtest die URL-Quelle der Mediathek der Hauptdomain auf die Subdomain weiterleiten. Dazu gibst du unter URL-Quelle nur Folgendes ein: 

/wp-content/uploads/

Den Beginn der Domain erkennt das Plugin automatisch. Das Ziel ist wieder die Subdomain Mediathek: 

http(s)://SUBDOMAIN.DEINE-DOMAIN.de/uploads

In Google wird nun zwar noch immer das “alte” gecrawlte Bild angezeigt, möchtest du das Bild über die Google Bildersuche jedoch anklicken würde ohne diesen Schritt ein Anzeigefehler entstehen, da das Bild nicht mehr an der ursprünglichen Stelle liegt. Mit diesem Redirect weiß auch Google nun, dass das Bild verschoben ist und kann es richtig anzeigen. 

Kommentare

Noch Fragen oder habe ich etwas unverständlich beschrieben? Schreib es in die Kommentare! Wenn du dich besser auskennst und einen Fehler entdeckt hast, teile es uns bitte mit:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

*

Menü