27 Reaktionen zu “So baut man Google Sitemaps heute?!”

Kommentare abonnieren (RSS) oder TrackBack URL

Alternativ bietet die tq_seo-Extension die Möglichkeit um eine Sitemap.

Auch eigene Erweiterungen sind über Hooks oder Datenbankeinträge ohne Probleme möglich, sehr flexibel sogar.

Aber benötigt man das überhaupt?
tq_seo erfasst alle generierten Seiten, sofern sie cachebar sind und speichert sie in der Datenbank.
tq_seo bietet somit eine „indizierte Sitemap“ und bisher klappt das wunderbar.

Markus Blaschke am 08. September 2011 um 08:17

Noch eine kleine Anmerkung:

Mit Version 4.0 der tq_seo-Extension kommen Backend-Module, auch für die Sitemap. Wird aber leider noch etwas dauern.

Eine Beschreibung findet man hier:
http://opensource.teqneers.de/typo3-extensions/tq-seo.html

Die Ausgabe einer Seitemap kann man z.B. hier abrufen:
http://www.teqneers.de/sitemap.xml

Die Ausgabe hier ist allerdings die Übersichts-Sitemap (wie im Sitemap-Protokoll empfohlen), einfach den ersten Link folgen.
Hier sieht man auch schön, dass auch tt_news-Extensions indiziert werden.

Die Sitemap lässt sich nach Sprachen trennen (eine Sprache pro Domain) und trennt auch die verschiedenen Root-Trees sauber.
Eine sehr elegante und schnelle Lösung.

Vorteil unserer Sitemap-Lösung von tq_seo ist, dass die Sitemap auch große Seiten verkraftet, da wir uns an der Protokoll halten und mehrere kleine Sitemaps bauen (Beschränkung der Sitemapgröße laut Protokoll).
Auch statische Sitemap.xml-Dateien lassen sich bequem via TYPO3-Scheduler bauen, so verringert man die Last auf dem Server noch mehr.

Markus Blaschke am 08. September 2011 um 09:04

Etwas überflüssig scheint mir dabei heutzutage die Angabe zu Pfaden zu Klassen, … es gibt doch den Autoloader… Bei addProvider() wäre es also toll wenn man nur den Klassennamen angeben bräuchte

Ingo am 08. September 2011 um 12:31

Danke für die Info Ingo… vielleicht ist das require_once direkt obsolete. Hab es noch nicht ausprobiert. zu der tq_seo. Da sehe ich das Problem, dass die Seiten erst auf der Sitemap sind, wenn eine Seite auch aufgerufen wird und die Frage welcher Mechanismus Seiten aus dem Index der Sitemap löscht. Zu mahl generiert es eine Content Sitemap für alle Erweiterungen, auch wenn diese z.B. News oder Videos darstellen…. Werde mir den Ansatz aber mal genauer anschauen…

Tim Lochmüller am 08. September 2011 um 18:07

Sehr reichhaltige, benutzerfreundliche Extension, die jedoch in Sachen Performance Nachteile haben kann (z.B: in Vergleich mit dd_googlesitemap)
Ein static file cache würde der Sache den letzten Schliff geben. Vielleicht ja bald im core?!

Steffen am 09. September 2011 um 03:10

@Tim:
tq_seo löscht Sitemap-Einträge über das Datum (und am besten über einen Scheduler-Task). tq_seo kümmert sich zudem auch darum, dass in der Sitemap nur korrekte Seiten landen, daher erst beim Indizieren. Alternativ kannst du auch die „Beta“-Features aktivieren, dann indiziert mit der 3.1-Version ein Typolink-Parser alle Typolinks auf einer Seite und indiziert somit die Website schneller (steht auch im Manual).
Ich baue gern auch weitere Funktionen ein, einfach im Forge eintragen. Ich bin gerade eh an der 4.0-Version dran, die einige Backend-Module (natürlich in ExtJS) bekommt.

Markus Blaschke am 09. September 2011 um 11:28

Das Manual von tq_seo auf typo3.org sieht ja echt grottig aus 🙂

Jo David am 09. September 2011 um 14:36

@Jo David:
Beschwer dich beim typo3.org-Team, ich habe das Manual mehrmals korrigiert, aber nicht nur tq_seo hat mit dem Manual ein Problem. Auch andere Extensions haben das Problem mit dem SWX-Parser. Vielleicht liegt es auch an der zu neuen OpenOffice.org-Version.

Aus dem Grund liegt das Manual auch als PDF bei, wobei das SWX ansich auch ok aussieht.

Markus Blaschke am 09. September 2011 um 14:55

Wir nutzen für diese Lösung die bereits angesprochene Extension TQ_SEO, diese
löst das Performance-Problem und funktioniert sogar mit großen Webseiten
(100.000 Seiten) und beherscht mehrere Bäume und verschiedene Sprachdomains.
Auch muss man hierfür keine Contentelemente anlegen was das TYPO3-Rendering
(Templavoila) umgeht und perfekt mit RealURL arbeitet.

Vielleicht solltet Ihr euch zusammentun!?

Timo am 10. September 2011 um 17:15

Zusammen tun?!? … Die Extensions verfolgen einen anderen Ansatz. TX_SEO generiert Content-Sitemaps aus einem Index. google_services generiert Content-, Video-, News-, Image- und Geo-Sitemaps direkt aus der Datenbank. Die Komplexität hat natürlich Performance einbußen. Deshalb werde ich mich auf den StaticFileCache fokussieren, welcher demnächst im Core ist.

Grüße,
Tim

Tim Lochmüller am 11. September 2011 um 15:46

Also ich habe jetzt mal dd_googlesitemap verwendet. Funktioniert einwandfrei.
Es ist sogar möglich eine Sitemap für tt_news zu erstellen. Mehrpachig versteht sich 🙂
Hier ne Anleitung:
http://blog.urbancms.de/typo3-sitemap-fur-content-und-tt_news-multilingual/

Mat am 26. Februar 2013 um 14:21

Vielen Dank für diese tolle Extension! Sie hat mir das Erstellen einer Sitemap für eine Extbase-Extension sehr leicht gemacht.

Ist es denkbar, die Repository-Funktionalitäten in der SitemapProvider-Klasse nutzbar zu machen? Dann könnte man noch einfacher die Datensätze aussuchen, die in der Sitemap aufgelistet werden sollen.

Michelle am 31. August 2014 um 10:13

Wenn dies nicht geht, dann ist das auf jeden Fall eine gute Idee. Ggf. geht DI nicht richtig, wenn du aber den ObjectManager baust und damit das Repository instanziierst, dann sollte es eigentlich geht, oder?

Alternativ kann ich gerne Korrekturen aufnehmen, sodass dies auch möglich wird.

ABER Achtung: Die Sitemap wird in der Generierung sehr langsamm. Da ist natürlich SQL ausschließlich durch den DB Abstraction layer fixer als Modelle mappen etc.

Grüße,
Tim

Tim Lochmüller am 31. August 2014 um 11:39

Ich habe leider nichts gefunden wo ich nachfragen könnte, deshalb versuche ich es einfach mal hier 🙂

1. Wirklich eine super Erweiterung und funktioniert fast perfekt (sogar zu perfekt 😉 deshalb komme ich gleich zu Punkt 2.

2. Ist es möglich einzelne Seiten aus der Sitemap zu entfernen? Wir haben für Zentrale Daten eine Seite innerhalb eines SysOrdners erstellt dort gibt es wieder Unterseiten mit div. Datensätzen. Diese Datensätze werden anschließend bei „regulären“ Seiten via „Datensatz einfügen“ verknüpft. Das Problem hierbei ist nun, das diese Zentrale Datensammlung so eigentlich nichts mit der Seite zu tun hat, deshalb würde ich diese gerne aus der Sitemap entfernen.

Manuel am 07. Oktober 2014 um 18:17

Das kann die default Sitemap nicht. Du kannst aber eine eigene Sitemap bauen und die Logik des Ausschlusses einfach mit in die Sitemap mit aufnehmen. Eiegne Sitemaps lassen sich einfach an der Extension registrieren… Grüße,
Tim

Tim Lochmüller am 07. Oktober 2014 um 19:56

Hallo Tim, danke für deine rasche Rückmeldung. Dann werde ich mir das gleich mal ansehen.

Gruß Manuel

Manuel am 08. Oktober 2014 um 07:33

Hallo Tim,
habe gerade in Deiner tollen Extension einen kleinen Bug entdeckt:
SitemapController.php

– $nodes = \TYPO3\CMS\Core\Utility\GeneralUtility::array_merge($nodes, $providerNodes);
+ $nodes = array_merge($nodes, $providerNodes);

GeneralUtility::array_merge liefert nicht das klassische php array_merge, sondern letzlich $nodes = $nodes + $providerNodes;
Da die Keys verschiedener $providerNodes aber zumindest teilweise identisch sind, wird überschrieben.

Grüsse
Frank

Frank am 30. Januar 2015 um 13:24

Hallo Tim, wie kann ich denn für
news 3.0.1
t3extblog 1.1.0
die Ausgabe für die jeweiligen Beiträge in die Sitemap hinbekommen ?
Gruß

Reiner am 16. Juni 2015 um 14:14

Hey Rainer, dies wäre jeweils einzelne Provider ( https://github.com/lochmueller/google_services/tree/master/Classes/Service/SitemapProvider ). Der bestehende „News“ provider ist für tt_news und nicht News, somit wäre das zwei Provider welche nicht in der Standard-Extension enthalten sind, aber schnell entwickelt und angebunden sind…

Grüße,
Tim

Tim Lochmüller am 16. Juni 2015 um 17:50

Hi Tim,
ich habe mich gerade durch den Code von dieser Extension gewühlt und ich würde gerne Seiten von der Sitemap ausschließen. Dann muss ich ja die Seiten auf no_search bekommen. Welcher Wert im Typo3-Backend ist denn das? Und wo wird die Sitemap.xml eig erstellt?

Kilian am 04. März 2016 um 01:06

Hey Killian, die Sitemap wird auf der Seite generiert, auf die du das Plugin legst. Den Ausschluss findest du in den Seiteneigenschaften. Es ist der Punkt, eine Seite aus der Suche auszuschließen.

Beste Grüße,
Tim

Tim Lochmüller am 04. März 2016 um 09:15

Hallo,
das mit dem „separaten“ Ausschluss über die Seiteneigenschaften ist zwar vom Grundprinzip her gut das man es gezielt auswählen kann, aber aus deaktivierte Seiten gehören grundsätzlich ausgeschlossen. Hier macht es keinen Sinn 2 Eigenschaften zu pflegen.
Mir ist auch aufgefallen das nicht übersetzte Mehrsprachige Seiten, sprich Seiten die es nicht gibt in die Sitemap aufgenommen werden.
Nur so als Anmerkung.

Aber für ne Beta find ich funktioniert es schon mal recht gut.

Gruß

Klaus Wieland am 13. März 2016 um 16:22

Hi Tim,
habe das Problem, dass obwohl „include in search = disable“ in den Seiteneigenschaften gesetzt ist, die Seiten dennoch in der Sitemap auftauchen. In der Datenbank sind die Seiten unter pages auf no_search = 1 gesetzt. Cache im Install-Tool gelöscht, auch die Datenbanken wie index_rel. Installiert ist typo3 7.6.7
Eine Idee, wonach ich noch schauen könnte?
Grüße,
Dirk

Dirk am 24. Mai 2016 um 10:05

Hallo Dirk, der Fehler ist bereits korrigiert und wird teil des nächsten Releases sein: https://github.com/lochmueller/google_services/commit/70c573c3999206f6465ed6bd23c6916d8f3128ab

Grüße,
Tim

Tim Lochmüller am 24. Mai 2016 um 20:56

Hallo Tim,

gibt es inzwischen einen SiteMap Provider für die news Extension von Georg Ringer?

In Deinem github Repository bin ich leider nicht fündig geworden.

Gruß,
Mirko

Mirko am 19. Juli 2017 um 14:16

Hey Mirko, im Moment noch nicht bzw. hatte ich die Anforderung noch nicht. Habe mal ein Issue aufgemacht und werde mir dies in den nächsten Tagen mal anschauen:
https://github.com/lochmueller/google_services/issues/23

Beste Grüße,
Tim

Tim Lochmüller am 19. Juli 2017 um 16:54

Super! *****

Mirko am 19. Juli 2017 um 17:07

Kategorien

Archiv