|
zdobr
Гость
|
 |
« : 02.06.2006, 16:06:35 » |
|
На страницах "блог-содержимое категории" (и что самое плохое, в том числе на главной странице) Joomla собирает теги description и keywords из тегов каждого материала (флаги мета я оставил специально пустыми). Все было бы ничего, но собирает она с последнего материала до первого, а мне важно чтобы с первого к последнему. Но лучше, если бы она брала для главной страницы Флаги мета , а для остальных пусть как есть, но без Флагов. Второй вариант даже предпочтительней, так как теги для главной будут нормальной длины. Подскажите как сделать? Менять, как я понимаю надо здесь, но я не программист. * Tags ordered in with Site Keywords and Description first */ function appendMetaTag( $name, $content ) { $name = trim( htmlspecialchars( $name ) ); $n = count( $this->_head['meta'] ); for ($i = 0; $i < $n; $i++) { if ($this->_head['meta'][$i][0] == $name) { $content = trim( htmlspecialchars( $content ) ); if ( $content ) { if ( !$this->_head['meta'][$i][1] ) { $this->_head['meta'][$i][1] = $content ; } else { $this->_head['meta'][$i][1] = $content .', '. $this->_head['meta'][$i][1]; } } return; } } $this->addMetaTag( $name , $content ); }
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #1 : 02.06.2006, 16:21:42 » |
|
давным давно я предлагал следующий вариант решения проблемы: в файле frontend.php строки: $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc ); $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
заменить на: if (($option == '') || ($option == 'com_frontpage')) { $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc ); $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys ); }
Данная модификация позволит вставлять глобальные мета только на главной страице, а на всех остальных они вставляться не будут.
|
|
|
|
|
Записан
|
|
|
|
|
zdobr
Гость
|
 |
« Ответ #2 : 02.06.2006, 16:47:35 » |
|
Спасибо, я пробовал этот вариант, все так и просходит, но при этом добавляются часть описаний и ключевых слов из всех размещенных на главной странице материалов и мета-теги разбухают запредельно. Это можно устранить?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #3 : 02.06.2006, 17:00:02 » |
|
в файле content.html.php найди строчки: $mainframe->appendMetaTag( 'description', $row->metadesc ); $mainframe->appendMetaTag( 'keywords', $row->metakey );
и замени их на: global $option; if (($option != '') && ($option != 'com_frontpage')) { $mainframe->appendMetaTag( 'description', $row->metadesc ); $mainframe->appendMetaTag( 'keywords', $row->metakey ); }
Т.е. добавление ключевых материалов будет происходить ТОЛЬКО если мы сейчас не на главной странице... Такой вариант устроит?
|
|
|
|
|
Записан
|
|
|
|
|
zdobr
Гость
|
 |
« Ответ #4 : 02.06.2006, 17:29:31 » |
|
Спасибо, все получилось, приятно пообщаться с умным человеком. Приглашаю взглянуть http://zdobr.ru Удачи
|
|
|
|
« Последнее редактирование: 23.08.2006, 16:41:29 от zdobr »
|
Записан
|
|
|
|
Patrick
Осваиваюсь на форуме
 
Репутация: +6/-12
Offline
Пол: 
Сообщений: 132
|
 |
« Ответ #5 : 30.07.2006, 02:19:58 » |
|
Большое спасибо, Смарт.
|
|
|
|
« Последнее редактирование: 30.07.2006, 02:58:18 от Patrick »
|
Записан
|
|
|
|
|
_Sash@
Гость
|
 |
« Ответ #6 : 07.08.2006, 21:35:59 » |
|
Да, и меня она как-то давно вот тут интересовала http://ru-mambo.ru/smf/index.php/topic,13361.0.htmlНу и конечно, сразу меня smart направил на: давным давно я предлагал следующий вариант решения проблемы:
в файле frontend.php строки: .... Данная модификация позволит вставлять глобальные мета только на главной страице, а на всех остальных они вставляться не будут.
Потом я уже подобрался и к правке content.html.php, чтобы не клеило на главной. Но ведь, по первому хаку, на всех остальных страницах (например галерери, архивы) - глобал вообще отсутсвует в мета. Поэтому как бы не совсем то. У себя я этот вопрос уже данво так решаю (прошу прощения, если это совсем не ново, просто в других темах этого не встречал я): 1. Соответсвенно как и от smart - frontend.php, только по другому $description=''; $keywords = '';
if (count ($mainframe->_head['meta'])) { foreach($mainframe->_head['meta'] AS $key => $value){ if( $mainframe->_head['meta'][$key][0]=='description'){ $description .= $mainframe->_head['meta'][$key][1]; }elseif ($mainframe->_head['meta'][$key][0]=='keywords'){ $keywords .= $mainframe->_head['meta'][$key][1]; } } } if (!$description) $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc ); if (!$keywords) $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
Этим мы избегаем приклея глобал-мета в контенте и оставляем возможность их клеить в других компонентах (в большинстве они-мета вообще отсутствуют, не во всех конечно, например в VM при просмотре деталей товара, категории, а в докмэне их нет). Тем более, теперь даже контент, если мы забыли написать туда мета - теперь пустовать он не будет - хотя бы глобал 2. Ну и соответственно для content.html.php - чтобы к главной не лепило (а иначе мета есть-и проверка даст то, что и глобал не приклеится) - код выше в ответе smart По-моему, теперь все универсально под любой компонент. В общем, если кто-то подскажет лучше - буду рад.
|
|
|
|
« Последнее редактирование: 11.08.2006, 03:07:03 от _Sash@ »
|
Записан
|
|
|
|
Dmitriy
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 33
|
 |
« Ответ #7 : 02.01.2007, 01:43:21 » |
|
Спасибо за код, все супер за одним исключекнием можно сделать тоже самое Этим мы избегаем приклея глобал-мета в контенте и оставляем возможность их клеить в других компонентах (в большинстве они-мета вообще отсутствуют, не во всех конечно, например в VM при просмотре деталей товара, категории, а в докмэне их нет). Тем более, теперь даже контент, если мы забыли написать туда мета - теперь пустовать он не будет - хотя бы глобал
но и для статического материала? а то для динамических это работает, а для стат нет.... ????
|
|
|
|
|
Записан
|
|
|
|
ArtPV
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 44
Компания ArtPV.ru
|
 |
« Ответ #8 : 28.10.2007, 23:03:33 » |
|
Поменял код как написано выше и все равно description головной страницы все равно висит в описании любого материала. Как убрать на материале description головной страницы и поставить description материала? Помогите!
|
|
|
|
|
Записан
|
|
|
|
Mr.Friction
Осваиваюсь на форуме
 
Репутация: +1/-6
Offline
Сообщений: 98
|
 |
« Ответ #9 : 29.11.2007, 19:44:41 » |
|
А как поменять формирование мета description в контенте чтоб сначало были $row->metadesc а потом глобальное описание ?
|
|
|
|
|
Записан
|
|
|
|
Ale][R
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 14
|
 |
« Ответ #10 : 16.01.2008, 14:15:32 » |
|
Сделал как написано в постах 1 и 3 Подскажите, как сделать так что бы на главной странице не добавлялись описания и ключевые слова всех страниц размещенных на главной. А отображалось только дескрипшион и кейворд с главной страницы?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #11 : 16.01.2008, 23:52:21 » |
|
Подскажите, как сделать так что бы на главной странице не добавлялись описания и ключевые слова всех страниц размещенных на главной. ну так в 4-м посте я это и описывал...
|
|
|
|
|
Записан
|
|
|
|
Ale][R
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 14
|
 |
« Ответ #12 : 17.01.2008, 11:23:41 » |
|
Ну да, я сделал так, все равно не то что то, вот посмотри _http://medicstyle.ru Еще пробовал делать так http://joomlaportal.ru/content/view/249/68/Да и еще, у меня стоит MamboeZine может из за него у меня на главной отображаются кейворды всех статей кторые там опубликованы?
|
|
|
|
« Последнее редактирование: 17.01.2008, 12:46:22 от Ale][R »
|
Записан
|
|
|
|
Mr.Friction
Осваиваюсь на форуме
 
Репутация: +1/-6
Offline
Сообщений: 98
|
 |
« Ответ #13 : 09.02.2008, 14:15:11 » |
|
А так как писал я - сделать невозможно?
|
|
|
|
|
Записан
|
|
|
|
ArtPV
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 44
Компания ArtPV.ru
|
 |
« Ответ #14 : 15.02.2008, 19:54:47 » |
|
Выходит что проще вобще отключит глобальное описание и тогда на материалах появится описание именно материала? 
|
|
|
|
|
Записан
|
|
|
|
Mr.Friction
Осваиваюсь на форуме
 
Репутация: +1/-6
Offline
Сообщений: 98
|
 |
« Ответ #15 : 16.02.2008, 14:14:19 » |
|
Да..... Но тогда надо переделывать все компоненты.
|
|
|
|
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #16 : 29.06.2008, 20:00:51 » |
|
Я так понимаю проблема только с некоторыми версиями Joomla? Вот читал постик, глянул у себя, версия 1.0.13 Описание Description для каждой статьи свое а не глобальное. Хака никакого не делал. Или я не о том?
|
|
|
|
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #17 : 29.06.2008, 20:23:30 » |
|
Я так понимаю что я нечего не понимаю..
Когда просматриваю через лису информацию у странице, то описание нормальное, именно статьи а не глобальное, тесть description. Но гугл почему то выдает глобальное описание?
И как так может быть? Тоесть description статьи в редакторе, существует только для красоты?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #18 : 01.07.2008, 11:40:05 » |
|
Но гугл почему то выдает глобальное описание? может быть он просто давным давно проиндексировал с тех пор не менял? удалите из кэша эту страницу и подождите пока он снова проиндексирует (с sitemap будет быстрее)
|
|
|
|
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #19 : 01.07.2008, 11:53:47 » |
|
Да, все сделал.. Но факт в том что сайт был закрыт, потом открыть с description уникальными для каждой страницы. Но пока выдает только глобальное. Будем ждать.... Если нет то прийдется отключить глобальное описание
|
|
|
|
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #20 : 01.07.2008, 12:06:29 » |
|
Вот только что посмотрел статистику индекса сайта..
Для всех страниц сайта,показывает глобальное description. Но для главной страницы, description того раздела который опубликован на главной.. Как с этим бороться?
|
|
|
|
|
Записан
|
|
|
|
bog74
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 51
|
 |
« Ответ #21 : 10.07.2008, 00:31:43 » |
|
В этом топике интересующий меня вопрос присутствует три раза, все без ответа, но рискну его еще раз задать, авось появится решение или другая интересная информация. Вообщем-то вопрос в следующем: После проведения модификации указанной здесьА именно # Открываем файл /includes/frontend.php # Находим в нем строчки:
$mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc ); $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
и заменяем на
$description = ''; $keywords = ''; и т.д. Описание для всех страниц сайта остается глобальное. В случае его удаления, ни какого. И того получаем на всех индексированых Google страницах примерно следующее Секретариат президента обвиняет правительство во ... События Дня - портал о событиях в политике, экономике, спорте, культуре, охране здоровья. www.sobutiya.net/index.php?option=com_content&task=view&id=511&Itemid=72 - 65k - Сохранено в кэше - Похожие страницы - Записать Как выглядит тройка самых дорогих поисковиков мира? События Дня - портал о событиях в политике, экономике, спорте, культуре, охране здоровья. www.sobutiya.net/index.php?option=com_content&task=view&id=468&Itemid=50 - 63k - Сохранено в кэше - Похожие страницы - Записать Что, как вы знаете лучше меня, не очень хорошо, или даже очень плохо. Какой есть выход из этой ситуации? Возможно не проводить этой модернизации и удалить глобальное описание и ключевые слова? Установлена версия 1.0.15 RE.
|
|
|
|
|
Записан
|
|
|
|
bog74
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 51
|
 |
« Ответ #22 : 10.07.2008, 01:51:00 » |
|
Попробовал только что Возможно не проводить этой модернизации и удалить глобальное описание и ключевые слова?
В результате описания нет ни глобального, ни конкретного из материала.С ключевыми словами все нормально (как впрочем и было). Вернул все назад. В чем может быть проблема?
|
|
|
|
|
Записан
|
|
|
|
|
ART-DELI
|
 |
« Ответ #23 : 10.07.2008, 11:58:35 » |
|
Попробовал только чтоВ результате описания нет ни глобального, ни конкретного из материала.С ключевыми словами все нормально (как впрочем и было). Вернул все назад.
В чем может быть проблема?
Если вы сделали все правильно то никаких проблем нету.. У меня после всех работ для SEO а именно 1. Поле keywords передается в поле title для каждой страницы 2. Сначала идет название title страницы, потом ключевые слова в поле title потом название сайта 3. хак с index.php тоже удался 4. descreption для каждой страницы свое, глобальное только для страниц компонентов, где нету возможности указать свое ( ну по крайней мере я не пробовал пока). Все получилось... Так что могу сказать уверено что для Joomla 1.0.14 все работает. То что у вас, так єто означает что Google не обновил кеш для ваших страниц.... Так что нужно подождать..
|
|
|
|
|
Записан
|
|
|
|
bog74
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 51
|
 |
« Ответ #24 : 11.07.2008, 20:13:52 » |
|
То что у вас, так єто означает что Google не обновил кеш для ваших страниц.... Так что нужно подождать..
Не Гугл был не причем. Я привел пример его страницы, что бы было понятно. А то что глобальное описание у меня присутствовало во всех ссылках было видно при просмотре исходного кода страницы. Экспериментальным путем выяснил что влиял на это вот этот хак 1. Открываем файл /components/com_content/content.html.php 2. Находим в нем строчку:
$mainframe->appendMetaTag( 'description', $row->metadesc );
и заменяем ее на:
global $option, $task; if ( $option != 'com_frontpage' && $task != 'view' ) { $mainframe->appendMetaTag( 'description', $row->title ); }
3. Сохраняем изменения в файле
Откатился назад и описание появилось конкретное, каждого материала. Я думаю специалисты, если будет желание, определят в чем была проблема и нам скажут.
|
|
|
|
|
Записан
|
|
|
|
text
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 93
|
 |
« Ответ #25 : 22.02.2010, 23:35:25 » |
|
в файле content.html.php найди строчки: $mainframe->appendMetaTag( 'description', $row->metadesc ); $mainframe->appendMetaTag( 'keywords', $row->metakey );
и замени их на: global $option; if (($option != '') && ($option != 'com_frontpage')) { $mainframe->appendMetaTag( 'description', $row->metadesc ); $mainframe->appendMetaTag( 'keywords', $row->metakey ); }
Т.е. добавление ключевых материалов будет происходить ТОЛЬКО если мы сейчас не на главной странице... Такой вариант устроит? Вопрос: Где изменить код, чтобы в description не было бы новых абзацев, как в кодк внизу? <title>Товар1 - сайт.ru - магазин</title> <meta name="description" content="Товар1 улучшает
настроение, улучшает настроение улучшает настроение улучшает настроение
улучшает настроение улучшает настроение улучшает настроение улучшает настроение
улучшает настроение улучшает настро" /> Помимо твоего предложения поставил в frontend.php другое улучшение - нашел на форуме: $description = ''; $keywords = ''; $_meta_keys_index = -1; $_meta_desc_index = -1; $n = count( $mainframe->_head['meta'] ); for ($i = 0; $i < $n; $i++) { if ($mainframe->_head['meta'][$i][0] == 'keywords') { $_meta_keys_index = $i; $keywords = $mainframe->_head['meta'][$i][1]; } else if ($mainframe->_head['meta'][$i][0] == 'description') { $_meta_desc_index = $i; $description = $mainframe->_head['meta'][$i][1]; } } if (!$description) { $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc ); } if (!$keywords) { $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys ); } if ($_meta_keys_index != -1) { $keys = $mainframe->_head['meta'][$_meta_keys_index][1]; $keys = preg_replace("/\,+/is", ", ", $keys); $keys = preg_replace("/\s+/is", " ", $keys); $keys = strtolower($keys); $keys = implode(', ', array_unique(split(', ', $keys))); $mainframe->_head['meta'][$_meta_keys_index][1] = $keys; }
|
|
|
|
|
Записан
|
|
|
|
text
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 93
|
 |
« Ответ #26 : 25.02.2010, 15:24:50 » |
|
В каком файле исправить, чтобы в description не было абзацев?
|
|
|
|
|
Записан
|
|
|
|
|
AlexAl
|
 |
« Ответ #27 : 26.02.2010, 17:31:29 » |
|
это с точки SEO плохо ?
|
|
|
|
|
Записан
|
|
|
|
text
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 93
|
 |
« Ответ #28 : 26.02.2010, 18:56:00 » |
|
лучше без абзацев
|
|
|
|
|
Записан
|
|
|
|
text
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 93
|
 |
« Ответ #29 : 04.03.2010, 12:25:05 » |
|
J 1.0.12 LE, VM Кто знает, как отключить или стереть <meta name="description".../> Чтобы вообще не было в коде? Через админ.панель не выключается.
|
|
|
|
|
Записан
|
|
|
|
|
inneta
Гость
|
 |
« Ответ #30 : 21.03.2010, 02:10:53 » |
|
Помогите! У меня нет такого файла includes/frontend.php ! У меня все keywords и description одинаковые, из глобальных настроек сайта/ Прочитала на форуме, что есть решение, а такого файла у меня в joomle нет!? Надо чтоб для каждой страницы были свои keywords и description. ПОМОГИТЕЕЕ!
|
|
|
|
|
Записан
|
|
|
|
@Dexter@
Захожу иногда

Репутация: +0/-0
Offline
Пол: 
Сообщений: 10
|
 |
« Ответ #31 : 03.04.2010, 19:50:17 » |
|
monah46 что то я ничего не понял... как в итоге сделать чтоб теги отображались для каждой странице свои? у меня на всех страницах одинаковые keywords и description...
можно ли это выполнить в sh404SEF
спасибо за помощь... сам разобрался - выход sh404SEF Столкнулся с той же проблемой, но при удалении мета данных в глобальных настройках сайта - мета данные со страниц не появляются? monah46 если тебе не трудно распиши пожалуйста по подробней что именно нужно делать в sh404? В чем проблема не пойму. Помоги будь добр !
|
|
|
|
|
Записан
|
|
|
|
altyn
Давно я тут
  
Репутация: +6/-0
Offline
Пол: 
Сообщений: 297
Бог придумал смех для того чтоб над собой смеялись
|
 |
« Ответ #32 : 21.04.2010, 22:56:59 » |
|
так это и есть для 1.5... а вообще в общих настройках сайта в окошке где прописываются мета теги - оставь их пустыми и они будут браться с страниц...
что то не берется <meta name="keywords" content="" /> <meta name="description" content="" /
|
|
|
|
|
Записан
|
|
|
|
altyn
Давно я тут
  
Репутация: +6/-0
Offline
Пол: 
Сообщений: 297
Бог придумал смех для того чтоб над собой смеялись
|
 |
« Ответ #33 : 22.04.2010, 17:15:10 » |
|
поставил хак отсюда и нормально стандартный сео на различные страницы выдает разные теги http://joomlaforum.ru/index.php/topic,110204.0.html#msg607138
|
|
|
|
|
Записан
|
|
|
|
|