Contao-Camp 2024
Ergebnis 1 bis 28 von 28

Thema: Sprachen-Fallback mit 301 (Permanente Weiterleitung) statt 302

  1. #1
    Contao-Nutzer
    Registriert seit
    27.05.2015.
    Beiträge
    12

    Frage Sprachen-Fallback mit 301 (Permanente Weiterleitung) statt 302

    Hallo,

    ich habe schon eine ganze Weile gegooglet, bin aber nicht fündig geworden. Darum wende ich mich vertrauensvoll an die Contao-Experten.

    Ich habe eine Webseite mit nur einer Sprache (Englisch), die aber einen Sprachenanhang in der Domain enthält (/en) und deren Startpunkt als Fallback eingestellt ist. Beides, falls später weitere Sprachen hinzugefügt werden.

    Nun leitet der Fallback die Standardseite natürlich auf /en um, was ja auch richtig ist. Nur tut er das mit einem 302 (Temporäre Weiterleitung). Wegen Google und SEO hätte ich das aber gern mit einem 301 (Permanente Weiterleitung).

    .htaccess ist keine Option, es soll im Backend realisiert werden. Hat jemand eine Idee, wie sich das umsetzen lässt?

    Ich habe bislang leider nichts dazu gefunden. Meine Idee wäre, eine zweite Webseite zu erstellen und dort mit Hilfe des Plugins "changelanguage" die Home-Seite der einen direkt auf die englische Seite umzuleiten. Allerdings befürchte ich, dass er mir dann auch bloß einen 302 generiert.

    Für hilfreiche Antworten wäre ich sehr dankbar.

  2. #2
    Contao-Fan
    Registriert seit
    27.06.2012.
    Beiträge
    600

    Standard

    hi, ich denke in der aktuellen version wird eine 301 weiterleitubg verwendet. welche version verwendest du genau?

  3. #3
    Contao-Nutzer
    Registriert seit
    27.05.2015.
    Beiträge
    12

    Standard

    hey, danke für die Antwort! Ich verwende Version 3.0.3. Ein Update ist derzeit schwierig (ist eine Firmen-Webseite), aber ich probiere das mal auf einer anderen Domain aus, danke für den ersten Tipp.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Ein Update auf 3.2.20 wäre auch aus Sicherheitsgründen zu empfehlen.

  5. #5
    Contao-Nutzer
    Registriert seit
    27.05.2015.
    Beiträge
    12

    Beitrag

    danke - das weiß ich, aber das ist grad eigentlich nicht das Thema.

  6. #6
    Contao-Nutzer
    Registriert seit
    27.05.2015.
    Beiträge
    12

    Beitrag

    Zitat Zitat von valentin_ Beitrag anzeigen
    hi, ich denke in der aktuellen version wird eine 301 weiterleitubg verwendet. welche version verwendest du genau?
    hallo Valentin, das hat tatsächlich funktioniert - in Version 3.4.5 wird beim Sprachen-Fallback offenbar ein 301 verwendet. Danke Dir!

  7. #7
    Contao-Nutzer
    Registriert seit
    09.08.2017.
    Beiträge
    11

    Standard

    Zitat Zitat von karumba Beitrag anzeigen
    in Version 3.4.5 wird beim Sprachen-Fallback offenbar ein 301 verwendet.
    Auch wenn ich hier einen alten Thread aufwärmen muss: Ist dem tatsächlich so? Ich verwende aktuell Contao 3.5.28 und habe dasselbe Problem: meine Sprachen-Subdomain (/*.nl) wird, so wie auch /body und die /*.de (!?) per 302 weitergeleitet. Nicht in der htaccess, sondern irgendwo im Backend. Das führt seit Wochen zu dem Problem, dass (Haupt!) Seiten laufend indexiert und wieder deindexiert werden.

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Sowohl in Contao 4 als auch in Contao 3 wird von example.org auf example.org/en per 301 weitergeleitet.

    Außer du verwendest die Einstellung doNotRedirectEmpty in deiner localconfig.php - dann könnte evt. ein 302 redirect erfolgen.

  9. #9
    Contao-Nutzer
    Registriert seit
    12.11.2012.
    Beiträge
    41

    Standard

    Wir haben eine Contao 3 Seite mit changelanguage 3.1.9: https://frank-enterprise.com
    Hier erfolgt der Redirect mit 301.

    Auf einer Contao 4 Seite mit, ebenfalls mit changelanguage 3.1.9 https://piranha-divers.jp erfolgt der Redirect mit 302.
    doNotRedirectEmpty in der localconfig.php ist dort nicht aktiv.

    Das muss dringend zu 301 geändert werden, da Google das sonst als Duplicate Content einstuft. Wie kann man das ändern?

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von edge Beitrag anzeigen
    Auf einer Contao 4 Seite mit, ebenfalls mit changelanguage 3.1.9 https://piranha-divers.jp erfolgt der Redirect mit 302.
    doNotRedirectEmpty in der localconfig.php ist dort nicht aktiv.
    Ich kann das in keiner Installation bestätigen. Weder in Contao 4.4.18 noch in Contao 4.5.8. Der Redirect ist immer ein 301er.



    Zitat Zitat von edge Beitrag anzeigen
    Das muss dringend zu 301 geändert werden, da Google das sonst als Duplicate Content einstuft.
    Wie stellst du dir das vor? Es gibt unter https://piranha-divers.jp/ keinen Inhalt. Und "Duplicate Content" ist nur über mehrere Domains hinweg ein Problem.

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von edge Beitrag anzeigen
    Auf einer Contao 4 Seite mit, ebenfalls mit changelanguage 3.1.9 https://piranha-divers.jp erfolgt der Redirect mit 302.
    doNotRedirectEmpty in der localconfig.php ist dort nicht aktiv.
    Du scheinst ein ungewöhnliches Setup zu verwenden. Anscheinend verwendest du nicht
    Code:
    contao:
        prepend_locale: true
    und der Alias deiner englischen Startseite bspw. lautet "en". In dem Fall wird ein 302 Redirect gemacht.

  12. #12
    Contao-Nutzer
    Registriert seit
    12.11.2012.
    Beiträge
    41

    Standard

    prepend_locale: true war in der Tat falsch bzw. nicht in der parameters.yml hinterlegt. Zudem hatten wir Ordner-URLs aktiviert. Das Redirect auf der Startseite erfolgt nun mit 301. Danke!!!

    Die ursprüngiche Seite war nicht mit Contao erstellt und die https://piranha-divers.jp/ war die Startseite der englischen Version und liegt so aktuell noch im Google-Index. Mit der 301 auf https://piranha-divers.jp/en sollte das aber nun kein Problem mehr sein.

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Verstehe

  14. #14
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Verstehe
    Ich bin ratlos, habe das gleiche Problem, ich verstehe nicht, wieso contao eine 302 macht?
    https://community.contao.org/de/show...-de-ausgegeben

    Also von mir aus, können wir die Startseite auch mit /de/ ausgeben lassen, aber die 302 muss weg.

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Warum muss die 302 weg? Es muss 302 sein.
    » sponsor me via GitHub or PayPal or Revolut

  16. #16
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Warum muss die 302 weg? Es muss 302 sein.
    Verstehe ich nicht, der gesamte Rank geht doch verloren? Jedes SEO Tool meckert. Oder bin ich auf dem Holzweg? Ursprünglich wollte ich erreichen, dass ich die Startseite ohne /de/ ausgeben lassen kann.

    @Spooky: ja du hast Recht, natürlich muss eine 302 sein, sorry. Aber ich meine, dass es besser wären, wenn ich /de/ auf / umleiten könnte, das bekomme ich nicht hin.
    Geändert von Potti2012 (22.12.2022 um 16:54 Uhr)

  17. #17
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Potti2012 Beitrag anzeigen
    Oder bin ich auf dem Holzweg? Ursprünglich wollte ich erreichen, dass ich die Startseite ohne /de/ ausgeben lassen kann.
    Das geht in Contao nicht* (von Haus aus).

    Was du jedoch ab Contao 4.13 machen kannst ist, dass du den gesamten deutschen Seitenbaum ohne Präfix konfigurierst (wenn du Legacy Routing deaktivierst). Dann hättest du URLs wie:



    * je nach Anwendungsfall
    Geändert von Spooky (22.12.2022 um 17:03 Uhr)
    » sponsor me via GitHub or PayPal or Revolut

  18. #18
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das geht in Contao nicht*.

    Was du jedoch ab Contao 4.13 machen kannst ist, dass du den gesamten deutschen Seitenbaum ohne Präfix konfigurierst (wenn du Legacy Routing deaktivierst). Dann hättest du URLs wie:



    * je nach Anwendungsfall

    @Spooky, ok, das wusste ich nicht, danke dir auf jeden Fall. Ja, das oben habe ich gelesen und verstanden. Ich habe nur DE als Sprache, diese sollte dann auch in der url stehen. Aber das mit der Startseite ist wirklich doof.

  19. #19
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das geht in Contao nicht* (von Haus aus).

    Was du jedoch ab Contao 4.13 machen kannst ist, dass du den gesamten deutschen Seitenbaum ohne Präfix konfigurierst (wenn du Legacy Routing deaktivierst). Dann hättest du URLs wie:



    * je nach Anwendungsfall
    * von Haus aus nicht, aber kann ich das nicht über htaccess steuern?

    Leider meckert dann der Browser, dass zu oft weitergeleitet wird.

    Versucht habe ich es wie folgt:

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

    Mein Problem ist, dass ich die Startseite nur www.domain.de/de/ aufrufen kann. Ich möchte aber, dass die Startseite so aufrufbar ist: www.domain.de -->
    Wenn ich jetzt noch zusätzlich eine Weiterleitung anlegen:

    RedirectMatch 301 ^/de/$ / (das sollte ja richtig sein, oder?)

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Potti2012 Beitrag anzeigen
    @Spooky, ok, das wusste ich nicht, danke dir auf jeden Fall. Ja, das oben habe ich gelesen und verstanden. Ich habe nur DE als Sprache, diese sollte dann auch in der url stehen. Aber das mit der Startseite ist wirklich doof.
    Wenn du nur eine Sprache hast, dann kannst du "de/" ja genau so gut in den Seitenalias schreiben. Das geht in jeder Variation in jeder Contao Version (solange du Ordner URLs aktiviert hast).

    Davon abgesehen: warum willst du das überhaupt machen?
    » sponsor me via GitHub or PayPal or Revolut

  21. #21
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wenn du nur eine Sprache hast, dann kannst du "de/" ja genau so gut in den Seitenalias schreiben. Das geht in jeder Variation in jeder Contao Version (solange du Ordner URLs aktiviert hast).

    Davon abgesehen: warum willst du das überhaupt machen?
    @Spooky: jetzt bin ich verwirrt, contao fügt doch, wenn ich unter Seitenstruktur DE eingebe, was ein Pflichtfeld ist, automatisch DE zur url dazu? Ich kann es ja gar nicht mehr weglassen? Von mir aus, kann es auch ganz weg sein. Aber per default ist es doch da? Wie sollte ich es wegbekommen?

  22. #22
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein per default ist das nicht da.
    Welche Contao-Version ist das bei Dir?

    Nachtrag:
    Ist bei Dir wahrscheinlich dann entsprechend eingestellt in der config.yml
    https://docs.contao.org/manual/de/la...en/#body-inner
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  23. #23
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Nein per default ist das nicht da.
    Welche Contao-Version ist das bei Dir?

    4.9

  24. #24
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Schau mal in die config.yml siehe meinen Nachtrag oben
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  25. #25
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Schau mal in die config.yml siehe meinen Nachtrag oben

    Du meinst in der parameters.yml?

    da stand vorher true, habe es nun auf false geändert: prepend_locale: false

    in der config.yml steht nur

    contao:
    url_suffix: "/"

  26. #26
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das prepend_locale gehörte m.E. noch nie in die parameters.yml sondern immer in die config.yml. So steht es auch in der Doku.
    Da prepend_locale: false Standard ist braucht das dann auch nicht in der config.yml zu stehen.
    Für alle Änderungen an den Konfigurationsdateien gilt: Prod.-Cache löschen, damit es wirksam wird. Das steht aber auch im oben verlinkten Abschnitt der Doku.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  27. #27
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Potti2012 Beitrag anzeigen
    @Spooky: jetzt bin ich verwirrt, contao fügt doch, wenn ich unter Seitenstruktur DE eingebe, was ein Pflichtfeld ist, automatisch DE zur url dazu?
    Nein, nur wenn du das so eingestellt hast.


    Zitat Zitat von Potti2012 Beitrag anzeigen
    Aber per default ist es doch da? Wie sollte ich es wegbekommen?
    PHP-Code:
    # config/config.yaml
    contao:
        
    prepend_localefalse 
    Oder diese Einstellung entfernen, weil der Default ist ohnehin false. Oder wenn du schon auf Contao 4.13 bist und Legacy Routing deaktiviert hast, dann einfach in den Einstellungen des Website Roots.
    » sponsor me via GitHub or PayPal or Revolut

  28. #28
    Contao-Nutzer
    Registriert seit
    22.08.2012.
    Beiträge
    81

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Das prepend_locale gehörte m.E. noch nie in die parameters.yml sondern immer in die config.yml. So steht es auch in der Doku.
    Da prepend_locale: false Standard ist braucht das dann auch nicht in der config.yml zu stehen.
    Für alle Änderungen an den Konfigurationsdateien gilt: Prod.-Cache löschen, damit es wirksam wird. Das steht aber auch im oben verlinkten Abschnitt der Doku.
    Vielen Dank für die Hilfe, es hat nun funktioniert, die Community hier ist wirklich toll!

    - - - Aktualisiert - - -

    Zitat Zitat von Potti2012 Beitrag anzeigen
    Vielen Dank für die Hilfe, es hat nun funktioniert, die Community hier ist wirklich toll!

    DANKE für alles!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •