Seite 1 von 1

Google Speet Test: Avoid multiple page redirects

Verfasst: 15.10.2020, 12:26
von Prian
Hallo,

es geht um die Ladezeit von Webseiten durch Redirects im Google Speedtest, siehe Meldung unten. Wie genau vermeide ich denn Redirects im Sinne von Google? Wenn ich den Redirect von http zu https lösche, habe ich ja entweder 2 Versionen der Website und / oder externe Links mit http funktionieren nicht mehr.


Avoid multiple page redirects
1.11 s
Redirects introduce additional delays before the page can be loaded. Learn more.
URL
Time Spent
http://domain.de
630 ms
https://domain.de
480 ms
https://www.domain.de
0 ms



Danke

Verfasst:
von

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 15.10.2020, 12:36
von Hanzo2012
Es geht nicht darum, sämtliche Redirects zu vermeiden, sondern unnötig viele. In deinem Beispiel: Wenn der Nutzer "http://domain.de" aufruft, wird er zuerst auf "https://domain.de" weitergeleitet und von dort aus auf "https://www.domain.de". Das ist ein Redirect zu viel. Idealerweise würde der Nutzer direkt auf die korrekte URL weitergeleitet und nicht erst über eine Zwischenstation. Alles klar? ;)

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 15.10.2020, 13:57
von Prian
O.k. danke für deine Antwort. Aber wie kann ich das technisch steuern, dass ich direkt auf https://www.domain.de/ redirecte. Ich nutze Wordpress.

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 15.10.2020, 16:50
von staticweb
> Aber wie kann ich das technisch steuern, dass ich direkt auf https://www.domain.de/ redirecte.

Wenn die Links nicht geändert werden, wirst du logischerweise auch die Redirects nicht los.

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 16.10.2020, 11:22
von Prian
O.k. kann ich den Redirect von https://domain.de zu https://www.domain.de/ löschen, oder benötige ich den unbedingt? Oder falls nicht, kann ich alles in einem redirecten? Ich möchte darauf hinaus, dass ich nur einen Redirect benötige.

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 16.10.2020, 12:26
von supervisior
Prian hat geschrieben: 16.10.2020, 11:22 O.k. kann ich den Redirect von https://domain.de zu https://www.domain.de/ löschen, oder benötige ich den unbedingt? Oder falls nicht, kann ich alles in einem redirecten? Ich möchte darauf hinaus, dass ich nur einen Redirect benötige.
Mal eine ganz blöde Frage, wenn Du Deine Seite bei Pagespeed zum Testen einträgst, was tippst Du da in das Eingabefeld? Nur die Domain ohne https://, ohne www.?

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 16.10.2020, 13:16
von Prian
Ja, hatte nur die Domain eingetragen.

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 16.10.2020, 13:20
von supervisior
Prian hat geschrieben: 16.10.2020, 13:16 Ja, hatte nur die Domain eingetragen.
Okay, das klärt schon mal einiges, weil es andernfalls für PageSpeed keinen Grund gegeben hätte die Redirects zu monieren. Von daher besteht für Dich nur bedingter Anlass etwas unternehmen zu müssen. Wenn Du es unabhängig von Pagespeed perfekt haben möchtest, dann poste mal bitte Deine Redirects, die Du hoffentlich in der .htaccess stehen hast?

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 16.10.2020, 13:24
von Prian
O.k stimmt, das war wohl ein gedanklicher Fehler von mir. Bei der Eingabe von https://www.domain.de/ bekomme ich nun deutlich bessere Werte. (82 mobil / 96 desktop)


RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 17.10.2020, 08:07
von supervisior
Prian hat geschrieben: 16.10.2020, 13:24 RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
Das wäre die bessere Variante, wenngleich sich diese noch ein Stück weit optimieren ließe. @HanzoDingenskirchen weiß mehr dazu....

Code: Alles auswählen

  RewriteCond %{SERVER_PORT} !^443$
  RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]  
  RewriteCond %{HTTP_HOST} !^www\.
  RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 17.10.2020, 08:19
von Hanzo2012
Ja, es geht kürzer (immer nur eine einzige Umleitung), indem man die Variable SERVER_PORT (oder alternativ HTTPS) in einem Rutsch mit HTTP_HOST überprüft und weiterleitet, wenn mindestens eines von beidem "falsch" ist:

Code: Alles auswählen

RewriteCond %{SERVER_PORT}:%{HTTP_HOST} !^443:www\.
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]
Alternativ:

Code: Alles auswählen

RewriteCond %{HTTPS}:%{HTTP_HOST} !^on:www\.
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]
Edit: Fehler korrigiert

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 17.10.2020, 13:13
von staticweb
> RewriteCond ${SERVER_PORT}:%{HTTP_HOST} !^443:www\.
> RewriteCond ${HTTPS}:%{HTTP_HOST} !^on:www\.

Ist das denn so korrekt? Müsste vor dem {SERVER_PORT} bzw. {HTTPS} nicht auch ein Prozentzeichen stehen? Das sind doch interne bzw. spezielle Server Variablen und das Dollarzeichen kennzeichnet das Ende des Strings in der Condition! Könnte natürlich sein, dass das Dollarzeichen noch eine Sonderbedeutung (als Variable für eine back reference?) im Teststring hat.

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 17.10.2020, 16:08
von supervisior
staticweb hat geschrieben: 17.10.2020, 13:13 > RewriteCond ${SERVER_PORT}:%{HTTP_HOST} !^443:www\.
> RewriteCond ${HTTPS}:%{HTTP_HOST} !^on:www\.

Ist das denn so korrekt? Müsste vor dem {SERVER_PORT} bzw. {HTTPS} nicht auch ein Prozentzeichen stehen? Das sind doch interne bzw. spezielle Server Variablen und das Dollarzeichen kennzeichnet das Ende des Strings in der Condition! Könnte natürlich sein, dass das Dollarzeichen noch eine Sonderbedeutung (als Variable für eine back reference?) im Teststring hat.
Das hast Du schon richtig erkannt. Da ist unserem Studenten dann doch mal ein eklatanter (Tipp)fehler unterlaufen, den ich aber nicht behalten möchte. :)

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 17.10.2020, 17:05
von Hanzo2012
Student? Schon lange nicht mehr.
Hab's korrigiert, danke. Macht der Gewohnheit mit dem Dollarzeichen ...

Re: Google Speet Test: Avoid multiple page redirects

Verfasst: 13.12.2020, 19:34
von supervisior
Hanzo2012 hat geschrieben: 17.10.2020, 08:19 Ja, es geht kürzer (immer nur eine einzige Umleitung), indem man die Variable SERVER_PORT (oder alternativ HTTPS) in einem Rutsch mit HTTP_HOST überprüft und weiterleitet, wenn mindestens eines von beidem "falsch" ist:

Code: Alles auswählen

RewriteCond %{SERVER_PORT}:%{HTTP_HOST} !^443:www\.
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]
Alternativ:

Code: Alles auswählen

RewriteCond %{HTTPS}:%{HTTP_HOST} !^on:www\.
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]
Edit: Fehler korrigiert
Nur der Vollständigkeit halber weil ich heute drübergesolpert bin. Die Sparversion funktioniert zwar, wird von https://hstspreload.org/ allerdings so nicht akzeptiert, weil die Reihenfolge der Weiterleitung falsch wäre. Es muss/soll immer zuerst auf https weitergeleitet werden, wenn sowohl https und www fehlt.