Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Third Party Plugins to CMSimple - how to install, use and create plugins

Moderator: Tata

Post Reply
Michael_G
Posts: 70
Joined: Thu Feb 18, 2016 11:01 pm

Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by Michael_G » Tue Jul 21, 2020 3:37 pm

Hallo Christoph, hallo allerseits,

ich nutze seit Jahren Polyglott und nun hatte ich mich entschieden, eine meiner .eu-Domains für die Zweitsprache englisch direkt parallel zur .de-Domain im gleichen Webspace zu nutzen.
Also von beiden Domains (Zielgruppen) wird der gleiche Content erreicht.
Vorher hatte ich alle anderen Domains auf die eine .de-Domain umgeleitet.

Hintergrund:
Habe mich genauer über hreflang informiert und für Google ist es keineswegs Duplikate Content (DC), wenn der Content der zweiten Domain oder generell zweiten Seite quasi identisch, aber eine Übersetzung ist.

Vorschlag an die Plugin-Programmierer für Polyglott und Sitemapper:

Damit eine zweite Domain für die Zweitsprache berücksichtigt werden kann, wäre es schön, wenn man diese bei Bedarf angeben kann.

Und weil auch die Sitemap zum Einreichen bei Google entweder die Zweitsprache hreflang=en haben oder zumindest als Alternative (weder de noch en) dienen soll, wäre auch die Anpassung des Sitemappers super.

Ein Traum wäre es, wenn CMSimple_XH vielleicht durch Anpassung von Polyglott mit kleiner Anpassung sogar richtig multi-domain-fähig würde.
Also wenn im Admin-Menü unter Einstellungen die beiden Domains angegeben werden könnten.

Dann wäre CMSimple_XH das erste Flatfile-System mit dieser Eigenschaft und das erste überhaupt, welches das simpel hinbekommt.

Vielleicht ist das für Version 2.0 planbar?

olape, Du hattest in einem Beitrag mal erwähnt, dass Du Polyglott modifiziert hast.
Geht das in diese Richtung?
Ciao
Michael

olape
Posts: 1193
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by olape » Wed Jul 22, 2020 1:26 pm

Michael_G wrote:
Tue Jul 21, 2020 3:37 pm
Habe mich genauer über hreflang informiert und für Google ist es keineswegs Duplikate Content (DC), wenn der Content der zweiten Domain oder generell zweiten Seite quasi identisch, aber eine Übersetzung ist.
Nein, warum auch, denn das würde fast alle Sites mit Mehrsprachigkeit betreffen.

Michael_G wrote:
Tue Jul 21, 2020 3:37 pm
Und weil auch die Sitemap zum Einreichen bei Google entweder die Zweitsprache hreflang=en haben oder zumindest als Alternative (weder de noch en) dienen soll, wäre auch die Anpassung des Sitemappers super.
Hier bin ich nicht sicher, ob ich dir folgen kann. :cry:

Michael_G wrote:
Tue Jul 21, 2020 3:37 pm
olape, Du hattest in einem Beitrag mal erwähnt, dass Du Polyglott modifiziert hast.
Geht das in diese Richtung?
Und auch hier weiß ich jetzt nicht, was du meinst.

Es gibt ein Problem bei Polyglott. Die Startseite ohne Get-Paramete, also domain.tld/ wird nicht berücksichtigt.

Zum Ganzen. Ich glaube, das wird so nicht funktionieren. Was du vorhast kannst du wohl nur über getrennte Installationen, je eine pro Sprache, abbilden.

cmb
Posts: 13339
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by cmb » Wed Jul 22, 2020 3:25 pm

olape wrote:
Wed Jul 22, 2020 1:26 pm
Zum Ganzen. Ich glaube, das wird so nicht funktionieren. Was du vorhast kannst du wohl nur über getrennte Installationen, je eine pro Sprache, abbilden.
Ich glaube, dass es Michael genau darum geht, aber dennoch Plugin-Unterstützung dafür gewünscht ist. Soweit ich es verstehe, geht es dabei aber eigentlich nur um SEO-Zwecke (aussagekräftigere Domainnamen). Wären da Subdomains (auf die ggf. weitergeleitet wird) nicht akzeptabel; die könnte man dann doch einfach auf das entsprechende Unterverzeichnis mappen.
Christoph M. Becker – Plugins for CMSimple_XH

Michael_G
Posts: 70
Joined: Thu Feb 18, 2016 11:01 pm

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by Michael_G » Wed Jul 22, 2020 4:34 pm

Hallo zusammen,

über eine zweite Installation hatte ich bereits nachgedacht, die Idee aber rasch wieder verworfen.
Auf die Möglichkeiten von Polyglott möchte ich ja nicht verzichten.
Bei zwei zu pflegenden CMS-Instanzen müsste ich sämtliche Seiten manuell einzeln aufeinander verlinken (Wahnsinn) und dazu noch alle hreflang-Tags manuell setzen. Das ist noch verrückter. :lol:

Google und auch alle langjährigen SEO-Profis raten sogar von Subdomains für mehrsprachige Sites ab.
Da sind sich alle einig, dass ein Untermenü pro Sprache besser sei (ja, machen viele große Firmen trotzdem so, ist technisch ja auch nichts anderes).

Da Polyglott schon alles erledigt, was man mit anderen CMS‘ nur händisch, mit viel Aufwand oder zusätzlich noch viel Geld hinbekommt, fehlt nur noch die Möglichkeit, eine zweite Domain angeben zu können.

Zum besseren Verständnis meine Konstellation:

Domain_A.de/ = .de-Domain/Hauptsprache deutsch
Domain_A.de/en/ = .de-Domain/Zweitsprache englisch
Domain_B.eu/ = .eu-Domain/Hauptsprache deutsch
Domain_B.eu/en/ = .eu-DomainZweitsprache englisch

Idee ist, den englisch verstehenden Besuchern generell die europäische Domain mit /en/ anzuzeigen und per Polyglott zuzuweisen.

Und wenn das nicht simpel genug lösbar ist, wenigstens Domain_B.eu als hreflang-Alternative zuzuweisen für alle, bei denen /de/ und /e/ nicht passt.

Google:
Sie können für nicht zugeordnete Sprachen eine Seite hinzufügen, auf der Nutzer sozusagen aufgefangen werden. Dies ist insbesondere auf Seiten mit Auswahlmöglichkeit eines Landes oder einer Sprache bzw. auf automatisch weiterleitenden Startseiten nützlich. Verwenden Sie den Wert "x-default":
<link rel="alternate" href="http://example.com/" hreflang="x-default" />
Quelle:
https://support.google.com/webmasters/a ... 9077?hl=de

Hoffe, dass es nun besser verständlich ist. ;)

Und eine vielleicht sofort lösbare Sache dazu:
Wenn ein Besucher über die europäische Domain auf meine Site gelangt ist, sieht er bei Hauptsprache den deutschen Titel.
Kann ich den Titel per Template abhängig von Domainnamen anzeigen lassen?

Momentan steht da im Template:

Code: Select all

	<!--Header-->
	<div class="header">
		<p><?php echo '<a href="./" title="' . $h[0] . '">' . sitename() . '</a>';?></p>
		<div>
Danke für eure Zeit!
Ciao
Michael

olape
Posts: 1193
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by olape » Wed Jul 22, 2020 5:24 pm

cmb wrote:
Wed Jul 22, 2020 3:25 pm
die könnte man dann doch einfach auf das entsprechende Unterverzeichnis mappen.
Ich glaube, das wird so einfach nicht funktionieren, ganz egal ob Sub- oder Domain.

Erstens müsste man dafür sorgen, dass dann der Aufruf domain.tld/xx/ nicht mehr funktioniert bzw weitergeleitet wird, sonst ensteht an der Stelle DC.

Zweitens, ohne es jetzt lange überdacht zu haben, dürften Pfade für CSS userfiles usw. nicht mehr stimmen, Plugins werden wohl auch durcheinander kommen. Ich glaube nicht, dass das funktioniert.
Aber, es wäre ja ohne großen Aufwand möglich, dass einfach mal auszutesten.

Michael_G
Posts: 70
Joined: Thu Feb 18, 2016 11:01 pm

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by Michael_G » Fri Jul 24, 2020 4:07 pm

Hallo Olaf,

deshalb habe ich die Frage ja (besonders an Programmierer) gestellt.

Ich probiere und teste es auch gern selbst aus, benötige aber die Variablen, welche man bei theoretischer ungetesteter Machbarkeit ändern oder zusätzlich an passender Stelle setzen müsste.

Mir fehlen leider die Programmierkenntnisse, aber fertigen Code als Vorlage zum Experimentieren nutzen kann ich.
Wenn mir also jemand sagt, dass es mit Variable x anstatt y an Stelle z funktionieren könnte, hier und da vielleicht Variable c in Code a hinzufügen anstelle des jetzigen Codes a, dann würde ich das selbst testen.

Webspace und separate Domains zum online Testen habe ich. 8-)
„Werkzeug ist da, doch es fehlt etwas Wissen.”

Frische Ideen für CMSimple_XH hatten wir ja alle schon, die sich dann doch nicht simpel realisieren ließen.
Aber versuchen/„laut darüber nachdenken” sollte man schon. ;)

Plugins: ja, kann sein, dass die Plugins abstürzen oder einfach den Pfad nicht finden, aber da ich nicht weiß, wie die sich den Pfad holen, ob relative oder absolute Pfadangaben, kann das auch nur ein Core-Programmierer einschätzen oder ein Template-Programmierer, welcher diese Frage auch schon hatte und gelöst bekam.

Multi-Domain (nicht mit Multi-Site verwechseln):
CMS-intern ändert sich eigentlich nichts, da der gleiche Webspace, die eine gleiche CMS-Instanz genutzt wird.
Nur die Ausgabe auf die Domain müsste abhängig von der aufgerufen Domain berücksichtigt werden.
Wenn das nur von einer Variable abhängig wäre/ist und das abhängig vom Aufruf der Domain dynamisch steuerbar wäre/ist, könnte es realisiert werden.
Je nachdem, wie der Core jetzt arbeitet, entweder erst in späterer Version, weil das momentan „fest verdrahtet” funktioniert – oder schon früher durch Patch oder nächste Version, wenn durch andere Variable oder kleine Codeänderung machbar.

Wenn das alles nicht simpel zu lösen ist, bleibt noch die ganz simple Ausweichlösung, nämlich Beschränkung auf Möglichkeit, in Polyglott die alternative zweite Domain für nicht zutreffende Sprachen anzugeben.
Ciao
Michael

olape
Posts: 1193
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by olape » Fri Jul 24, 2020 7:50 pm

Michael_G wrote:
Wed Jul 22, 2020 4:34 pm
Und eine vielleicht sofort lösbare Sache dazu:
Wenn ein Besucher über die europäische Domain auf meine Site gelangt ist, sieht er bei Hauptsprache den deutschen Titel.
Kann ich den Titel per Template abhängig von Domainnamen anzeigen lassen?

Momentan steht da im Template:
CODE: ALLES AUSWÄHLEN

<!--Header-->
<div class="header">
<p><?php echo '<a href="./" title="' . $h[0] . '">' . sitename() . '</a>';?></p>
<div>
Danke für eure Zeit!

Code: Select all

$parts = parse_url(CMSIMPLE_URL);
$host = $parts['host'];
$pos = strripos($host, '.');
$tdl = substr($host, $pos);
if($tdl == '.net') {$link_txt = 'Link net';}
else if($tdl == '.info') {$link_txt = 'Link info';}
else if($tdl == '.com') {$link_txt = 'Link com';}
else {$link_txt = sitename();}
//echo '<a href="./" title="' . $h[0] . '">' . sitename() . '</a>';
echo '<a href="./" title="' . $h[0] . '">' . $link_txt . '</a>';
Michael_G wrote:
Fri Jul 24, 2020 4:07 pm
Frische Ideen für CMSimple_XH hatten wir ja alle schon, die sich dann doch nicht simpel realisieren ließen.
Aber versuchen/„laut darüber nachdenken” sollte man schon.
Auf jeden Fall

Michael_G wrote:
Fri Jul 24, 2020 4:07 pm
CMS-intern ändert sich eigentlich nichts, da der gleiche Webspace, die eine gleiche CMS-Instanz genutzt wird.
Nur die Ausgabe auf die Domain müsste abhängig von der aufgerufen Domain berücksichtigt werden.
Das ist der Knackpunkt. Die Domain muss auf das Root von XH zeigen. Sonst, da bin ich mir zu 99,99% sicher, wird das nicht funktionieren.
Und wenn das so ist, dann müsste man entsprechend der TLD nicht den Content der Hauptsprache laden, sondern jeweils den einer Sprache, ohne das diese als Verzeichnis in der URL auftaucht.
Also bei .com den Content von /en/, bei .eu wahrscheinlich auch /en/, usw.
Dafür müsste man dann dafür sorgen, das die Sprachen nicht wie bisher aufrufbar sind also .../en/ müsste dann per 301 auf / umleiten.

Wie das ganze im Backend funktionieren sollte, kann ich jetzt nicht sagen. Es kann aber nicht so bleiben wie jetzt, da dann Bilder oder Downloads nicht mehr passen würden.

Und auch da bin ich mir sicher, das ist noch nicht alles.

Michael_G
Posts: 70
Joined: Thu Feb 18, 2016 11:01 pm

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by Michael_G » Sat Jul 25, 2020 3:43 pm

Hallo Olaf,

danke Dir für den Codeschnipsel, werde ich nachher zuhause gleich mal testen.

Und danke für die Erläuterung, wie es gehen müsste, aber eben jetzt nicht geht bzw. nicht simpel.

Fazit/Zusammenfassung für diesen Thread:
Multidomain ist für eine zweisprachige Site mit Boardmitteln ohne Erzeugung von Duplicate Content (Google!) möglich:
Einfach beim Hoster für beide Domains das gleiche Webspace-Verzeichnis einstellen.

Aber: in CMSimple_XH lassen sich keine Domains pro Sprache festlegen; je nach Aufruf der URL wird diese ausgeführt und funktioniert einwandfrei.
https://example.de/ funktioniert genauso wie
https://example.eu/ und in beiden gibt es das Zweitsprachen-Untermenü z. B. /en/ für englisch.

Kein Problem für Google, es erkennt den Zusammenhang, behält sich aber die eigenständige Auswahl der Webadressen zur Indexierung vor.

Google nutzt die Sitemap als Maßstab auch für hreflang (kanonisch), weicht aber gelegentlich mal davon ab ->
Eventuell unerwünschte Nebenwirkung wegen fehlender Trennung der Domains nach Sprache:
Google indexiert teilweise Webadressen mit der anderen Domain.

Für große Websites ist Polyglott Pflicht, um manuelle (hreflang-)Verlinkungen zu vermeiden.
Sonst müsste man hunderte deutschsprachige Seiten mit ihren fremdsprachigen Gegenstücken von Hand verlinken inkl. hreflang-Tag.

Wenn die Domains von Google getrennt nach Sprache indexiert werden sollen (hreflang) und die Website sehr wenige Seiten hat, kann man das nur ohne Polyglott lösen, indem man die hreflang-Angaben im Header des Templates hinterlegt und die Seiten mit ihren Übersetzungen händisch verlinkt.
Polyglott bedient leider nur eine Domain.

Eine Lösung wäre, dass man in Polyglott die „Ausweich-URL” selbst angeben kann.
Also so ein Eingabefeld wie es das beim Sitemapper für die kanonische URL gibt, hier aber für das Gegenteil, nämlich wenn hreflang=de und hreflang=en nicht passen.
Da geht momentan nur die gleiche eine Domain und Polyglott kümmert sich selbst darum (völlig okay bei Verwendung einer Domain!).
Ciao
Michael

olape
Posts: 1193
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by olape » Sat Jul 25, 2020 6:11 pm

Michael_G wrote:
Sat Jul 25, 2020 3:43 pm
Und danke für die Erläuterung, wie es gehen müsste, aber eben jetzt nicht geht bzw. nicht simpel.
Das ist nur meine Sicht. Das heißt auf keinen Fall, dass es nicht doch eine Lösung gibt, die ich eben nicht sehe.
Dran bleiben!
Michael_G wrote:
Sat Jul 25, 2020 3:43 pm
Fazit/Zusammenfassung für diesen Thread:
Multidomain ist für eine zweisprachige Site mit Boardmitteln ohne Erzeugung von Duplicate Content (Google!) möglich:
Einfach beim Hoster für beide Domains das gleiche Webspace-Verzeichnis einstellen.
Das glaube ich nicht. Stand jetzt ist das DC.
Michael_G wrote:
Sat Jul 25, 2020 3:43 pm
Aber: in CMSimple_XH lassen sich keine Domains pro Sprache festlegen; je nach Aufruf der URL wird diese ausgeführt und funktioniert einwandfrei.
https://example.de/ funktioniert genauso wie
https://example.eu/ und in beiden gibt es das Zweitsprachen-Untermenü z. B. /en/ für englisch.
Und das ist der Grund dafür

Michael_G
Posts: 70
Joined: Thu Feb 18, 2016 11:01 pm

Re: Mehrsprachigkeit + Multidomain-Fähigkeit (Vorschlag)

Post by Michael_G » Mon Aug 03, 2020 8:16 pm

Hallo allerseits,

hier abschließend mein Fazit mit simpler Lösung auch für alle, die jetzt oder später auf diesen Thread stoßen und ebenfalls wissen wollen, wie man das am besten und einfachsten löst.

Danke Olaf; Dein Codeschnipsel zur Anzeige des Titels je nach Domain hatte nach leichter Anpassung und Vervollständigung funktioniert, leider aber ohne Textformatierung, da stimmte die Class vielleicht nicht mehr überein oder was auch immer.

Macht nichts, ich habe mich dazu entschieden, doch alle Anfragen auf Zusatzdomains (.eu/.info) auf die eine Hauptdomain (.de) weiterleiten zu lassen und alle Besucher sehen sowieso je nach verwendeter URL den Websitetitel in passender Sprache.
Damit wirklich niemand befürchten muss, ob er/sie auf eine falsche Seite umgeleitet wurde, gibt es in einer der drei Newsboxen einen Willkommensgruß mit Hinweis. 8-)

Anstatt wie bisher für alle Domains einen eigenen Ordner auf dem Webspace zu verwenden (mit eigener kleiner .htaccess zum Umschalten auf TLS und ohne www., dann redirect auf Hauptdomain, weil Mozilla das für HSTS Preloading so wünscht), lasse ich nun alle 6 Domains auf den gleichen Webspace-Ordner zeigen, wo eine .htaccess alles erledigt (siehe unten).
Denn: die Infos auf der HSTS-Prüf-und-Anmelde-Website von Mozilla https://hstspreload.org/ sind unvollständig und widersprüchlich, HSTS-Preloading funktioniert sowieso nur, wenn die Domain dann nicht weiterleitet. So wird also nur die Hauptdomain geschützt. :x

Hier noch der Ausschnitt aus der .htaccess für alle, die auch so etwas vor haben (werden), denn da kann man schon mal eine Woche nach der optimalen Lösung suchen, „wenn man kein Apache-Blut hat”. :D

Folgendes gehört dann an den Anfang Deiner .htaccess-Datei (von vorheriger .htaccess dringend Backup machen!):

Code: Select all

<Files .htaccess>
order allow,deny
deny from all
</Files>

RewriteEngine on

<IfModule mod_rewrite.c>
# HSTS einschalten
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

# Kanonische URL festlegen (ohne www.)
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# Alles auf Haupt-Domain leiten
RewriteCond %{HTTP_HOST} !^hauptdomain.de$ [NC]
RewriteRule ^(.*)$ https://hauptdomain.de/$1 [R=301,L]
</IfModule>

<IfModule mod_headers.c>
# HSTS-Variante mit Zweijahres-Zeitfenster und Subdomains sowie preload:
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" env=HTTPS
Danach folgen in der .htaccess nur die üblichen Header-Security-Sachen, die Cache-Optimierung (gzip, deflate), die Harvester-Abwehr und ErrorDocument-Behandlung, welche dank CMSimple_XH-Plugin „Moved” selten in Aktion treten muss.

Moved hat sich seit Jahren super bewährt. 8-)
Ciao
Michael

Post Reply