Skip to main content

News mit Google-konformer RealURL unter TYPO3

Das tolle an TYPO3 ist, dass es sehr fexibel. Doch nicht immer sind alle Kniffe und Tricks bekannt, um das Gewünschte zu erzielen.

Eine der wenigen Herausforderungen ist es, das bekannte tt_news- Modul zusammen mit RealUrl in eine Google-konforme URL umzugestalten.

Die Verwendung von tt_news ohne RealURL sieht wie folgt aus:
tx_ttnews[tt_news]=101&tx_ttnews[backPid]=13&cHash=e525dc45cc

Mit aktiven RealUrl sieht es schon besser aus:
/datum/2006/09/14/news-fuer-google/

Diese Formatierung reicht in der Regel auch vollkommen aus, beinhaltet jedoch einige für Google unnötig tiefe Verzeichnisstrukturen.

Unabhängig dessen, beschreiben die Regeln von Google zur Aufnahme der eigenen Inhalte in Google-News folgendes:

  • Die URL muss für jeden News einmalig sein
  • Eine jede URL muss eine mindestens dreistellige und einmalige Zahl besitzen


Damit wird die Standard-Formatierung von RealUrl unbrauchbar, denn das Jahr als eine einmalige Zahl zu nutzen entfällt hierfür.


Mit TypoScript beginnen

Mit dieser Einstellungen entfernen wir die Datums-Informationen in der URL und mit dem passenden RealURL-Konfigurationen sieht die URL dann wie folgt aus: /details/news-fuer-google/

plugin.tt_news.useHRDatesSingle = 0
plugin.tt_news.useHRDatesSingleWithoutDay = 0
plugin.tt_news.dontUseBackPid = 1
plugin.tt_news.useHRDates = 0


Die passende RealURL konfiguration ohne Datums-Parameter würde dann wie folgt aussehen:

'postVarSets' => array(
  '_DEFAULT' => array (
      'details' => array(
               array(
                   'GETvar' => 'tx_ttnews[tt_news]',
                   'lookUpTable' => array(
                     'table' => 'tt_news',
                     'id_field' => 'uid',
                     'alias_field' => 'title',
                       'addWhereClause' => ' AND NOT deleted',
                       'useUniqueCache' => 1,
                       'useUniqueCache_conf' => array(
                        'strtolower' => 1,
                           'spaceCharacter' => '-',
                       ),
                   ),
               ),
          ),
     ),
),

 


Der Erste gute Schritt wäre getan, mit den nächsten bekommen wir nun auch die Unique-ID, also die einmalige Ganzzahl in die URL und welche würde sich hierfür am besten eignen, als die eigene AutoIncrement-ID von tt_news.

Da Google-News eine mindestens dreistellige Ganzzahl vorsieht, muss ggf. bei einer Neuinstallation und noch nicht geschriebenen News der Increment Wert in der Datenbank auf 100 gesetzt werden, da diese beginnend mit dem Ersten Eintrag immer mit der 1 anfangen werden.

Der Entscheidende Eintrag in der RealURL zur Verwendung einer ID in der URL  sieht nur eine Zeilenänderung des oberen Beispiels vor:

'alias_field' => 'concat(title,\'-\',uid)',

 
Damit haben verwenden wir die URL mit dem Wert des Titels, gefolgt von einem Bindestrich und dann der uid aus der Datenbank.

Somit hätten wir eine Google-konforme URL erstellt.