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

Вернуться   Russian TYPO3 community > Тематические форумы > TYPO3: SEO и статистика посещений

Ответ
 
Опции темы Опции просмотра
Старый 21.02.2012, 15:25   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию Полноценный Google Sitemap для сайта на TYPO3

Пост вызван давно назревшей потребностью сделать sitemap который охватывает большую часть контента сайта, и обновившимся в репозитории экстом dd_googlesitemap от Дмитрий Дулепова. Это экст который "avoids typical errors by other similar extensions".

Но как показывает поверхностное знакомство, он не делает того что мне нужно. Все подобные эксты формируют учитывают записи страниц и некоторые еще записи из tt_news (как dd_googlesitemap). Причем все записи tt_news будут ссылаться на одну страницу (один и тот же single pid).

Но сайт побольше может содержать не только новости, но еще и другие разделы - каталог компаний, каталог мероприятий, каталог объектов недвижимости и много других. Причем и новости и другой контент может быть разнесен на разные страницы в зависимости от категории, назначения. И все они в идеале должны быть добавлены и актуальны в sitemap.

Как подойти к решению это проблемы? Как решаете ее вы?

Сейчас в голове крутятся такой вариант:
1. Сделать в каждом *своем* эксте обработчик для pageType=xxx (http://.../?type=xxx), и по этому значению type выводить вместо обычного контента тот же контент в формате sitemap.xml
2. Для сторонних экстов (тот же tt_news) - сделать аналог с помощью TS.CONTENT.
3. Собрать со всех страниц то, что они ответят на type=xxx в один sitemap или вывести отдельный sitemap для каждой страницы (раздела) - http://www.seomoz.org/blog/multiple-...on-and-traffic

Плюсы - возможность охватить весь контент, ведь даже самый навороченный sitemap-экст не может знать на каких страницах, что и как сконфигурировано, что бы составить полный перечень всех url.
Минусы - сложность решения.
dmartynenko вне форума   Ответить с цитированием
Старый 22.02.2012, 09:27   #2
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

XML sitemap по сути та же страница с ссылками, т.е. гигантским меню всего и вся. Ее вполне можно сделать написав альтернативный TS шаблон для, скажем, typeNum=33333
-=UncleByte=- вне форума   Ответить с цитированием
Старый 22.02.2012, 11:49   #3
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Да, это и похоже на мою идею. Только одним шаблоном это не решить - шаблон выводит одну страницу, а на сайте может быть пару десятков разделов раскиданных на разных ветках. Под разделом я имею в виду страницу с неким плагином (например tt_news), то есть когда одна "физическая" страница в TYPO3 содержит еще десятки-сотни-тысячи виртуальных страниц (например tt_news single view).
dmartynenko вне форума   Ответить с цитированием
Старый 22.02.2012, 12:14   #4
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Я приведу пример:
http://www.rzhevrealty.ru/sitemap.xml
выводится вот этим вот шаблоном:
Код:
[globalVar = GP:type > 0]
config.sourceopt.enabled = 0
[end]
sitemap = PAGE
sitemap {
typeNum = 777
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:text/xml
no_cache = 1
xhtml_cleaning = 0
admPanel = 0
absRefPrefix = http://www.rzhevrealty.ru/
}
### start_tags
10 = TEXT
10.value = <?xml version="1.0" encoding="UTF-8"?>
10.postCObject = TEXT
10.postCObject.char = 10
20 = TEXT
20.value = <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
20.postCObject = TEXT
20.postCObject.char = 10
### main_page
30 = COA
30 {
wrap = <url>|</url>
1 = TEXT
1.typolink.parameter.data = leveluid:0
1.typolink.returnLast = url
1.wrap = <loc>|</loc>
2 = TEXT
2.data = field:tstamp
2.date = c
2.wrap = <lastmod>|</lastmod>
}
### main_menu
40 = HMENU
40 {
wrap = |
entryLevel = 0
1 = TMENU
1 {
expAll = 1
NO {
doNotShowLink = 1
allStdWrap.cObject = COA
allStdWrap.cObject.wrap = <url>|</url>
allStdWrap.cObject.10 = TEXT
allStdWrap.cObject.10.typolink.parameter.field = uid
allStdWrap.cObject.10.typolink.returnLast = url
allStdWrap.cObject.10.wrap = <loc>|</loc>
allStdWrap.cObject.20 = TEXT
allStdWrap.cObject.20.field = tstamp
allStdWrap.cObject.20.date = c
allStdWrap.cObject.20.wrap = <lastmod>|</lastmod>
}
}
}
### side_menu
50 < .40
50.special = directory
50.special.value = 9
### show_realty_objects
60 = CONTENT
60 {
table = tx_estateagent_estate
select {
selectFields = uid, pid, tstamp, name
pidInList = this
orderBy = pid
recursive = 100
andWhere = NOT deleted
}
renderObj = COA
renderObj {
wrap = <url>|</url>
1 = TEXT
1.typolink.parameter.field = pid
1.typolink.additionalParams = &tx_estateagent_pi1[showUid]={field:uid}
1.typolink.additionalParams.stdWrap.insertData = 1
1.typolink.returnLast = url
1.insertData = 1
1.wrap = <loc>|</loc>
2 = TEXT
2.field = tstamp
2.date = c
2.wrap = <lastmod>|</lastmod>
}
}
### end_tags
70 = TEXT
70.value = </urlset>
}
Соответственно обычные страницы + страницы генерящиеся плагином каталога объектов недвижимости.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 22.02.2012, 12:45   #5
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Да, простой и полезный код.

Но на сколько я понимаю у вас записи для tx_estateagent_pi1 хранятся на тех же страницах на которых выводятся. Это упрощает решение.

Но в моем случае такая реализация будет затруднительна. Например, записи "компании" хранятся в нескольких SysFolder, и выводятся на нескольких разных страницах в зависимости от SysFolder и категории. Откуда выводить компании (SysFolder) и каких категорий задается в FlexForm плагина на странице. Получается всю такую конфигурацию для всего сайта нужно продублировать в шаблоне для typeNum = 777. Получится очень длинный шаблон с большим количеством кода, и следовательно легко что-то забыть там добавить, забыть вносить изменения сделанные в конфигурации разделов.

Теперь думаю сделать так как вы написали, но для каждого раздела (некоторые страницы) сделать свою конфигурацию для sitemap, так проще ее поддерживать актуальной.

И потом написать что-то вроде crawler-a, который:
1. будет проходить по всем страницам, запрашивать их с typeNum = 777
2. если получит в ответ валидный xml (это sitemap.xml для этого раздела), то добавит в общий sitemap index файл (
http://www.sitemaps.org/protocol.html#index)
3. ну и конечно sitemap обычных страниц тоже в sitemap index включит.
dmartynenko вне форума   Ответить с цитированием
Старый 22.02.2012, 13:14   #6
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Я когда продумывал как это сделать как раз прислушался к совету Валерия размещать все записи непосредственно на страницах, так их действительно проще вынимать для sitemap.
А по поводу длины шаблонов - тут не нужно боятся, надо просто комментировать для себя и заодно где возможно использовать саму базу и бэкенд, т.е. какие-то данные вводить в скрытый контент в бэкенде и т.п.
-=UncleByte=- вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Настройки параметров ImageMagick для TYPO3 на FreeBSD и Linux Valery Romanchev Мастер-класс 9 25.06.2013 22:38
Подойдет ли TYPO3 для информационного сайта? vold57 Вопросы выбора CMS 19 07.12.2011 00:23
Подойдет ли Typo3 для моего сайта Marlina Вопросы выбора CMS 2 12.05.2010 15:05
Подходит ли Typo3 для простого сайта? juvie Общие вопросы 3 23.02.2007 18:23
Каковы требования к хостингу для нормального функционирования сайта на базе typo3 Александр FAQ (Часто задаваемые вопросы) 11 01.12.2006 16:12


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


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

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