- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Решил поделиться своими наработками по Joomla 1.5
Недавно в процессе поискового продвижения одного из своих сайтов на Joomla 1.5 столкнулся с одной весьма серьезной проблемой встроенного механизма ЧПУ (SEF).
Суть проблемы заключается в том, что в Joomla одна и та же страница site.ru/news/tech/1-news.html, например, может быть доступна по очень многим адресам:
site.ru/index.php?option=com_content&view=article&id=22
site.ru/news/tech/1.html/
site.ru/news/2-tech/1-news.html
site.ru/1-news/2-tech/1dsfsdkgjdfgklhfdgjf
site.ru/home/1.html
site.ru/component/content/frontpage....
Проблема весьма серьезная. Аналогично и с категориями, с site.ru/, site.ru/index.php, с разделами и так далее.
Проблема, как видите, серьезная.
Особого желания играться с редиректами в htaccess у меня не было, robots.txt тоже не вариант. Ну закрою я в robots.txt site.ru/index.php, ну а что делать с вариантами вроде site.ru/news/2-tech/1-news.htgjfhgsldfjkgd ?
Как частичное решение ситуации можно было бы рассмотреть sh404sef, но опять же. Это стороннее решение, оно все же снижает производительность и стабильность работы системы в целом, ИМХО.
Вот и стал я искать выход. Решение оказалось очень простым: нужно при генерации страницы раздела, категории, статьи, главной страницы сравнивать адрес в запросе с вычисленным адресом страницы в системе. Вычисляется он на основе расположения страницы в меню, на основании псеводонимов (alias), идентификаторов, а также на основании раздела/категории. Для одной страницы существует лишь один так называемый системный адрес. Он используется по-умолчанию при генерации ссылок в системе.
Если адрес в запросе не совпадает с системным адресом страницы, то движок с помощью 301 редиректа перебросит пользователя или поискового бота на нужную страницу. Таким вот образом дубли страниц оперативно склеиваются поисковиками по 301 редиректу.
Для лучшей совместимости эту проверку я вынес в код шаблона. Да, это прямое нарушение концепции MVC, но это все же лучше чем правка системных файлов ручками при каждом обновлении. Если кому-то решение не понравится - можете аналогичным образом поправить контроллер com_content.
Данный модуль был протестирован на Joomla 1.5.22 со стандартным ЧПУ и com_content. Данный модуль должен заработать и на 1.6.
Ссылки на код модуля с подробным описанием и установкой: скачать / скачать.
Большая человеческая просьба не перезаливать архивы на другие файлообменники и не публиковать код с описанием на других страницах без моего разрешения. Просто кидаете ссылки на архивы. Отнеситесь к данному моменту с пониманием.
Подобный модуль я также сделал для DLE и DLE Forum
А есть какие-либо отзывы уже? на этот модуль.
Кому надо - используют. Кому не надо - их проблемы :) Мне то что. Делалось в первую очередь для моих сайтов.
А для Джумлы 1.0 случайно ничего нет? :)
Вот пример:
http://сайт.ru/раздел/34-категория/
а вот дубли которое Ваше решение не убирает
http://сайт.ru/разде/34
http://сайт.ru/разде/34-категорияпишу-че-хочу/
А для Джумлы 1.0 случайно ничего нет?
Можно при желании написать.
Вот пример:
http://сайт.ru/раздел/34-категория/
а вот дубли которое Ваше решение не убирает
http://сайт.ru/разде/34
http://сайт.ru/разде/34-категорияпишу-че-хочу/
Это для com_content?
Я все ручками правила. Теперь копирую htaccess, robots.txt и т.п. при необходимости на другие сайты. Что интересно, страницы с site.ru/index.php попали в индекс после переезда на другой хостинг, до этого подобных проблем не возникало. Получается зависимость от настроек хостинга?
Я все ручками правила.
Что именно вы правили? Правка htaccess в данном случае бессильна.
Вот что яша пишет
Не туда написал прошу прощения
Вот что яша пишет
Ну так то карта сайта. Ее тоже нужно в порядок привести.