Mehrsprachigkeit, Sprachkürzel in der URL

  • Hallo zusammen,


    Ich baue gerade eine neue Seite mit J4 die 2-sprachig, deutsch-englisch, sein soll.

    Die Hauptsprache, deutsch, möchte ich ohne Sprachkürzel in der URL, also ohne "/de/"

    In System - Sprachenfilter habe ich hierzu URL-Sprachkürzel entfernen auf Ja gesetzt. Im Ergebnis werden die deutschsprachigen URLs auch korrekt dargestellt.


    Im Menu habe ich nun die Seiten verknüpft und kann ohne Probleme auf Englisch umstellen.

    http://www.web.doeka-kassel.de/kontakt leitet auf http://www.web.doeka-kassel.de/en/contact um - passt.


    Schalte ich nun aber wieder auf deutsch um, ist die URL http://www.web.doeka-kassel.de/de/kontakt - wird entsprechend quittiert mit Fehler 404


    Die Einstellungen sind analag zu meiner Joomla 3 Seite - bis auf irgendwas, was dazu führt das es nicht funktioniert.

    Unter Inhaltssprache wird Deutsch und Englisch angezeigt, das Sprachkürzel ist "de" bzw. "en". Wenn ich "de" bspw. zu "ed" ändere, wird auch die URL so angezeigt - mit dem gleichen Ergebnis, 404. Ganz löschen kann ich das Sprachkürzel hier leider nicht.


    Ansonsten sind die Plugins, Erweiterungen alle aktiviert. Da sehr umfangreich, würde ich Screenshots der Einstellungen gerne bei Bedarf nachreichen.

    Die Anleitungen im Netz habe ich durch, da finde ich nichts.


    Hat jemand eine Idee was ich übersehen haben? htaccess?


    Die URL http://www.web.doeka-kassel.de funktioniert, jedoch wird auf der englischen Seite noch kein Menu angezeigt. Auf der deutschen Seite habe ich im Menu "Kontakt" verknüpft, sonst noch nichts.

  • Was mir sofort auffällt: Warum steht da oben auf der Seite als Text dieses padding: 5px 20px 5px 20px; drin am Anfang vom body?


    Setze mal das englische Menü auf die Seite und verknüpfe die deutschen und englischen Menüpunkte, sofern noch nicht geschehen! Bleibt das Problem?

    Betrifft das Problem alle Menüpunkte?


    Ich habe da selber keinen Vergleich, da ich grundsätzlich nur mit dem de-Sprachkürzel auf mehrsprachigen Seiten arbeite.

  • Mit dem Cassiopeia funktioniert es ohne Probleme.


    Das Problem ist, dass beim Rückschalten auf de der Link /de eingefügt/gesucht wird.

    Das Sprachkürzel ist aber deaktiviert.


    Vielleicht liegt es am Template Fago von JP und/oder am Astroid-Framework.


    Ich werde das mal mit dem Template testen. ;)

  • Erst mal Danke für die Antworten


    Zitat


    Was mir sofort auffällt: Warum steht da oben auf der Seite als Text dieses padding: 5px 20px 5px 20px; drin am Anfang vom body?

    Da habe ich den Bereich von "Before </head>" In Astroid als Zwischenablage benutzt. Ist wieder weg 8)

    Zitat


    Setze mal das englische Menü auf die Seite und verknüpfe die deutschen und englischen Menüpunkte

    Erledigt, das Problem bleibt. Das englische Menu ist noch nicht vollständig, da ich noch nicht alle Kategorien angelegt habe. Ich baue Template und Inhalt kreuz und quer gleichzeitig. Sicher nicht effektiv, besser kann ich´s aber nicht.


    Zitat


    Ich habe da selber keinen Vergleich, da ich grundsätzlich nur mit dem de-Sprachkürzel auf mehrsprachigen Seiten arbeite.

    Wo man munkelt, das wäre nicht SEO. Wobei ich mir aber kaum vorstellen kann, dass das Google nicht als Sprache erkennt und abwerten würde.
    Das Problem für mich wiederum ist, die alte, bzw. noch aktuelle Seite, kommt ohne Kürzel aus und ich müsste das alles wieder umleiten, und das kann ich nicht. Irgendwas mit htaccess, glaube ich.

    Eigentlich wollte ich die ganze Seite in Prestashop umsetzen und habe mich nun doch wieder anders entschlossen, da mit der Shopsoftware zu viele Probleme aufkamen, wie ich den Content platziere. Von daher war ich eigentlich ganz froh, dass ich die Menustruktur mit Joomla beibehalten kann.


    Zitat

    Mit dem Cassiopeia funktioniert es ohne Probleme.

    Bei mir nicht. Hab nochmal auf Casio umgestelt und auch dort wird das Sprachkürzel in die URL eingefügt.

    Zitat


    Vielleicht liegt es am Template Fago von JP

    Das Template ist doch nur das Kleid um die Module drum rum. Verantwortlich für Inhalt und Funktion sind doch die Module, Plugins usw. Oder irre ich da?
    Aber egal, das hab ich ja gerade erst gekauft und "Garantie" drauf, ich schreib die mal an.

  • Wenn ich in der Konfiguration die Suchmaschinen-freundliche URL deaktiviere, funktioniert es. Jetzt weiß ich nur nicht, was ich mit dieser Erkenntnis anfangen soll. Diese "Krumpel-URLs" sind keine Option.


    Um das Thema abzukürzen: Wenn ich das Kürzel nicht entferne wäre die korrekte URL http://example.com/de/meine-url

    Tippe ich jedoch in die Adresszeile des Browsers http://example.com/meine-url (also ohne "de") ein, wird die Seite ebenfalls angezeigt.

    Weitere Links auf der Seite sind dann alle mit "/de/"


    D.h. alle Seiten sind sowohl mit als auch ohne "de" erreichbar und ich müsste nicht einmal Umleitungen einrichten. Ist das korrekt?

    Oder ist Google dann mal wieder vollkommen anderer Meinung, wg. duplicate content?

  • D.h. alle Seiten sind sowohl mit als auch ohne "de" erreichbar und ich müsste nicht einmal Umleitungen einrichten. Ist das korrekt?

    Oder ist Google dann mal wieder vollkommen anderer Meinung, wg. duplicate content?

    Die Seiten sind zwar auch ohne "de" aufrufbar, werden ja aber sofort weitergeleitet zur URL mit "de". Somit ist für Google auch nur die de-Version interessant, welche auch indexiert wird. Ich habe die Erfahrung gemacht, dass die URLs ohne "de" nicht indexiert werden und Google da auch in keinster Weise etwas bemängelt. Wenn Google bisher die URLs ohne "de" indexiert hatte, dann wird dies sehr wahrscheinlich "schleichend" umgestellt.


    Bzgl. der Weiterleitung beziehe ich mich auf J3. Ich gehe davon aus, dass es in J4 genauso ist. So scheinen ja auch deine Erfahrungen zu sein.


    Eine sitemap.xml könnte von Vorteil sein, in der dann auch jeweils eine Standard-URL für Webseitenbesucher angegeben wird, die nicht aus Deutschland oder England stammen, oder deutschsprachig sind. Meist wird für diese en-GB verwendet.

  • Vielleicht gehört es zum Thema: https://github.com/joomla/joomla-cms/issues/35541


    So weit ich durchblicke sollte die PHP-Einstellung

    Code
    request_order

    niemals ein "C" für Cookie enthalten unter Joomla 4.

    Das seien unfähige Hoster, die so was machen (sinngemäßes Zitat). Und grundlegend sei ein Bug-Fix unter Joomla 4 Ursache, dass das in Joomla 3 nie aufgefallen wäre.


    Jetzt macht mich aber skeptisch, dass ein Betroffener schreibt, er sei bei All-Inkl und so weit ich das bei "meinen" Seiten sehe, wird da die Standard-Einstellung seitens PHP verwendet, die nun wieder angeblich "gut" wäre.


    Alles, was ich noch beitragen kann: Bei All-Inkl kann man in einer

    Code
    .user.ini

    eintragen

    Code
    request_order= "GP"

    Ob das nun die Lösung ist, weiß ich nicht, da derzeit keine Mehrsprachenseite unter Joomla 4.

  • EDIT: Jetzt noch was gefunden zu:

    Jetzt macht mich aber skeptisch, dass ein Betroffener schreibt, er sei bei All-Inkl und so weit ich das bei "meinen" Seiten sehe, wird da die Standard-Einstellung seitens PHP verwendet, die nun wieder angeblich "gut" wäre.

    Man sollte auch die Einstellung "variables_order" prüfen, ob die ein "C" enthält (und das tut sie bei All-Inkl: "EGPCS"), was das PHP-Manual nun wieder als sicherheitsbedenklich nennt. Weil, wenn request_order nicht gesetzt wird, verwendet PHP "variables_order" als Fallback.


    [Vom autor gelöscht, da komplette Unsicherheit, ob gute Idee]

  • Nochmals vielen Dank für Eure Hilfe und vor allem Zeit.


    Den Ausführungen von GHSVS kann ich nicht ganz folgen. Das ist mir ehrlich gesagt zu hoch.
    Möchte mir auch nicht schon wieder die Seite abschießen, weil ich irgendwas irgendwo hintippe. Davon hatte ich in den letzten 8 Monaten genug.

    Prestashop ist wesentlich empfindlicher als Joomla, wenn man falsche Einstellungen trifft. Oder Joomla versteckt solche Einstellungen besser vor dem User :)

    Ich mache das zudem auch nicht hauptberuflich, sondern weil es mir, meißtens, Spaß macht - eine Art Hobby.


    Aber der Beitrag auf Github beschreibt genau mein Problem. Und mein Hoster ist all-inkl.com. Wobei, es sind ja auch andere Hoster betroffen, IONOS und Rochen habe ich dazwischen gelesen, sind auch betroffen.


    Ich lasse das Kürzel jetzt in der URL, davon hängt meine Seelenheil wahrlich nicht ab.

    Google bekommt dann eine neue Sitemap vorgesetzt und gut. Sollte es dadurch zu einer Abwertung kommen, dann ist es eben so.


    Ich wünsche Euch allen einen guten Rutsch ins neue Jahr und bleibt gesund!

  • Wobei, es sind ja auch andere Hoster betroffen, IONOS und Rochen habe ich dazwischen gelesen, sind auch betroffen.

    Ionos habe ich gerade eine vor der Nase und da ist die Server-Einstellung ebenso problematisch wie bei All-Inkl. Wenn denn die Vermutungen auf GitHub stimmen.


    Also unter System-Informationen > PHP findet man ein

    Code
    variables_order = EGPCS

    (mit "C") und für

    Code
    request_order = ""

    Jetzt brauchts halt tapfere Helden, die ein

    Code
    request_order = "GP"

    mal ausprobieren ;) Damit meine ich nicht gezielt dich! In Joomla selbst kann man das eh nicht einstellen. Aber wies aussieht, wird Joomla das auch nicht fixen.

  • Vorweg: habe keine Mehrsprachigkeit. Habe aber jetzt bei mir nachgesehen:

    Also unter System-Informationen > PHP findet man ein

    Code
    variables_order = EGPCS

    bei mir steht:

    Code
    variables_order    GPCS    GPCS

    request_order = ""

    Jetzt brauchts halt tapfere Helden, die ein

    Code
    request_order = "GP"

    mal ausprobieren ;)


    bin ich froh, dass ich nicht tapfer sein muss - oder doch? :)


    bei mir steht:

    Code
    request_order    GP    GP

    sieht glaub ich, OK aus.


    OT: Dafür gibt's anderes Hosterproblem, dafür müsste ich aber einen betr. Issue wieder beknupsern ......