Plugin xlang_XH für CMSimple_XH
Alle Downloads wurden entfernt.
Die Funktionserweiterung xlang_XH dient der Suchmaschinenoptimierung (SEO - search engine optimization) unter CMSimple_XH.
Das Plugin erstellt hreflang-Links für Sprach- oder Regions-URL und Kanonische Links.
Nach meinem Verständnis können die hreflang-Attribute auch bei einsprachigen Webseiten nicht schaden.
hreflang-Links
(konfigurierbar --> aktiviert / deaktiviert)
Ausnahme:
Wenn Parameter aus Canonical - Get x zutreffen und / oder index.php in der URL enthalten ist.
<link rel="alternate" hreflang="x-default" href="http://...tld/?Languages" />
<link rel="alternate" hreflang="da" href="http://...tld/da/" />
<link rel="alternate" hreflang="en" href="http://...tld/en/" />
...
Zusätzlich zum x-default-Eintrag die CMSimple_XH-Defaultsprache als hreflang-Eintrag setzen.
(konfigurierbar --> aktiviert / deaktiviert)
<link rel="alternate" hreflang="x-default" href="http://...tld/?Languages" />
<link rel="alternate" hreflang="de" href="http://...tld/?Languages" />
<link rel="alternate" hreflang="da" href="http://...tld/da/" />
<link rel="alternate" hreflang="en" href="http://...tld/en/" />
...
... Im Fall von Auswahlmenüs für Sprache bzw. Land oder bei Startseiten, die automatisch weiterleiten, sollten Sie zudem eine Annotation für den hreflang-Wert "x-default" hinzufügen.
...
Die hreflang-Links werden nicht gesetzt, wenn die Seite mit Get-Parametern aufgerufen wird, die in einer Blacklist enthalten sind.
Die Parameter sind konfigurierbar --> Hreflang - Get exceptions
(Grundeinstellung: login|logout|print|realblog_page)
Polyglott_Xh (Polyglott_XH auf GitHub) ist für mehrsprachige Webseiten auf jeden Fall die bessere Wahl für das Sprachmenü. Hier ist auch eine direkte Zuordnung zwischen den einzelnen Sprachen möglich. Zusätzlich werden dabei auch die hreflang-Links korrekt gesetzt.
xlang_XH sollte dann nur noch für den Canonical Link genutzt werden!
Canonical Link
(konfigurierbar --> none, min, max)
min
- wenn die Startseite nicht nur mit domain.tld/, sondern mit domain.tld/?Startseite aufgerufen wird, wird der Kanonische Link auf domain.tld/ gesetzt.
<link rel="canonical" href="http://www.domain.tld/" />
- wenn die Seite mit domain.tld/index.php?Seite aufgerufen wird, wird der Kanonische Link gesetzt.
<link rel="canonical" href="http://www.domain.tld/?Seite" />
- wenn die Seite mit domain.tld/?Level_1%2FLevel_2%2FLevel_3 statt domain.tld/?Level_1/Level_2/Level_3
aufgerufen wird, wird der Kanonische Link gesetzt.<link rel="canonical" href="domain.tld/?Level_1/Level_2/Level_3" />
Diese encodierten Links können durch Dientse wie Facebook o.ä. in Umlauf kommen. - wenn die Seiten mit Get-Parametern aufgerufen wird, wird jeweils der Kanonische Link gesetzt.
Die Parameter sind konfigurierbar --> Canonical - Get x
(Grundeinstellung: login|logout|normal|selected|xh_mailform_subject|realblog_title
|realblog_search|realblog_story|search|function|handheld_full)
Die unter Canonical - Get x angegebenen Parameter werden für den Canonical-Link aus der URL entfernt.
!!! Canonical - Get x wird auch bei der Einstellung max und den hreflang-Links beachtet. !!!
Wenn print als Parameter unter Get x angegeben wird, dann sollte in der Druckvorschau nicht der Meta-Tag:meta name="robots" content="noindex"
angegeben werden!
Wer keine Änderungen an CMSimple_XH durchführen möchte, der sollte print hier nicht angeben!
max
- Der Kanonische Link wird immer gesetzt, auch selbst referenzierend.
Ausnahme:
Wenn die Seite mit Get-Parametern aufgerufen wird, die in einer Blacklist enthalten sind.
Die Parameter sind konfigurierbar --> Canonical - Get exceptions
(Grundeinstellung: print|realblog_page) - Weiter Infos zu Canonical-URL bei Google
Zusätzliche Erläuterungen
Einzelne Parameter z.B. per robots.txt zu sperren bringt nur bedingt einen Nutzen.
Diese Einträge in der robots.txt
- Disallow: /*?selected=*
- Disallow: /*?search=*
bringen über kurz oder lang ein Ergebnis wie etwa:
Da die Bots (die sich überhaupt daran halten) die Seite nicht besuchen dürfen, gibt es keine Beschreibung. Die URL selbst bleibt aber im Index.
Der bessere Weg ist also, einen Canonical Link zu setzen, damit die Bots wissen, der eigentliche Inhalt ist unter einer anderen URL zu finden. Das vermeidet Doppelten Content und diese URLs werden aus dem Index verschwinden bzw. in diesem gar nicht erst erscheinen.
Andere Möglichkeiten, Doppelten Content auf der Webseite zu bekommen oder zu haben, sind unter anderen, die Parameter xh_mailform_subject oder handheld_full.
Was passieren kann, wenn der Kanonische Link bei den entsprechenden Parametern nicht gesetzt wird, zeigen folgende zwei Beispiele. Im ersten Fall sind es drei, im zweiten zwei verschiedene URLs für jeweils die gleiche Seite, also mit gleichem Inhalt (Duplicate Content).
Installation
PHP ab Version 5.3
(Sie sollten min. Version 5.6 einsetzen!, Stand 01/2018)
Version 1.2 für CMSimple_XH Versionen 1.6.7 - 1.6.10
(auch wenn das Plugin bei 1.6.10 eine abweichende Meldung bringt).
Version 1.4.1 für CMSimple_XH Versionen 1.7.0 - 1.7.6.
(auch wenn das Plugin ab 1.7.3 eine abweichende Meldung bringt).
Um das Plugin zu installieren, einfach den entpackten Ordner xlang in den Pluginordner laden.
Fragen, Hinweise, Fehlermeldungen zu xlang_XH
xlang_XH kann unter Einhaltung der GPLv3 verwendet werden.