X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Joomla - помогите убрать дубли, 6 дублей на страницу...
frion-seo
frion-seo
Topic Starter сообщение 16.7.2014, 11:55; Ответить: frion-seo
Сообщение #1


Завсегдатай
*****

Группа: Active User
Сообщений: 752
Регистрация: 16.9.2010
Поблагодарили: 187 раз
Репутация:   68  


Добрый день! Проблема в том что на джумле 1.5 оочень много дублей
например
/tours/list/italy/all-categories/any-transport.html
/tours/list/italy/all-categories/any-transport
/tours/list/italy/all-categories/
/tours/list/italy/all-categories
/tours/list/italy/
/tours/list/italy
по всем этим ссылкам открывается одна и та же страница
это ппц...
должна работать только /tours/list/italy/all-categories/any-transport.html
Что по цене?
ICQ 640685982


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
allvake
allvake
сообщение 16.7.2014, 13:26; Ответить: allvake
Сообщение #2


Завсегдатай
*****

Группа: Active User
Сообщений: 597
Регистрация: 16.8.2011
Из: South
Поблагодарили: 272 раза
Репутация:   37  


Попробую сделать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tiptopvkr
tiptopvkr
сообщение 22.7.2014, 17:57; Ответить: tiptopvkr
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 334
Регистрация: 3.1.2013
Поблагодарили: 59 раз
Репутация:   8  


Может кому еще пригодится. Мне лично помогло неоднократно. Завалялась статейка. Решил поделиться.

Модуль удаления дублей страниц в Joomla 1.5
Автор модуля: Тониевич Андрей
Суть проблемы
Ни для кого не секрет, что Joomla 1.5 и 1.6 славятся умением создавать дубли страниц. Это обстоятельство оказывает весьма негативное влияние на поисковое продвижение сайта.
В качестве примера возьмем адрес страницы со статьей Joomla 1.5. Одна и та же страница может быть доступна по таким адресам:
site.ru/index.php?option=com_content&view=article&id=22
site.ru/news/tech/1.html
site.ru/news/tech/1-news.html
site.ru/1-news/2-tech/1dsfsdkgjdfgklhfdgjf
site.ru/home/1.html
и по многим другим. Это не есть хорошо.
Можно, конечно, поставить различные дополнительные компоненты вроде sh404SEF, но опять же. Это дополнительная нагрузка на сервер, а также дополнительная головная боль при обновлениях системы и установке дополнений.
Вариант с правкой robots.txt тоже не всегда является оптимальным так как им можно закрыть дубли вроде site.ru/index.php?option=com_content&view=article&id=22, дубли вроде site.ru/component/content/..., но вот от дублей с измененным псевдонимом (alias), для дублей с индексами разделов, категорий и многих других этот способ не эффективен. Да и закрывать большую часть страниц от индексации не есть хорошо.
К счастью, данную проблему встроенного механизма ЧПУ можно решить более простым путем. Нужно чтобы при вводе неправильного URL пользователя или поисковика перебрасывало 301 редиректом на нужную страницу. Поисковики данный вид редиректа довольно хорошо обрабатывают и именно он рекомендуется поисковиками для склейки дублей.
Описание модуля
Данный модуль предназначен для стандартного компонента com_content со стандартным SEF Joomla 1.5 (на Joomla 1.6 данный модуль не тестировался).
Принцип работы модуля. При генерации страницы со статьей, страницы блога раздела и категории, главной страницы происходит проверка адреса страницы в запросе и адреса страницы в системе. Адрес страницы в системе рассчитывается на основе структуры меню с псевдонимами для разделов и категорий, адреса и смещения (start=10, например) и ссылки на полную версию для статьи.
Если адрес в запросе не совпадает с адресом страницы в системе, то генерируется 301 редирект на адрес страницы в системе. Для каждой страницы он уникален. Как следствие, если движок по самому кривому запросу
смог определить какую страницу загружать, то пользователя или поискового бота автоматически перебросит на нужную страницу. Это значит, что все запросы страниц вроде:
site.ru/index.php?option=com_content&view=article&id=22
site.ru/news/tech/1.html
site.ru/news/tech/1-news.html
site.ru/1-news/2-tech/1dsfsdkgjdfgklhfdgjf
site.ru/home/1.html
со слешами, без слешей в конце, с индексами, без индексов, с index.php или без него будут автоматически переадресованы 301 редиректом на site.ru/news/tech/1-news.html, например. То есть все дубли поклеятся.
Сам модуль
Перед мной стоял выбор. Добавить данный код в саму систему, в компонент com_content или в код шаблонов. Первые два являются самыми идеологически-верными так как такие задачи должен делать контроллер, а не представление, но вот есть один нюанс. При каждом обновлении движка нужно будет заново вносить правки. Это неудобно. Можно и плагин написать, но мне лень сидеть и дальше копаться в API ^)
Поэтому было принято решение добавлять код в шаблоны. Да, это грубое нарушение принципов MVC и т.д., но что тут поделаешь.
Для работы модуля нужно внести такие изменения в файлы шаблонов.
Файл /templates/название_вашего_шаблона/html/com_content/frontpage/default.php
Нужно добавить в самом начале файла строки:
<?php defined('_JEXEC') or die('Restricted access');
$this->original_link = "/";
if (JRequest::getInt('start') > 0) $this->original_link .= "index.php?start=" . JRequest::getVar('start');
$this->real_link = JRequest::getURI();
if ($this->original_link != $this->real_link) JApplication::redirect($this->original_link);
?>
Файл /templates/название_вашего_шаблона/html/com_content/article/default.php
Нужно добавить в самом начале файла строки:
<?php defined('_JEXEC') or die('Restricted access');
if ($this->article->readmore_link != JRequest::getURI()) JApplication::redirect($this->article->readmore_link);
?>
Файл /templates/название_вашего_шаблона/html/com_content/category/blog.php
Нужно добавить в самом начале файла строки:
<?php defined('_JEXEC') or die('Restricted access');
$this->original_link = JRoute::_(ContentHelperRoute::getCategoryRoute(JRequest::getVar('id'), 0));
if (JRequest::getInt('start') > 0) $this->original_link .= "?start=" . JRequest::getVar('start');
$this->real_link = JRequest::getURI();
if ($this->original_link != $this->real_link) JApplication::redirect($this->original_link);
?>
Файл /templates/название_вашего_шаблона/html/com_content/section/blog.php
Нужно добавить в самом начале файла строки:
<?php defined('_JEXEC') or die('Restricted access');
$this->original_link = JRoute::_(ContentHelperRoute::getSectionRoute(JRequest::getVar('id')));
if (JRequest::getInt('start') > 0) $this->original_link .= "?start=" . JRequest::getVar('start');
$this->real_link = JRequest::getURI();
if ($this->original_link != $this->real_link) JApplication::redirect($this->original_link);
?>
Если у вас в папке с шаблоном таких файлов нет, то используйте те же файлы файлы в папке /components/com_content/views/.../tmpl
Аналогичным способом можно избавиться от копий и на других компонентах Joomla.
На этом все.
Автор мода - Тониевич Андрей. Авторские права защищены. Публикация данного материала на других ресурсах разрешается исключительно с указанием автора и по его разрешению.

Либо компонент SH 404 SEF. Там кроме того что он дубли глушит и редиректит то можно каждый урл вручную править независимо от настроек Джумлы.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
eClerk
eClerk
сообщение 23.7.2014, 13:00; Ответить: eClerk
Сообщение #4


Новичок
*

Группа: User
Сообщений: 23
Регистрация: 22.7.2014
Поблагодарили: 2 раза
Репутация:   0  


SEF надо ставить и не мучаться. И Джумлу поновее, конечно. А ещё лучше - не Джумлу :)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Это моя подпись (С) Я сам её придумал!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
156 contex1 70899 22.5.2018, 0:06
автор: AnnaProf
Горячая тема (нет новых ответов) Помогите, пожалуйста, моей дочери выжить!
благотворительный топик
30 vitvirtual 3818 19.5.2018, 8:30
автор: vitvirtual
Открытая тема (нет новых ответов) Нарисовать и сверстать дизайн под joomla
0 arad 349 15.5.2018, 9:53
автор: arad
Открытая тема (нет новых ответов) Продвигаю страницу по запросу "Как сделать игру". Помогите советом, пожалуйста
Я секу в теме! Но подать статью угодным поисковикам образом не смо
22 coremission 2223 8.5.2018, 12:33
автор: coremission
Горячая тема (нет новых ответов) Разработка сайтов Joomla Wordpress Opencart
Разработка, верстка, оптимизация веб сайтов.
54 WoWeb 9882 3.5.2018, 21:59
автор: _fan_


 



RSS Текстовая версия Сейчас: 28.5.2018, 12:25
Дизайн