[Frage] tx_news Beiträge in verschiedenen Kategorien mit eindeutigem canonical tag TYPO3-Version: 6.1.1

  • 0 x
    29 Beiträge
    0 Hilfreiche Beiträge
    19. 09. 2013, 13:37

    Hallo zusammen,

    ich stehe gerade vor der Frage, wie ich tx_news-Beiträge, die mehreren Kategorien zugeordnet sind (und somit über unterschiedliche URLs erreichbar sind), eine eindeutige canonical URL geben kann, um duplicate content in Suchmaschienen zu vermeiden.

    Beispiel der URLs für ein und denselben Artikel:
    http://www.domain.de/kategorie1/mein-artikel.html
    http://www.domain.de/kategorie2/mein-artikel.html

    Nun soll, egal welcher der obigen Links aufgerufen wird, folgender Tag im Header der Website stehen:
    <link rel="canonical" href="http://www.domain.de/kategorie2/mein-artikel.html" />

    Gibt es hier vielleicht eine Extension (die ich noch nicht gefunden habe), die es dem Redakteur erlaubt, den Artikel einer Kategorie zuzuordnen, die dann im canonical tag verwendet wird? Oder gibt es andere Lösungswege?

    Ich freue mich über jeden Hinweis.


  • 1
  • hwt hwt
    Sternenflotten-Admiral
    0 x
    217 Beiträge
    0 Hilfreiche Beiträge
    20. 09. 2013, 00:36

    Hallo,

    du kannst dem Typolink in den 'additionalParams' die erste Kategorie einer jeden News ganz einfach übergeben, da die Uid dieser im Register 'newsCategoryUid' standardmäßig verfügbar ist.

    Sofern du also den Redakteuren klarmachen kannst, dass sie auf die Reihenfolge achten, brauchst du keine Extension dafür.

    Grüße!

  • 0 x
    29 Beiträge
    0 Hilfreiche Beiträge
    20. 09. 2013, 19:29

    Vielen Dank für den Tipp!
    Mir ist nicht nicht ganz klar, wie ein Redakteur die Reihenfolge der gewählten Kategorien festlegen kann, da er ja einfach die entsprechenden Checkboxen vor den Kategorien in dem Reiter Optionen eines Artikels wählt. Kannst Du mir hier noch auf die Sprünge helfen?

    Mit folgenden TYPOscript Schnipsel habe ich schonmal den canonical Tag allgemein hinbekommen (Vielen Dank an [url]http://www.fiedomedia.de/news/artikel/seo-canonical-tag/[/url]). Dieses Script gibt aber natürlich immer die gerade aufgerufen Kategorie aus:

    1. page.headerData.20 = TEXT
    2. page.headerData.20 {
    3. # hol die aktuelle Page Id
    4. parameter.data = page:uid
    5. # pruefe ob die Id wirklich eine Zahl ist
    6. parameter.intval = 1
    7. useCacheHash = 1
    8. # fuege zur URL alle Parameter hinzu
    9. addQueryString = 1
    10. addQueryString.method = GET
    11. # entferne folgende nicht erwuenschte Parameter aus der URL
    12. addQueryString.exclude = id, cHash, tx_ttnews[pointer], tx_indexedsearch[sword], tx_comments_pi1[page], tx_pagebrowse_pi1[page]
    13. # gib die reine URL zurueck
    14. returnLast = url
    15. }
    16. # bau mir den Meta-Tag zusammen (ohne Leerzeichen bei den spitzen Klammern)
    17. wrap = < link rel="canonical" href="|" >
    18. }

    Was müsste ich nun hier ergänzen, damit immer die erste Kategorie des Artikels verwendet wird?

  • hwt hwt
    Sternenflotten-Admiral
    0 x
    217 Beiträge
    0 Hilfreiche Beiträge
    20. 09. 2013, 20:18

    Hallo,

    oh da wars gestern wohl schon ein wenig spät ;). Ich habe nicht beachtet, dass es sich um 'tx_news' handelt und bin von 'tt_news' ausgegangen.

    Sorry.

  • 0 x
    29 Beiträge
    0 Hilfreiche Beiträge
    23. 09. 2013, 15:17

    Hat sonst noch jemand eine Idee? Bin für TYPOscript-Lösung aber auch einen Hinweis auf einen Extension offen :-)

  • Phigiro Phigiro
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    02. 09. 2015, 08:41

    Hallo,

    ich stehe gerade vor dem selben Problem, gibt es denn mittlerweile eine Lösung?

    Ich verwende tx_news und es würde reichen wenn immer die erste Kategorie eines Artikels für die canonical_url verwendet wird.

    Viele Grüße

  • InforMedic InforMedi...
    Jedi-Meister
    0 x
    394 Beiträge
    1 Hilfreiche Beiträge
    16. 09. 2015, 11:52

    Hi,

    ich habe meine Lösung hierher: [url]http://www.typo3forum.net/forum/typo3-fragen-probleme/75510-tx_news-singleview-canonical-link-generieren.html[/url]

    Allerdings benutze ich keine Category SinglePids, von dem her habe ich das in folgender anpassung entfernt:

    1. ### Canoncial URL fuer tx_news (detail) Datensaetze ###
    2. # Page IDs von SingleViews (AG)
    3. [globalVar = TSFE:id=69] || [globalVar = TSFE:id=102]
    4. # alten Canonical entfernen
    5. page.headerData.5 >
    6. # neuen Canonical generieren
    7. page.headerData.5 = COA
    8. page.headerData.5 {
    9. 5 = TEXT
    10. 5.value (
    11. <!-- Ext:news canonical url for newsid:{GP:tx_news_pi1|news} -->
    12. )
    13. 5.insertData = 1
    14. 10 = CONTENT
    15. 10 {
    16. table = tx_news_domain_model_news
    17. orderBy = tx_news_domain_model_news.title ASC
    18. groupBy = tx_news_domain_model_news.uid
    19. languageField = sys_language_uid
    20. # Newsfolder ID
    21. pidInList = 68
    22. selectFields = tx_news_domain_model_news.uid AS newsuid, tx_news_domain_model_news.datetime
    23. where = NOT tx_news_domain_model_news.deleted AND NOT tx_news_domain_model_news.hidden AND tx_news_domain_model_news.uid={GP:tx_news_pi1|news}
    24. where.insertData = 1
    25. #join = tx_news_domain_model_news_category_mm ON (tx_news_domain_model_news_category_mm.uid_local = tx_news_domain_model_news.uid) JOIN tx_news_domain_model_category ON (tx_news_domain_model_category.uid = tx_news_domain_model_news_category_mm.uid_foreign)
    26. }
    27. renderObj = COA
    28. renderObj {
    29. stdWrap.wrap = <link href="|" rel="canonical" />
    30. 10 = TEXT
    31. 10 {
    32. typolink.parameter = 69 #<- hardcoded oder via {constants}
    33. #typolink.parameter = oder wenn doch mit Kategorien dann mit einem join auf sys_category.single_pid?
    34. typolink.parameter.insertData = 1
    35. typolink.useCacheHash = 1
    36. typolink.forceAbsoluteUrl = 1
    37. typolink.additionalParams.cObject = COA
    38. typolink.additionalParams.cObject {
    39. 10 = TEXT
    40. 10.value = &tx_news_pi1[news]={field:newsuid}
    41. 10.insertData = 1
    42. }
    43. typolink.addQueryString = 0
    44. typolink.addQueryString.method = GET
    45. typolink.returnLast = url
    46. }
    47. }
    48. }
    49. }
    50. [global]

  • 1