Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
29.12.2007, 00:59 | #1 | |
Administrator
|
TYPO3, SEO-edition ???
Вопрос в том, что туда должно войти и как это должно быть сделано.
исходный список Цитата:
http://typo3.org/documentation/docum....0.1/view/1/4/ http://typo3.fruit-lab.de/ http://www.dawsoninteractive.com/art...-introduction/ http://www.dawsoninteractive.com/art...-1-title-tags/ и вот они чеклист написали http://www.dawsoninteractive.com/art...seo-checklist/ Эксты на эту тему seo_basics seo_dynamic_tag Последний раз редактировалось Valery Romanchev; 11.01.2008 в 02:08 |
|
29.12.2007, 02:55 | #2 |
Senior Member
Регистрация: 09.12.2007
Сообщений: 281
|
1. и поправить его для ньюсов, если можно
2. есть ли карта для ньюсов? 3. был экстеншени для аналитики, причем новой 4. можно и просто ТС написать 5. ай... если только управляемый есть, например - в этой ветке все вкусности кажут на ид=1, а в соседней - на ид=3, а то тупой слив всех одинаковых ключевиков со всего сайта на 1 страницу. ну и потом если у меня тошнотность высокая - что, прм-таки с каждого ключевика ссылку делать? ай... тогда спецтег для выделения проще, да еще бы с кнопочкой в редакторе 6. симулейт статик лучше в принципе, но опять -таки ньюсы... 7. + 8. +++! 9. +- надеюсь, гиперконтекст скоро запустят 10. -+ очччень редко надо. 11. ну это если с готовыми шаблонами гнать 12. добавлять так по полной программе - во все юзаемые хоть кем-то 13. +- без острой необходимости, у нас все равно рейтингами будешь обвешиваться + 14. RSS из ньюсов и контента для нашего любимого Я. Скорость индексации с и без - небо и земля. |
29.12.2007, 03:07 | #3 | ||||
Administrator
|
да, это надо вписать.
Т.е. идея в том, что будет здоровый кусок TS кода, с которым можно извращаться как угодно: - задать начальную и конечную фразу - брать данные из title, subtile или description страницы - настроить или запретить наследование вставлять в этот TS условия, или юзать константы, которые уже вставлять в страницах.. Цитата:
Цитата:
Цитата:
кстати RealURL незаменим, если надо сохранить старые URL страниц типа как здесь http://watergeo.ru/uslugi.shtml Цитата:
Последний раз редактировалось Valery Romanchev; 29.12.2007 в 03:24 |
||||
29.12.2007, 08:40 | #4 | |
Senior Member
Регистрация: 09.12.2007
Сообщений: 281
|
Цитата:
а можно настроить РеалУрл для работы без иерархии, по комбинации тайтл+ид для новостей и прочих плагинов и алиас/тайтл+ид для страниц? что-то было на тему фикседПостВарс или как их там, чтоб "get rid of "article" in URL"? типа Mysite.ru/vot-moya-ktutaya-news-456.html |
|
05.01.2008, 02:07 | #5 | |||
Administrator
|
Цитата:
Цитата:
Кстати, а номер зачем нужен? (самим удобнее с номером конечно) в симулайт статик по дефолту вот так для страниц: http://www.some-site.org/Conference_Event.188.0.html или вот так http://www.some-site.org/Conference_Event.188.html и вот так тоже наверное http://www.some-site.org/Conference-Event.188.0.html и вот так может быть для новостей http://server.com/newstitle+M5aj89345.0.html Цитата:
Или в яндексе есть еще какие-то варианты? |
|||
05.01.2008, 02:09 | #6 |
Administrator
|
по сабжу получается следующее:
Код:
#------------------------------------------------ # Header related #------------------------------------------------ page.config.disableAllHeaderCode = 1 # correct XHTML output config{ doctype = <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" } config { removeDefaultJS = external inlineStyle2TempFile = 1 } #------------------------------------------------ # CSS including #------------------------------------------------ page.headerData.100 = TEXT page.headerData.100.value ( <link href="{$template_css}style.css" rel="stylesheet" type="text/css" /> ) # CSS including end ------------------------------------------------------- тут использованы seo_dynamic_tag Код:
temp.seo = COA temp.seo { 10 < plugin.tx_seodynamictag_pi1 10 { # Example for the page title #special = title special = register register = title query { select = CONCAT(`title`, ': ', `short`) from = `tt_news` where = `uid` = $1 && `deleted` = 0 && `hidden` = 0 var.1 = tx_ttnews[tt_news] } } 20 < plugin.tx_seodynamictag_pi1 20 { # Example for a meta tag special = register register = description query { select = `bodytext` from = `tt_news` where = `uid` = $1 && `deleted` = 0 && `hidden` = 0 var.1 = tx_ttnews[tt_news] maxLength = 200 } } 30 < plugin.tx_seodynamictag_pi1 30 { # Example for a meta tag special = register register = keywords query { select = CONCAT(`title`, ' ', `short`) from = `tt_news` where = `uid` = $1 && `deleted` = 0 && `hidden` = 0 var.1 = tx_ttnews[tt_news] keywords = 1 } } } page = PAGE page.typeNum = 0 page.1 < temp.seo page.10 = USER page.10.userFunc = tx_templavoila_pi1->main_page // Возможноые условия // [globalVar = TSFE : beUserLogin > 0] // [globalVar = TSFE:id = 1] // [globalVar = GP:L=1] // [PIDinRootline = 3] // [PIDupinRootline = pages-uid, pages-uid, ...] // формат noTrimWrap: | здесьл то, что перед| здесь то, что полсле | ########################## # 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 [globalVar = GP:tx_ttnews|tt_news > 0] lib.title.data = register:title lib.description.data = register:description lib.keywords.data = register:keywords [end] ######################### # Title ################# ######################### lib.meta.title =< lib.title lib.meta.title { prepend = TEXT prepend.value = {$title_begin} prepend.required = 1 prepend.noTrimWrap = || - | append = TEXT append.value = {$title_end} 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="|" /> } ########################## # emptyLine ######### ########################## lib.emptyLine = TEXT lib.emptyLine.value ( ) ########################## # 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 page.5 = COA page.5.10 = TEXT page.5.10.value( <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ) /* page.5.20 = TEXT page.5.20.value( <title>Начало тега title - Тест без disableAllHeaderCode - Конец тега title</title> ) */ page.5.20 = COA page.5.20 { 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 } page.5.90 = TEXT page.5.90.value( <link href="/fileadmin/templates/style.css" rel="stylesheet" type="text/css" /> ) [globalVar = TSFE : beUserLogin > 0] page.5.90.wrap =|<link href="/typo3conf/ext/pixe_feediting/FE_editMenu/FE_editMenu_topapps.css" rel="stylesheet" type="text/css" /> [end] page.5.100 = TEXT page.5.100.value( <base href="{$site_url}" /> <meta name="robots" content="index,follow" /> <meta name="revisit-after" content="2 weeks" /> <meta name="generator" content="TYPO3 4.1 CMS" /> </head> <body> ) page.15 = COA page.15{ 10 = TEXT 10.value( <script type="text/javascript" src="/fileadmin/templates/script.js"></script> <script src="https://ssl.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "...."; urchinTracker(); </script> </body></html> ) } |
05.01.2008, 02:35 | #7 |
Administrator
|
Теперь естественно возник вопос, какую Google SiteMap юзать
наверно эту: http://typo3.org/documentation/docum....4.3/view/1/2/ или вот эту http://typo3.org/documentation/docum...ap/0.4.2/view/ http://typo3.org/documentation/docum...1/2/#id3746288 (здесь мало фич) |
06.01.2008, 22:23 | #8 |
Administrator
|
по видимому вот эту weeaar_googlesitemap пропатченную надо юзать
настройка в TS, в TS же можно сделать несколько sitemap еще возникла идея включить в эту сборку нормальную реализацию блога (блогов) и журнала (журналов). |
11.01.2008, 03:13 | #9 |
Administrator
|
еще стало понятно, что отключать полностью генерацию всего хедера
page.config.disableAllHeaderCode = 1 это не удобно - экстеншены много js вставляют - неудобно каждый раз руками подцеплять Так что вариант с ручной генерацией хедера - будет как опция, для особо замороченных сеошников |
13.01.2008, 18:07 | #10 |
Administrator
|
еще одна мысль пришла в результате обсуждения
http://forum.searchengines.ru/showthread.php?t=195653 а именно: Если все-таки хочется иметь разделы в URL, то URL надо делать такими: http://some.ru/67/71/ либо такими http://some.ru/from-alias/from-realurl-path-segment/ (для дефолтового языка) для остальных языков http://some.ru/en/from-alias/from-realurl-path-segment/ Но не вот такими: http://some.ru/from-alias/from-realu...h-segment.html и не вот такими http://some.ru/nazvanie-str/kakaya-t...chen-dlinnaya/ Сделать это очень просто 'segTitleFieldList' => 'tx_realurl_pathsegment,alias,uid', PHP код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Typo3 для автосайта | Евгений | Общие вопросы | 11 | 26.02.2008 01:17 |
TYPO3 - SEO friendly CMS | RSS Bot | Новости TYPO3 (на английском) | 0 | 19.07.2007 12:53 |
Second edition of the International TYPO3 Developer Days | RSS Bot | Новости TYPO3 (на английском) | 0 | 24.02.2007 21:34 |
Second edition of the International TYPO3 Developer Days | RSS Bot | Новости TYPO3 (на английском) | 0 | 22.02.2007 19:21 |
возможности Typo3? чпу, Seo , флэш | k0t0vich | Вопросы выбора CMS | 9 | 23.06.2006 13:37 |