TYPO3 news - URL und Titletag einrichten
Schritte für die URL Optmierung von News (news)
Was wollen wir erreichen?
- URL der Singledarstellung in der Liste soll dem des Titels oder einer individuellen URL entsprechen
- Pagebrowser (Seitenbrowser) soll die URL in Form von /seite1/ … /seite2/ rendern
- Select / Filter sollen die Kategorie als Segement ausgeben
Parameter sollen unterbunden werden. - Der Titel auf der Einzelansicht der News soll der Überschrift oder eines individuellen Titels entsprechen
Die Bedeutung einer guten URL für SEO
Eine präzise und klare URL ist für die Suchmaschinenoptimierung (SEO) unerlässlich. Als Internetagentur aus Hannover wollen wir diese stets optimieren. Sie fungiert als erste Anlaufstelle für Suchmaschinen und Nutzer, um den Inhalt einer Webseite zu verstehen. Eine gute URL sollte folgende Merkmale aufweisen:
Klarheit und Relevanz: Eine URL muss den Inhalt der Seite eindeutig widerspiegeln. Beispiel: www.beispielseite.de/seo-tipps statt www.beispielseite.de/p12345.
Verwendung von Schlüsselwörtern: Integrieren Sie relevante Keywords, um das Ranking in Suchmaschinen zu verbessern.
Kürze und Prägnanz: Kürzere URLs sind leichter lesbar und merkbarer. Vermeiden Sie unnötige Wörter oder Zeichen.
Nachteile von URLs mit Parametern
URLs mit vielen Parametern sind für Google problematisch. Diese können folgenden negativen Einfluss haben:
Komplexität und Undurchsichtigkeit: Parameter wie ?id=123&cat=456 erschweren das Verständnis des Seiteninhalts und verwirren Nutzer.
Duplicate Content: Suchmaschinen könnten verschiedene URL-Varianten als doppelte Inhalte interpretieren, was das Ranking verschlechtert.
Eingeschränkte Lesbarkeit: Nutzer bevorzugen einfache URLs, die ohne Schwierigkeiten lesbar sind.
Um diese Fallstricke zu vermeiden, sollte man auf eine saubere URL-Struktur achten, die sowohl für Nutzer als auch für Suchmaschinen optimiert ist.
Wie gehe ich bei TYPO3 vor?
URL der Singledarstellung in der Liste soll dem des Titels oder einer individuellen URL entsprechen
Zunächst öffnen wir die Datei:
typo3conf/sites/main/config.yaml
Hier sind die TYPO3 Site-Konfiguration definiert:
Unter der Standarddefinition können wir weitere Defintionen vornehmen:
routeEnhancers:
NewsPlugin:
type: Extbase
extension: News
plugin: Pi1
routes:
- routePath: '/{news_title}'
_controller: 'News::detail'
_arguments: {'news_title': 'news'}
- routePath: '/category/{category_title}'
_controller: 'News::list'
_arguments: {'category_title': 'category'}
defaultController: 'News::list'
aspects:
news_title:
type: PersistedAliasMapper
tableName: 'tx_news_domain_model_news'
routeFieldName: 'path_segment'
category_title:
type: PersistedAliasMapper
tableName: 'sys_category'
routeFieldName: 'slug' # Stelle sicher, dass deine Kategorien einen slug haben
aspects:
page:
type: StaticRangeMapper
range: [1, 2, 3, 4, 5] # Beispiel für Seitenzahlen
Diese Konfiguration steuert, wie die URLs für News-Artikel und Kategorien in TYPO3 aussehen sollen. Der Code macht aus technischen URLs schöne, lesbare Web-Adressen.
Zweck:
Der Code verwandelt komplizierte System-URLs in benutzerfreundliche URLs. Zum Beispiel wird aus "index.php?id=123&news=456" etwas wie "/mein-news-artikel" oder aus einer Kategorie-Ansicht "/category/sport".
Eingaben:
News-Artikel aus der Datenbank (tx_news_domain_model_news)
Kategorien aus der Datenbank (sys_category)
Die ursprünglichen System-URLs
Ausgaben:
Benutzerfreundliche URLs für einzelne News-Artikel (z.B. "/mein-artikel")
Benutzerfreundliche URLs für Kategorie-Übersichten (z.B. "/category/sport")
Funktionsweise:
Für einzelne News-Artikel wird der "path_segment" (ein sprechender URL-Teil) aus der Datenbank genommen
Für Kategorien wird der "slug" (ebenfalls ein sprechender URL-Teil) verwendet
Die Konfiguration legt fest, welcher Controller (News::detail oder News::list) für welche URL-Struktur zuständig ist
Der StaticRangeMapper am Ende ermöglicht eine Seitennummerierung von 1-5 für Listenansichten
Wichtige Logik:
Es gibt zwei Hauptrouten: Eine für einzelne Artikel und eine für Kategorieansichten
Jede Route wird einem bestimmten Controller zugeordnet
Die "aspects" sorgen dafür, dass die richtigen Datenbankfelder für die URL-Generierung verwendet werden
Die Standardansicht ist die Listendarstellung (defaultController: 'News::list')
News Detailansicht Titletag darstellen, statt des immer gleichen Titels der Einzelseite
Wir wollen als Internetagentur aus Hannover das für den Nutzer, dass TYPO3 den Seitentitel des Datensatzes / der News ausgibt. Dafür muss ein TYPO-Script ins Setup:
Eine Variante findet ihr hier:
[request.getQueryParams()['tx_news_pi1']['news'] > 0]
page.headerData.10 = CONTENT
page.headerData.10 {
table = tx_news_domain_model_news
select {
pidInList = root,-1
uidInList.data = GP:tx_news_pi1|news
languageField = sys_language_uid
}
renderObj = TEXT
renderObj {
field = title
wrap = <title>| - Schöpflin Schule</title>
}
}
[end]