Du betreibst ein HumHub-Netzwerk und möchtest es für Suchmaschinen optimieren?
Dann sind verständliche URLs eine wichtige Grundlage.
In diesem Artikel erkläre ich dir, wie du diese bei HumHub einstellst.
PrettyURLs
Überprüfe zu allererst, ob du PrettyUrls aktiviert hast. Dein Dashboard sollte unter domain.com/dashboard
zu finden sein. Wenn dein Browser stattdessen domain.com/index.php?r=dashboard%2Fdashboard
anzeigt, hast du PrettyUrls noch nicht aktiviert.
PrettyURLs aktivieren
In neueren HumHub-Versionen findest du nach der Installation eine Datei namens env.example
Diese kannst du kopieren oder umbenennen zu .env
Öffne die Datei und ändere die Zeilen
#--- Pretty URLs (Recommended)
#HUMHUB_CONFIG__COMPONENTS__URL_MANAGER__SHOW_SCRIPT_NAME=false
#HUMHUB_CONFIG__COMPONENTS__URL_MANAGER__ENABLE_PRETTY_URL=true
zu:
#--- Pretty URLs (Recommended)
HUMHUB_CONFIG__COMPONENTS__URL_MANAGER__SHOW_SCRIPT_NAME=false
HUMHUB_CONFIG__COMPONENTS__URL_MANAGER__ENABLE_PRETTY_URL=true
Es werden also die Rautezeichen am Anfang der zweiten und dritten Zeile entfernt. (Die erste Zeile ist lediglich ein Kommentar, um in der Datei einen guten Überblick zu behalten.)
Wenn du deine Seite nun aufrufen kannst, musst du nichts weiter tun.
Sollte dein Webserver Apache sein, wie auf den meisten gängigen Servern, muss du noch eine weitere Datei kopieren, die Datei .htaccess.dist
Kopiere diese Datei oder benenne sie um zu .htaccess
(mit dem Punkt am Anfang).
In den allermeisten Fällen genügt das um PrettyURLs zu aktivieren. Aber jede Server-Konfiguration kann anders sein. Falls es nicht geklappt hat, schaue in die offizielle HumHub-Dokumentation zu PrettyUrls und wende dich an die HumHub Community.
URLs optimieren
Auch mit aktivierten PrettyURLs sind leider nicht alle HumHub-URLs SEO-freundlich. Beispielsweise die URLs zur Einzelansicht von Beiträgen und anderen Inhalten. Sie sehen zum Beispiel so aus: community.humhub.com/s/announcements/post/post/view?id=17422
Attention: Before you make any changes to your configuration file, copy the file so you can restore it in case of a mistake. Even a small typo can make your network unreachable.
The configuration file can be found at protected/config/common.php
Now add rules
wie in folgendem Beispiel für das Legal Tools-Modul:
return [
'components' => [
'urlManager' => [
'rules' => [
[
'pattern' => 'terms',
'route' => 'legal/page/view',
'defaults' => ['pageKey' => 'terms']
],
[
'pattern' => 'imprint',
'route' => 'legal/page/view',
'defaults' => ['pageKey' => 'imprint']
],
[
'pattern' => 'privacy',
'route' => 'legal/page/view',
'defaults' => ['pageKey' => 'privacy']
]
],
],
],
];
pattern
ist die neue URL (ohne Domain)route
ist die bisherige URL (ohne Domain), also das was nachdomain.com/
und vor dem Fragezeichen kommt.defaults
sind die Paramater der bisherigen URL, die nach dem Fragezeichen kommen. Aus?pageKey=imprint
wird['pageKey' => 'imprint']
.
Beitrags-URLs optimieren
Wenn die einzelne Beiträge bei der Suchmaschinenoptimierung besonders wichtig sind, kannst du eine lesbare URL für sie anlegen.
Mithilfe des SEO-Moduls
Aktiviere den SEO-Modus in den Modul-Einstellungen, wenn du das nicht bereits getan hast.
Öffne die Einzelansicht des Beitrags. Gehe dazu im Dropdown-Menü eines Beitrags auf „Permalink“ und dann auf „Öffnen“. Klicke nun auf den „SEO bearbeiten“-Button.
Dir wird dort ein Code-Schnipsel angezeigt, den du in deine Konfigurationsdatei als neue URL-Regel einfügen kannst. Orientiere dich an folgendem Beispiel und dem Beispiel oben.
Attention: Before you make any changes to your configuration file, copy the file so you can restore it in case of a mistake. Even a small typo can make your network unreachable.
<?php
return [
'components' => [
'urlManager' => [
'rules' => [
[
'pattern' => 'my-post',
'route' => 'post/post/view',
'defaults' => ['id' => '5', 'cguid' => '864e917d-a839-4733-b239-89468d63b0e6']
],
],
],
],
];
my-post
: neue URLpost/post/view
: alte URL ohne Parameter5
: ID des Beitrags864e917d-a839-4733-b239-89468d63b0e6
: GUID des Spaces, in dem der Beitrag geschrieben wurde