Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TYPO3: SEO и статистика посещений (http://forum.typo3.ru/forumdisplay.php?f=35)
-   -   TS код для генерации мета-тегов (http://forum.typo3.ru/showthread.php?t=4424)

Valery Romanchev 05.09.2007 11:13

TS код для генерации мета-тегов
 
хороший пример попался
http://typo3.fruit-lab.de/forum/zeig...titel-tag.html


еще надо типа этого добавить в localconf.php
$TYPO3_CONF_VARS['FE']['addRootLineFields'] = ',subtitle,keywords,description,author';

Код:


##########################
# Author: Sareen Millet  #
# Mein TypoScript für:  #
# - META                #
# - DC.META              #
# - TITLE                #
##########################

##########################
# Default Inhalte        #
##########################
lib.domain = TEXT
lib.domain.value =
lib.title = TEXT
lib.title.data = field:subtitle // leveltitle :-1,slide
lib.description = TEXT
lib.description.data = levelfield :-1, description, slide // levelfield :-1, subtitle, slide // leveltitle :-1,slide
lib.keywords = TEXT
lib.keywords.data = levelfield :-1, keywords, slide // levelfield :-1, subtitle, slide // leveltitle :-1,slide
lib.author = TEXT
lib.author.data = levelfield :-1, author, slide
lib.copyright = TEXT
lib.copyright.data = levelfield: 0, author
lib.robots = TEXT
lib.robots.value = index, follow


#########################
# Orginal ausschalten ###
#########################
config.noPageTitle = 1


#########################
# Title #################
#########################
lib.meta.title =< lib.title
lib.meta.title {
    append =< lib.domain
    append.required = 1
    append.noTrimWrap = | - ||
    outerWrap = <title>|</title>
}


##########################
# Meta ###################
##########################
lib.meta.description =< lib.description
lib.meta.description  {
    required = 1
    outerWrap = <meta name="description" content="|" />
}
lib.meta.keywords =< lib.keywords
lib.meta.keywords  {
    required = 1
    outerWrap = <meta name="keywords" content="|" />
}
lib.meta.author =< lib.author
lib.meta.author  {
    required = 1
    outerWrap = <meta name="author" content="|" />
}
lib.meat.copyright =< lib.copyright
lib.meta.copyright  {
    required = 1
    outerWrap = <meta name="copyright" content="|" />
}
lib.meat.robots =< lib.robots
lib.meta.robots  {
    required = 1
    outerWrap = <meta name="robots" content="|" />
}

##########################
# DC-Meta ################
##########################
lib.meta.dc.title  =< lib.title
lib.meta.dc.title  {
    required = 1
    outerWrap = <meta name="DC.Title" content="|" />
}
lib.meta.dc.description =< lib.description
lib.meta.dc.description  {
    required = 1
    outerWrap = <meta name="DC.Description" content="|" /> 
}
lib.meta.dc.subject =< lib.keywords
lib.meta.dc.subject  {
    required = 1
    outerWrap = <meta name="DC.Subject" content="|" />
}
lib.meta.dc.creator =< lib.author
lib.meta.dc.creator  {
    required = 1
    outerWrap = <meta name="DC.Creator" content="|" />
}
lib.meat.dc.right =< lib.copyright
lib.meta.dc.rights  {
    required = 1
    outerWrap = <meta name="DC.Rights" content="|" />
}


##########################
# Zeilenumbrüche #########
##########################
lib.emptyLine = TEXT
lib.emptyLine.value (

)


###########################
# Header zusammenbauen ####
###########################
page.headerData.999 = COA
page.headerData.999 {
    5 =< lib.emptyLine
    10 =< lib.meta.title
    15 =< lib.emptyLine
    20 =< lib.meta.description
    25 =< lib.emptyLine
    30 =< lib.meta.keywords
    35 =< lib.emptyLine
    40 =< lib.meta.author
    45 =< lib.emptyLine
    50 =< lib.meta.copyright
    55 =< lib.emptyLine
    60 =< lib.meta.robots
    65 =< lib.emptyLine
    70 =< lib.meta.dc.title
    75 =< lib.emptyLine
    80 =< lib.meta.dc.description
    85 =< lib.emptyLine
    90 =< lib.meta.dc.subject
    95 =< lib.emptyLine
  100 =< lib.meta.dc.creator
  105 =< lib.emptyLine
  110 =< lib.meta.dc.rights
  115 =< lib.emptyLine
}


##########################
# Anleitung: #############
##########################
# So wird anschließend ein Meta umdefiniert:
#lib.description.override = Eine neue Beschreibung
#lib.author.override = Author2


# So hängt man was an ein Meta hinten dran
#lib.keywords.append = TEXT
#lib.keywords.append.value = , hinten1, hinten2, hinten3

# So hängt man was an ein Meta vorne dran
#lib.keywords.prepend = TEXT
#lib.keywords.prepend.value = vorne1, vorne2, vorne3, vorne4,

# So wird eine Domain an den Seitentitel drangehängt
#lib.domain.override = MyPage.de

###########################
# Installation: ###########
###########################
# Damit die Meta's auch hirarchisch abgefragt werden können
# im Installations-Tool bei 'addRootLineFields' mit eintragen:
# subtitle,keywords,description,author
# => diese Felder können abgefragt werden mit
# lib.keywords = TEXT
# lib.keywords.data = levelfield :-1, keywords, slide
# bzw.:
# lib.title.data = leveltitle : -1, slide


Tod 05.09.2007 13:23

А что этот пример в кратце делает?
Так много кода :) Может на сайте объясняется, а то я в немецком не шарю.

Valery Romanchev 05.09.2007 17:58

Цитата:

Сообщение от Tod (Сообщение 14603)
А что этот пример в кратце делает?
Так много кода :) Может на сайте объясняется, а то я в немецком не шарю.

тайтл и мета-теги делает на основе данных с настоящих страниц
да в общем то код простой... выглядит только страшновато... а так - нет ни if ни stdWrap многоэтажных

Tod 05.09.2007 20:22

Та я тоже смотрю код "в принципе" простой... но чтобы сразу вьехать зачем именно это все нужно:)) это скорее всего требуется пробовать на практике и смотреть что куда выводит...
всякие там eveltitle :-1,slide...
вот например конструкция типа
lib.title = TEXT
lib.title.data = field:subtitle // leveltitle :-1,slide
это берется "подзаголовок" текущей страницы, а если его нет предыдущей чтоли? ну по логике и набору слов:)
Чем спрашивается ему не понравилось обычное))
lib.title = TEXT
lib.title.data = field:title
(который ведь есть по идее в каждой странице, без этого их создать нельзя)

Хотя там потом в Title добавляется домен чтоли:) append =< lib.domain
В общем, видимо какие-то специфические цели были у автора... или это хорошо все на SEO влияет)))
Кстати по "DC-Meta", оно хоть как-то РЕАЛЬНО используется? нужно в смысле? А то сколько видел сайтов только в типо3 встречал это ДЦ:)

Olga25 16.07.2009 11:55

Код:

Damit die Meta's auch hirarchisch abgefragt werden können
# im Installations-Tool bei 'addRootLineFields' mit eintragen:
# subtitle,keywords,description,author
# => diese Felder können abgefragt werden mit

Не понятно куда надо внести subtitle,keywords,description,author?
У меня TYPO3 Ver. 4.2.6

gunner 17.07.2009 12:40

Цитата:

Сообщение от Olga25 (Сообщение 25103)
Код:

Damit die Meta's auch hirarchisch abgefragt werden können
# im Installations-Tool bei 'addRootLineFields' mit eintragen:
# subtitle,keywords,description,author
# => diese Felder können abgefragt werden mit

Не понятно куда надо внести subtitle,keywords,description,author?
У меня TYPO3 Ver. 4.2.6

Цитата:

Go to the "Install Tool", and in the field "[addRootLineFields]" add these
two fields: "keywords,description"

After you have done that, both fields are accessable from rootLine. That
means you can simply do something like this:

-- cut --
# Place this in CONSTANTS
meta.description = Here you put the def description
meta.keywords = and,here,you,put,the,default,keywords
-- cut --

-- cut --
# Place this in SETUP
page.meta.DESCRIPTION = {$meta.description}
page.meta.DESCRIPTION.override.data = fullRootLine:9,description,slide
page.meta.KEYWORDS = {$meta.keywords}
page.meta.KEYWORDS.override.data = fullRootLine:9,keywords,slide
-- cut --
© http://www.typo3board.com/fpost3716.html

Olga25 20.07.2009 14:17

Спасибо, помогло.


Часовой пояс GMT +4, время: 23:53.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot