Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 08.12.2011, 12:53   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
Question SEO-ориентированные заголовки в контенте, как?

Со стороны SEO-шников поставлена такая задача. На странице должен быть только один заголовок H1, остальные должны быть только H2, H3 и т.д.

Конечно в BE для каждого CE можно выбрать вид заголовка, но по умолчанию все заголовки H1. И при этом каждому редактору надо объяснять что нужно менять заголовок, кто-то забудет и т.п, не удобно вобщем.

Задумал я допились css_styled_content что бы второй и последующие заголовки на странице были H2, если указан "тип 1". Но сразу потерялся в коде:
Код:
# Content header:
lib.stdheader = COA
lib.stdheader {
	...
	10.1 = TEXT
	10.1.current = 1
	10.1.insertData = 1
	10.1.fontTag = <h1{register:headerStyle}{register:headerClass}>|</h1>
	10.2 < .10.1
	10.2.fontTag = <h2{register:headerStyle}{register:headerClass}>|</h2>
Тут fontTag по TSRef указан как обычный wrap, и по коду class.tslib_content.php так и есть, и нигде fontTag. не используется что бы к нему применить stdWrap. Но как тогда заменяются {register:headerStyle}{register:headerClass} ? И ведь работает!

Версия TYPO3 4.5.x
dmartynenko вне форума   Ответить с цитированием
Старый 09.12.2011, 12:15   #2
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Скорее всего это касается настроек TS для пользователей или страниц. То есть для определенного пользователя нужно исключить использование заголовка первого уровня из списка, либо установить там значение по умолчанию на заголовок второго уровня... Глянь документацию здесь:
https://typo3.org/documentation/docu...ru/4.5.2/view/

Еще по теме:
http://buzz.typo3.org/people/ron-hal...tent-elements/
Вкратце:
Цитата:
In the constants field (not setup) of your typoscript template add:

content.defaultHeaderType = 3
From that point in the page tree each header assigned a layout of "default" will be an H3. Change the "3" to another number and you will have the corresponding header level (i.e. change it to a "2" and you will have a default of H2).
Ну и это работает для инструктирования TYPO3, как выводить заголовки:
PHP код:
tt_content.header.20.dataWrap >
tt_content.header.20.prefixComment >
lib.stdheader.stdWrap.dataWrap >
lib.stdheader.stdWrap.prefixComment >
lib.stdheader {
    
10.1.fontTag = <h1>|</h1>
    
10.2.fontTag = <h2>|</h2>
    
10.3.fontTag = <h3>|</h3>
    
10.4.fontTag = <h4>|</h4>
    
10.5.fontTag = <h5>|</h5>
    
10.6.fontTag = <h6>|</h6>


Последний раз редактировалось Андрей Аксенов; 09.12.2011 в 12:41
Андрей Аксенов вне форума   Ответить с цитированием
Старый 09.12.2011, 14:11   #3
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Спасибо!

Добавление в TS константы content.defaultHeaderType = 2 - это то что нужно! Так все заголовки, где явно не указан тип, становятся H2.

Получается очень удобно - один заголовок явно указываем H1, остальные становятся H2 (в том числе в правых-левых колонках). В итоге время затраченное на приведение заголовков к правильной SEO семантике минимально.
dmartynenko вне форума   Ответить с цитированием
Старый 09.12.2011, 23:39   #4
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Я бы сделал просто H1 - заголовок страницы, а все остальное - h2.
Андрей Аксенов вне форума   Ответить с цитированием
Старый 12.12.2011, 17:25   #5
Dmitry Dulepov
Продвинутый
 
Аватар для Dmitry Dulepov
 
Регистрация: 28.04.2010
Сообщений: 73
По умолчанию

Цитата:
Сообщение от Андрей Аксенов Посмотреть сообщение
Я бы сделал просто H1 - заголовок страницы, а все остальное - h2.
...при этом H1 выводить автоматически пред контентом, а "type 1" убрать из выбора типов заголовков через TSConfig. Я так обычно и делаю...
Dmitry Dulepov вне форума   Ответить с цитированием
Старый 12.12.2011, 17:44   #6
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от Dmitry Dulepov Посмотреть сообщение
...при этом H1 выводить автоматически пред контентом, а "type 1" убрать из выбора типов заголовков через TSConfig. Я так обычно и делаю...
Простое и логичное решение. Но оно было не очевидное даже для меня, что уж говорить о новичках. Нужно написать "TYPO3 SEO Cookbook"

Кстати, а как вы Дмитрий и Андрей, решаете другие SEO-задачи? Например, есть tt_news и новости разбитые по категориям. На одной странице выводим /news/cat1/..., /news/cat2/... и т.д. Причем для каждой категории нужно прописать свои <title> (его же в H1), другие мета тэги и еще какой нибудь уникальный текст на 1-3 предложения. То же самое бывает нужно и для некоторых (или всех) Single страничек.

По крайней мере у меня для информационных разделов по типу новостей (но на своих экстах) такие задачи встают постоянно. Конечно можно добавить такие поля в каждую таблицу. Но получается лишний код в каждый экст, а если экт не свой - то нужно создавать новый экст для расширения сторонней таблицы. Плюс управление seo-информацией размазано по всей базе, нет какой-то централизованности.
dmartynenko вне форума   Ответить с цитированием
Старый 13.12.2011, 12:26   #7
Dmitry Dulepov
Продвинутый
 
Аватар для Dmitry Dulepov
 
Регистрация: 28.04.2010
Сообщений: 73
По умолчанию

За последнее время мне категории не приходилось использовать. Самый простой вариант – использовать TS conditions, но это чревато ухудшением производительности.

Не знаю, есть расширение, на написать такое, чтобы для категории можно было бы задавать заголовок страницы и прочие поля – не сложно. Надо просто анализировать параметры из t3lib_div::_GP(), загружать соответствующую категорию и подменять заголовок в $GLOBALS['TSFE']->altPageTitle.

Логично для категории задавать сеошные свойства в свойствах категории.
Dmitry Dulepov вне форума   Ответить с цитированием
Старый 13.12.2011, 12:51   #8
Андрей Аксенов
Senior Member
 
Регистрация: 12.04.2008
Адрес: Россия, Москва
Сообщений: 706
Отправить сообщение для Андрей Аксенов с помощью ICQ Отправить сообщение для Андрей Аксенов с помощью Skype™
По умолчанию

Ну я пользуюсь пакетом от WEC и templavoila_framework, в принципе основы TS там прописаны уже... Ну а остальное - вставить в нужные места значения из таблиц, если нужно...
Либо пользуясь настройками из этих пакетов делать настройки для сайта с нуля - тоже не сложно. Обычно структуры данных для темплавуаля я держу в файлах, также поступаю с TS и для страниц, и для расширений (вместо статических шаблонов из расширений копирую файлы в поддиректорию fileadmin, где их и правлю - лично мне так проще).
Реализовано все через TS в структуре данных шаблона темплавуаля:
Код:
			<field_content_block_1 type="array">
				<tx_templavoila type="array">
					<title>Main Content (Content Block 1)</title>
					<description>Outer to #contentBlock-1</description>
					<sample_data type="array">
						<numIndex index="0"></numIndex>
					</sample_data>
					<eType>ce</eType>
					<tags>div:outer</tags>
					<TypoScript_constants type="array">
						<containerWidth>{$containerWidth.f1f.contentBlock-1}</containerWidth>
					</TypoScript_constants>
					<TypoScript><![CDATA[

...
10 = COA
10 {
	wrap = <div id="contentBlock-1"><!--TYPO3SEARCH_begin-->|<!--TYPO3SEARCH_end--><div class="clearOnly">&nbsp;</div></div>
	10 = TEXT
	10 {
		data = page:title
		htmlSpecialChars = 1
		wrap = <h1>|</h1>
	}
}
20.20 = RECORDS
20.20 {
	source.current = 1
	tables = tt_content
}

					]]></TypoScript>
					<oldStyleColumnNumber type="integer">0</oldStyleColumnNumber>
					<proc type="array">
						<HSC type="integer">0</HSC>
					</proc>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>group</type>
						<internal_type>db</internal_type>
						<allowed>tt_content</allowed>
						<size>5</size>
						<maxitems>200</maxitems>
						<minitems>0</minitems>
						<multiple>1</multiple>
						<show_thumbs>1</show_thumbs>
					</config>
					<label></label>
				</TCEforms>
			</field_content_block_1>
Ну а для tt_news туда можно засунуть другой столбец из таблицы.

Расширение templavoila_framework добавляет следующую настройку (которую можно и отдельно использовать):

PHP код:
page PAGE
page 
{
    
typeNum 0
    config 
{
        
# Set up XHTML Transitional output
        
xmlprologue none
        doctype 
xhtml_trans

        
# Get rid of extra comments in the XHTML output.
        
disablePrefixComment 1

        
# Turn off the page title since we'll manually add it later.
        
noPageTitle 2
        
...
    }

    
headerData {
        
# Set the new page title
        
COA
        1 
{
            
wrap = <title> | </title>

            
TEXT
            1.data 
TSFE:page|title
            1.htmlSpecialChars 
1

            
# Don't repeat the same title twice.
            
TEXT
            2.noTrimWrap 
= | | {$siteTitle} |
            
2.if {
                
value.data TSFE:page|title
                equals 
= {$siteTitle}
                
negate 1
            
}
        }

        
=< additionalDocHeadCode

    
}
...

Ну а ребята из WEC уже позаботились о такой настройке в константах TS шаблона:
PHP код:
...
# Если заголовки определены "Обычные", то используется тег H2
content.defaultHeaderType 2
... 
А что касается категорий новостей, то я их не использую... то есть использую, но в путь категорию не добавляю, ну и в заголовок страницы тоже...
Тег meta также можно прописать из анонса новости, или перекопировать настройки из режима список новостей.
Андрей Аксенов вне форума   Ответить с цитированием
Старый 13.12.2011, 13:12   #9
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от Андрей Аксенов Посмотреть сообщение
А что касается категорий новостей, то я их не использую... то есть использую, но в путь категорию не добавляю, ну и в заголовок страницы тоже...
Тег meta также можно прописать из анонса новости, или перекопировать настройки из режима список новостей.
Я забыл написать, что к этому еще может добавится "региональность", пример реализации которой описан тут:
http://forum.typo3.biz/showthread.php?t=9114

Категории из новостей я только для примера привел (tt_news все знают). Но если есть новостной сайт (не важно на tt_news или другом аналоге), то там есть много категорий и часто региональность.
Другой похожий пример - каталог компаний. Тоже много категорий и региональность.

Получается, что для таких страниц, все title, meta и т.п. будут одинаковы - так как физически это одна и таже страница и одна и та же запись категории:
example.com/catalog/
example.com/catalog/category/xxx/
example.com/region2/catalog/
example.com/region2/catalog/category/xxx/
example.com/region3/catalog/
example.com/region3/catalog/category/xxx/
... и т.д.

Если вместо регионов использовать языковую версию (через L), а вместо категорий (как фильтров через GET параметры) отдельные страницы, то все то же самое без проблем встроенными средствами.
dmartynenko вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как генерировать TITLE Nikolay TYPO3: SEO и статистика посещений 2 20.08.2012 19:14
Как создать меню qstyler Общие вопросы 2 18.04.2011 14:27
Как поменять цвет текста в контенте. Onailig Общие вопросы 6 22.06.2008 23:29
посоветуйте как разобраться с ImageMagic-ом -=STYDENT=- Общие вопросы 3 27.07.2006 23:54
Как отправлять заголовки в Typo3? Dutchak Vitaly Общие вопросы 1 20.09.2005 00:08


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория