====== Suchmaschinenoptimierung (SEO) ======
===== Sitemaps =====
TYPO3 v9 kann XML-Sitemaps von normalen Seiten sowie Plugins (z.B. news) erstellen.
Hierfür muss:
- EXT:seo installiert werden
- das Static Template "XML Sitemap (SEO)" eingebunden werden
Die Liste aller Sitemaps kann dann unter dem folgenden ''typeNum'' aufgerufen werden:\\
%%https://www.example.org/?type=1533906435%%
Details: [[https://docs.typo3.org/typo3cms/extensions/core/Changelog/9.4/Feature-84525-XMLSitemap.html|Changelog - Feature: #84525 - XML Sitemap]]
==== news ====
Derzeit werden in einer Sitemap die News-Datensätze mehrfach ausgegeben – einmal pro Sprache. (Stand: TYPO3 9.5.4; EXT:news 7.0.8). Die URL-Pfade sind dabei immer die der jeweils aktuellen Frontend-Sprache.
Mit ''additionalWhere'' sowie einer Condition lässt sich das jedoch einfach lösen:
plugin.tx_seo {
config {
xmlSitemap {
sitemaps {
news {
provider = TYPO3\CMS\Seo\XmlSitemap\RecordsXmlSitemapDataProvider
config {
table = tx_news_domain_model_news
sortField = sorting
lastModifiedField = tstamp
// Workaround: Newsbeiträge auf aktuelle Frontend-Sprache begrenzen:
additionalWhere = sys_language_uid = 0
recursive = 3
pid = 15
url {
pageId = 9
fieldToParameterMap {
uid = tx_news_pi1[news]
}
additionalGetParameters {
tx_news_pi1.controller = News
tx_news_pi1.action = detail
}
useCacheHash = 1
}
}
}
}
}
}
}
// Anpassen für erste Fremdsprache:
[siteLanguage("title") == "English"]
plugin.tx_seo.config.xmlSitemap.sitemaps.news.config.additionalWhere = sys_language_uid = 1
[end]
----
===== Troubleshooting =====
Falls ein [[typo3:routing|Routing Enhancer]] für ''PageType'' angelegt wurde, werden die Links in der Sitemap-Liste nicht mehr richtig generiert: es fehlt der ''typeNum''-Parameter. Statt der jeweiligen Sitemap öffnet man die Startseite.
Um dies zu korrigieren, muss der ''typeNum'' //1533906435// in der config ergänzt werden:
routeEnhancers:
PageTypeSuffix:
type: PageType
default: /
map:
/: 0
feed.rss: 9818
sitemap.xml: 1533906435