
Wie man URL-Adressen in Drupal kontrolliert. Überblick über das Pathauto-Modul
Ein gutes CMS erkennt man daran, wie es mit den URL-Adressen einzelner Unterseiten umgeht. Bequeme Verlinkung lockt Benutzer von Suchmaschinen an und hat einen erheblichen Einfluss auf SEO. In diesem Artikel werde ich Ihnen das Pathauto Drupal-Modul vorstellen, das zur Automatisierung der Erstellung von Seitenaliasen verwendet wird.
Mit diesem Modul können Sie problemlos effiziente, wartungsfreie Aliase für Ihre Inhalte konfigurieren, einschließlich Taxonomie-Begriffen und Benutzerseiten.
Daten
Die erste Version von Pathauto wurde im Februar 2006 als Add-On zu Drupal 4 veröffentlicht. Die stabile 1.0-Version wurde für Drupal 5 im Jahr 2007 veröffentlicht. Der aktuelle Code dieses Moduls aus dem 8.x-1.x-Zweig ist das Ergebnis einer langen Evolution, die viele Mitglieder der Drupal.org-Community einbezog.
Beliebtheit
Die Zahlen aus den offiziellen Statistiken sprechen für sich – das Pathauto-Modul wird von über 640.000 Seiten genutzt. Und 32 % davon basieren auf Drupal 8 und 9. Wir haben es hier mit einem der "essentiellen" Module zu tun, das sofort beim Erstellen neuer Projekte installiert wird.
Ersteller des Moduls
Das Modul wird derzeit von vier Entwicklern gepflegt:
- Sascha Grossenbacher - Lead Developer bei der Firma MD Systems,
- Dave Reid - Senior Developer bei der Firma Lullabot,
- Greg Knaddison - von der Morris Animal Foundation,
- Frederik Sandberg Olesen.
Seit den Anfängen des Pathauto-Moduls waren über 100 Personen an seiner Entwicklung beteiligt, wobei insgesamt fast 1.600 Commits entstanden sind. Der enorme Beitrag der Community wird durch über 3.000 gemeldete Aufgaben und Fehler auf Drupal.org weiter unterstrichen. Leider bleiben viele davon ungelöst.
Zweck des Moduls
Mit dem nackten Drupal können Sie URL-Aliase für einzelne Unterseiten erstellen, aber Sie müssen dies manuell tun. Wenn Sie das Feld mit dem Alias nicht ausfüllen, erhält der neue Inhalt standardmäßige, unpraktische Adressen wie /node/123 oder /taxonomy/term/456.
Das Pathauto-Modul automatisiert die Hinzufügung von Aliasen durch deren Generierung gemäß der von Ihnen angegebenen Vorlage mit Tokens. Zum Beispiel können statische Seiten eine titelorientierte Adresse (/foo-bar) haben, und Taxonomie-Begriffe können einen Vokabelnamen enthalten (/vocabulary-name/foo-bar).
Auspacken
Sie können das Modul von Drupal.org herunterladen oder dem Projekt mit folgendem Befehl beitreten:
composer require drupal/pathauto
Nach dem Start von Pathauto gehen Sie zu seinen Einstellungen, indem Sie Konfiguration → Suche und Metadaten → URL-Aliase → Muster auswählen.
Verwendung des Moduls
Pathauto bietet eine breite Palette an Einstellungen für die Methoden zur Generierung von Aliasen. Es ermöglicht auch die Durchführung von Massenoperationen an bereits vorhandenen Inhalten. Im Folgenden werde ich kurz die wichtigsten verfügbaren Optionen beschreiben.
URL-Adressen-Vorlagen
Die grundlegende Funktionalität des Pathauto-Moduls ist das Erstellen von URL-Adressen-Vorlagen, d.h. Zeichenfolgen, die Tokens enthalten. Einzelne Aliase werden auf ihrer Grundlage generiert, wenn der Inhalt gespeichert wird.
Ich werde dies am Beispiel eines Blogs erklären. Wenn Sie möchten, dass Ihre Beiträge unter der Adresse http://example.com/2021/foo-bar.html%20 verfügbar sind, die das Veröffentlichungsjahr und den Titel enthält, gehen Sie zum Konfigurationsmenü → Suche und Metadaten → URL-Aliase → Muster und fügen Sie eine neue Vorlage für den entsprechenden Inhaltstyp hinzu:
Versuchen Sie nun, einen neuen Blogbeitrag zu erstellen. Er sollte die Adresse /2021/foo-bar.html erhalten. Beachten Sie, dass Sie seinen URL-Alias weiterhin überschreiben können, jedoch wird er standardmäßig automatisch generiert:
Transliteration
Seitentitel enthalten normalerweise Leerzeichen und Sonderzeichen. Das Pathauto-Modul konvertiert diese automatisch in das ASCII-Format, getrennt durch Bindestriche. Dann wird ein Titel wie "How to Make Crème Brûlée?" durch eine einfachere Version ersetzt – "how-to-make-creme-brulee". Die Einstellungen für die Umwandlung finden Sie im Tab "Einstellungen".
Ich schlage vor, dass Sie die meisten dieser Optionen in der Standardposition belassen, aber achten Sie besonders auf das Feld "Strings to Remove". Es enthält Strings von Zeichen, die aus der Adresse entfernt werden sollen, inklusive zahlreicher englischer Präpositionen und Artikel. Wenn Sie einen Blogbeitrag mit dem Titel "A Guide To Drupal" erstellen, erhalten Sie eine Adresse wie /2021/guide-drupal.html, was nicht immer das gewünschte Ergebnis ist.
Die anderen Einstellungen ermöglichen eine sehr detaillierte Anpassung der Transliteration in Aliasen, was für die Unterstützung mehrerer Sprachen nützlich ist. Hier können Sie beispielsweise entscheiden, wie mit Satzzeichen umgegangen werden soll.
Massengenerierung von URL-Adressen
Standardmäßig generiert Pathauto nur Aliase, wenn der Inhalt gespeichert wird. Dies bedeutet, dass wenn Sie die URL-Vorlage ändern, die Änderung nicht sofort in den Aliasen auf der gesamten Seite reflektiert wird. Auch nach dem Hinzufügen einer neuen Vorlage wird ihr gesamter Inhalt nicht sofort eine neue URL-Adresse erhalten.
Beim Erstellen großer Websites ist es oft notwendig, schnell Aliase für die vorhandenen Inhalte neu zu generieren. Dies geschieht mit der Funktion "Bulk Generate", die Massenoperationen an URL-Adressen ermöglicht.
Seien Sie sehr vorsichtig, um nicht versehentlich die vorhandenen Aliase mit neueren Versionen zu überschreiben. Hier würde ich die Installation des Redirect-Module empfehlen, welches die Weiterleitungen zwischen den alten und neuen Unterseiten-Adressen speichert.
Löschen von Aliasen
Das Pathauto-Modul verfügt auch über ein erweitertes Panel zum Löschen von Aliasen. Seien Sie sehr vorsichtig bei der Verwendung. Alle hier eingeführten Änderungen sind unwiderruflich. Sie benötigen wahrscheinlich die Option "Nur automatisch generierte Aliase löschen", um das Löschen manuell überschreibener Aliase zu verhindern.
Hooks und Integrationen
Pathauto aus dem 8.x-1.x-Zweig ermöglicht es Ihnen, alle Arten von Entitäten mit Plugins wie @AliasType zu verwalten, und bietet auch einige einfache Hooks:
- hook_pathauto_is_alias_reserved() - blockiert die Erstellung eines Alias, wenn er von einem anderen Modul reserviert ist. In einem solchen Fall wird dem Alias eine Zahl hinzugefügt (z.B. /foo-bar1).
- hook_pathauto_punctuation_chars_alter() – es wird verwendet, um neue Satzzeicheneinstellungen hinzuzufügen.
- hook_pathauto_pattern_alter() - ermöglicht das Ändern der URL-Adressen Vorlage.
- hook_pathauto_alias_alter() - ermöglicht das Ändern des Alias nach dessen Generierung.
Wenn Sie Ihre eigenen Drupal-Module erstellen, sollten Sie überlegen, eine optionale Konfiguration für Pathauto zu ihnen hinzuzufügen. Dies ist eine recht gängige Praxis, beispielsweise im Group-Modul. Dadurch erhält der Benutzer vordefinierte, gebrauchsfertige Aliase-Vorlagen.
Das Drupal Pathauto-Modul - Zusammenfassung
Pathauto ist ein äußerst leistungsfähiges Modul, das in den meisten unserer Drupal-Entwicklungsprojekte eingesetzt wird. Es hält URL-Adressen konsistent und befreit die Redakteure von der Notwendigkeit, Aliase manuell zu erstellen. Seine Nützlichkeit wird durch Hunderttausende von Installationen bestätigt, die in den offiziellen Statistiken gemeldet werden. Ich empfehle Ihnen auf jeden Fall, sich mit seinen Fähigkeiten vertraut zu machen.