Данный материал актуален как для Joomla 1.5 так и для Joomla линейки 1.0.
Есть такая проблема - при заходе на сайт вы попадаете на страницу http://joomla15.ru/ а при клике на пункт меню Главная - на адрес вида http://joomla15.ru/index.php?option=com_frontpage&Itemid=1 при выключенном SEF или что-то вроде http://joomla15.ru/home.html при включенном. Это нехорошо, во первых, сама ссылка некрасивая, во-вторых в плане SEO это большой минус так как создается дубль страницы.
Как от этого избавиться?
Есть довольно простой но неочевидный трюк - допусти наше основное меню - mainmenu, создаем еще одно меню скажем fullmenu, далее заходим в меню mainmenu выделяем все его пункты кроме главной страницы (это первый пункт) и переносим их в fullmenu. Теперь переходим в fullmenu создаем новый пункт меню типа Внешняя ссылка даем ей название Главная и прописываем свой адрес http://joomla15.ru, поднимаем ее на первую позицию.
Осталось перейти в раздел модули, назначить нашему модулю fullmenu нужную позицию и стиль, а вот с модулем mainmenu несколько сложнее - его не нужно отключать, нужно поместить его в позицию которой нет в шаблоне.
Посмотреть позиции в шаблоне Joomla 1.5 (и Joomla 1.0 кстати тоже) можно командой http://joomla15.ru/?tp=1.
Смотрим какой позиции у нас нет и выбираем ее, если же есть все позиции - то берем файлик \templates\название_шаблона\templateDetails.xml находим там блок и добавляем строчку
none
после чего назначаем модулю позицию none
а тек конечно joomla это сплонной баг, сыр в мышеловке
А именно - она не позволяет избавиться от дубля главной страницы.
Это справедливо заметила Ольга.
Если не согласны, то проверьте на вашем же сайте:
введите в адресной строке http://www.joomla15.ru и http://www.joomla15.ru/index.php?option=com_content&view=frontpage.
Увидите 2 разных варианта. Значит дубль продолжает жить.
Так что название статьи надо менять, чтобы не вводить в заблуждение людей.
Например на такое: Как скрыть пункт меню Главная.
да дело в том что страница не прпадает просто ее не видете вы и пользователи, а индексируется она таже как и все.
а вот если этот alias стереть в базе этой таблицы jos_menu, и затем просто очичтить кеш joomla, то дубль действительно пропадет на любой стадиии создания сайта. Правда после каких либо изменений в этом пункте меню процедуру придется повторить
поробуйте сами.
при пректировании или нет страница все равно будет существовать. так как она все равно должна остаться по умолчанию, то есть ее пункт, который имеет псевдоним. И через админку от него не избавиться.
1. искать не надо, хотя если работает с отключенным модулем - пожста, можно и так
2. эту махинацию надо делать при проектировании сайта, а не когда он уже запущен
3) запретить можно, но делать без дублей имхо лучше чем запрещать дубли в роботсе
1 во-первых заморочка с поиском не используемой или не существующей позиции это лишнее так как достаточно просто отключить модуль скрытого меню (результат одинаковый)
2 при таких манипуляциях вы не избавитесь от дубля главной страницы, а просто скроете ее от своего взора. а на самом деле страница остается и продолжает существовать.
3 для поисковиков - может просто запретить ее индексацию в robots.txt&
Но у меня несколько по другому получилось: я использую модуль аккордеон. Создал дубль меню, перенес пункты, а в модуле аккордеона просто выбрал дублированное меню и все. Т.е. мне не пришлось ничего больше нигде публиковать
сразу после RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.сайт.com/ [R=301,L]
Redirect 301 /home http://www.сайт.com/
Огромное спасибо!
Что делать если в используемом шаблоне нету ни таких папок (/html/mod_main menu/default.ph p) ни файла?
И второй вопрос - в каком месте мне посмотреть это "в меню какой ItemID присвоен нашему пункту меню Главная"?
В любом случае, спасибо :)
Этот пункт (который типа внешняя ссылка в fullmenu мы не трогаем - мы меняем тип для пункта в mainmenu (где всего 1 пункт, отвечающий за главную) -вот этот пункт может быть типа Блог Раздела и у него доступны параметры
"Теперь переходим в fullmenu создаем новый пункт меню типа Внешняя ссылка даем ей название Главная и прописываем свой адрес http://joomla15.ru"
Получается у нового пункта меню, не может быть иного типа кроме как Внешняя ссылка, если этот тип сменить на любой из типа Внутренняя ссылка, то это дело перестанет работать. Да и нет у типа меню Внешняя ссылка, таких параметров как "сколько отображать статей и откуда".
А кэш я вобще не включаю, по умолчанию в Общие настройки-Устан овки кеша-Включить кеширование - стоит НЕТ.
Что касается того что вид главной не относится к публикации-непо средственно может и не относится, но в таком случае описанный прием работает только при условии что Вид ссылки ведущей на главную страницу обязательно должен быть как Внешняя ссылка, при том что отображаться она будет как будто стоит тип Шаблон блога материалов на главной. И то как там всё будет отображаться, настраивается через тот пункт меню который мы скрыли.У Внешней сылки-нечего настраивать
Знаю! А вид главной уже ни как ни относится к теме публикации - нужно смотреть параметры пункта меню в данном случае - сколько отображать статей и откуда, плюс может кэш не мешает почистить
Просто интересно, вы Думаете что так должно быть или Уверены и Знаете что так будет?
Да
То есть если я хочу чтобы моя новая главная страница имела вид шаблон блога раздела, я должен у старой главной(которую мы не отображаем) поменять тип с шаблон блога материалов на главной на шаблон блога раздела? И тогда у моей новой главной странице, тип так же сменится?
По идее он должен работать в любом случае, делаете пункт меню какого нужно типа, ставите его по умолчанию и оставляете в менюшке без модуля
RSS лента комментариев этой записи