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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


Добрый день! Проблема в том что на джумле 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


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


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

Модуль удаления дублей страниц в 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


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

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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Горячая тема (нет новых ответов) Разработка сайтов Joomla Wordpress Opencart
Разработка, верстка, оптимизация веб сайтов.
77 WoWeb 40429 3.9.2023, 16:52
автор: Sawich
Открытая тема (нет новых ответов) [Продам] базы сайтов на CMS Wordpress/Joomla/Drupal/Magento/...
14 phosphoruss 13763 16.8.2023, 15:27
автор: SmmPanelUS
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыТехподдержка сайтов на движках Joomla, Netcat, Opencart
5 54web 4290 22.1.2023, 13:27
автор: kikimora17
Открытая тема (нет новых ответов) Доработка сайта Joomla + VirtuMart
0 Intuit_Design 1188 4.2.2021, 15:05
автор: Intuit_Design


 



RSS Текстовая версия Сейчас: 19.4.2024, 11:27
Дизайн