Sie sind hier: Startseite > CMSimple_XH > Plugins > xlang_XH

Plugin xlang_XH für CMSimple_XH

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/" />
...

 

Zitat:

... 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)

 

Wegen der fehlenden direkten Zuordnung einzelner Seiten zu der jeweils anderen Sprache, verweist oder verweisen die zur aktuell verwendeten alternativen Sprachen, immer auf die blanke Domain (ausgenommen ...&sitemap und ...&mailform, da funktioniert die Zuordung direkt). Für mehrsprachige Webseiten ist das Ergebnis, aufgrund der fehlenden Zuordnung der Seiten untereinander, nicht korrekt.

 

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)

 

 

Achtung! Bei einigen Parameter (z.B. für Paginierung innerhalb von Plugins) sollte unter CMSimple_XH kein Kanonischer Link gesetzt werden.

 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:

 

Xlang_XH Google Canonical search selected

 

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).

Xlang_XH Google Canonical xh_mailform_subject

Xlang_XH Google Canonical handheld_full


 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.2.

Um das Plugin zu installieren, einfach den entpackten Ordner xlang in den Pluginordner laden.

Möglicherweise, abhängig vom Webserver müssen noch Dateirechte angepasst werden.
Wird PHP als CGI oder FastCGI ausgeführt, ist ein Anpassen der Dateirechte nicht notwendig.
Wenn PHP als Apache-Modul ausgeführt wird, müssen noch Rechte für

folgende Dateien:

  • die Konfigurationsdatei (/plugins/xlang/config/config.php)
  • und die entsprechende(n) Sprachdatei(en) (/plugins/xlang/languages/xx.php)

geändert werden (0666), falls man diese über das Backend bearbeiten möchte.

Die Ordner:

  • /plugins/xlang/languages/
  • /plugins/xlang/config/

benötigen in diesem Fall 0777.

Alle Voraussetzungen lassen sich auf der Startseite des Plugins prüfen.

 https://filezilla-project.org

FileZilla Client Tutorial (de)

  • 644 - der Standardwert für Dateien - nur der FTP-Benutzer kann Dateien ändern / schreiben
  • 666 - auch PHP-Prozesse können Dateien beschreiben.
  • 755 - der Standardwert für Ordner - nur der FTP-Benutzer kann Dateien ändern / schreiben
  • 777 - der Ordner hat Vollzugriff, d.h. auch Scripte können darin schreiben.

Logo xlang_XH Fragen, Hinweise, Fehlermeldungen zu xlang_XH

 xlang_XH im CMSimple_XH Forum

Gern nehme ich auch Informationen entgegen, auf welchen Seiten das Plugin xlang_XH eingesetzt wird.
Ich möchte keine Statistik führen oder gar veröffentlichen. Es geht einfach darum, zu wissen, ob weiteres Arbeiten an diesem Plugin sinnvoll ist.

 

xlang_XH kann unter Einhaltung der GPLv3 verwendet werden.

 

Die vollständige Beschreibung trifft immer nur auf die aktuelle Version zu. Ältere Versionen können im Funktionsumfang abweichen und auch noch, schon bekannte Fehler enthalten.
Es sollte daher immer versucht werden, die aktuellste Version einzusetzen!

Version 1.2 für CMSimple_XH Versionen 1.6.7 - 1.6.10. (eingestellt)

Version 1.4.1 für CMSimple_XH Versionen 1.7.0 - 1.7.2.

Update ab Version 1.2 auf 1.4.1

 

Softwareentwicklung ist teilweise sehr aufwendig und findet, für jede hier angebotene Software, in meiner Freizeit statt. Daher freue ich mich über jede Unterstützung. Zum Teil wird damit z.B. einfach diese Website finanziert.
Außerdem bringt eine kleine Anerkennung zwischendurch immer wieder etwas Schwung in die Entwicklung.

 Kaf­fee­kas­se