AngusIM navigation

Ranking Check

Kostenloser Ranking Service.
Jetzt anmelden und testen!
www.private-ranking.de


Abonnieren

RSS 2.0

Archiv

Suchmaschinenoptimierung
Veröffentlicht in: Typo3
05.05.2010

Crawler TSConfig für tt_news pagination

Bei der Arbeit mit Typo3 kommt häufig auch der Crawler zum Einsatz. Vor allem beim Caching großer Webpräsenzen ist er eine große Hilfe. Denn es ist gerade hinsichtlich des Zusammenhangs Ladezeit - Suchmaschinenranking wichtig, dass alle Webseiten schnell abgerufen werden können.

Der Crawler zieht seine Konfiguration aus der TSConfig der Rootseite im Backend. Eine ausführliche Anleitung findet sich in der

Für den Crawler gibt der Pfad "tx_crawler.crawlerCfg.paramSets"die Parameter zur Konfiguration an. Eine normale Konfiguration sieht folgendermaßen aus:

  1.  
  2. tx_crawler.crawlerCfg.paramSets {
  3.   language = &L=[|_TABLE:pages_language_overlay;_FIELD:sys_language_uid]
  4.   language.procInstrFilter =tx_indexedsearch_reindex, tx_indexedsearch_crawler
  5.   language.baseUrl = http://www.domain.de/
  6. }

Im Objekt "language", wessen Name i.Ü. frei wählbar ist, werden als Erstes an den Crawler Parameter übergeben. Den String in den eckigen Klammern wertet der Crawler so aus, dass im ersten Teil eine Tabelle angegeben werden kann, aus der dynamisch abgefragt wird und im Zweiten die jeweilige Spalte. Des Weiteren kann man über den Konfigurations-Parameter "procInstrFilter" zusätzliche Extensions in den Crawlprozess einbinden. Die baseUrl gibt dem Crawler die zu crawlende Domain an.

Der Crawler und die Extension tt_news

Da Inhalts-Erweiterungen wie z.B. tt_news eine andere Art der Inhaltsverwaltung haben, muss der Crawler daran angepasst werden. Bei tt_news sind die Inhaltselemente nicht kaskardierend an eine Rootseite eingehängt, sondern liegen in einem Ordner. Die Auswahl des jeweiligen Datensatzes erfolgt über einen Parameter in der URL. Diese Funktion muss in der Crawler-TSConfig nachgebildet sein:

  1. #_PID:1234 ist der Systemordner mit den Newsbeiträgen
  2. #pidsOnly = 123 ist die Seite mit der Einzalansicht für Newsbeiträge.
  3. tx_crawler.crawlerCfg.paramSets {
  4.   tt_news = &tx_ttnews[tt_news]=[_TABLE:tt_news;_PID:1234]
  5.   tt_news.procInstrFilter = tx_indexedsearch_reindex
  6.   tt_news.cHash = 1
  7.   tt_news.pidsOnly = 123
  8. }

Wie man sieht, ist die Übergabe der Paramter ähnlich wie im ersten Beispiel über die Angabe der Datentabelle (tt_news), wobei hier die ID des Sysordners angegeben ist, in dem die News liegen. Damit der Crawler diese Konfiguration nur für die einzelnen Newsbeiträge ausführt, wird er über "pidsOnly" auf die UID der "Singelview"-Seite eingesperrt.

So weit, so gut. Steht ja auch alles in der Doku.

Sonderfall: tt_news pagination. Erweiterte Konfiguration

Bei tt_news gibt es darüber hinaus eine Pagination. Diese listet in der LIST - Ansicht alle weiteren Beiträge auf Unterseiten auf, sobald die maximale Anzahl Seiten pro Listenansicht erreicht ist. Diese "Unterseiten" werden über den URL-Parameter "pointer" generiert. Ohne eine entsprechende Konfiguration werden diese Übersichtsseiten aber nicht vom Crawler erfasst. Dies mag für das Caching eventuell unerheblich sein. Wenn man mithilfe des Crawlers und der Extension staticpub jedoch HTML-Seiten generieren möchte, fehlen die Dateien im Ordner der statischen Seiten.

Als Lösung müsste man demnach eine weitere Crawler-Konfiguration anlegen und dem Parameter "pointer" die jeweilige Pagination-ID (Also 1-n) mitgeben. Generell ist die Übergabe dynamischer Parameter über das TSConfig abhängig von der jeweiligen Extension. Wie oben bereits gesehen, kann über die TSConfig dem Crawler eine Tabellenabfrage mitgegeben werden. Und witzigerweise scheinen die Macher des Crawlers auch an den Sonderfall mit der Pagination gedacht zu haben. Bei einem Blick in die Skript-Dateien fällt einem die Funktion "expandParamters" ins Auge, welche die übergebenen Informationen auswertet. Und an diese Funktion kann man auch einen "integer-range" übergeben, im Format [int] - [int]. Im TSConfig würde das folgendermaßen aussehen:

  1.   tt_news_2 = &L=[|_TABLE:pages_language_overlay_FIELD:sys_language_uid]&tx_ttnews[pointer]=[1-50]
  2.   tt_news_2.procInstrFilter = tx_staticpub_publish
  3.   tt_news_2.cHash = 1
  4.   tt_news_2.pidsOnly = 123

Wobei der Crawler hier die Werte von eins bis 50 durchgeht, unabhängig davon, ob noch Inhalte für die Pagination vorhanden sind. Aber es tut, was es soll, und das ist das Wichtigste :-)

Trackback-Link
Views: 1381
  • 0 Kommentare

Mein Kommentar

Benachrichtige mich, wenn jemand einen Kommentar zu dieser Nachricht schreibt.

Zurück