Убираем дубли главной страницы в joomla. Дубли страниц joomla 3


Блог Михаила Ширма » Joomla 3 – Настройка htaccess для удаления дублей

Для удаления дублей страниц на сайтах на Joomla 1.5, 2.5, 3.0 можно без установки отдельных модулей и приложений. Достаточно правильно настроить .htaccess.

Для удаления дублей страниц на сайте:

1. www.sait.ru в sait.ru ;

2. sait.ru/stranica, sait.ru/stranica.html, sait.ru/stranica.htm, в sait.ru/stranica/.

Мне именно так нравится когда выглядят ссылки.

Для этого добавляем в файл .htaccess следующий код:

#Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine OnRewriteCond %{HTTP_HOST} ^www\.8-foto\.ruRewriteRule ^(.*)$ http://8-foto.ru/$1 [R=permanent,L]

RewriteBase /RewriteRule ^(.*)\.htm$ $1.html [R=301,L]

RewriteRule ^(.*).html$ /$1 [R=301,L]RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)RewriteRule .* %1/ [R=301,L]

RewriteEngine On

——————————————

И сам файл .htaccess который работает у меня на сайте  Joomla 3.0

### @package Joomla# @copyright Copyright (C) 2005 — 2012 Open Source Matters. All rights reserved.# @license GNU General Public License version 2 or later; see LICENSE.txt##

### READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!## The line just below this section: ‘Options +FollowSymLinks’ may cause problems# with some server configurations. It is required for use of mod_rewrite, but may already# be set by your server administrator in a way that dissallows changing it in# your .htaccess file. If using it causes your server to error out, comment it out (add # to# beginning of line), reload your site in your browser and test your sef url’s. If they work,# it has been set by your server administrator and you do not need it set here.##

## Can be commented out if causes errors, see notes above.#Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine OnRewriteCond %{HTTP_HOST} ^www\.8-foto\.ruRewriteRule ^(.*)$ http://8-foto.ru/$1 [R=permanent,L]

RewriteBase /RewriteRule ^(.*)\.htm$ $1.html [R=301,L]

RewriteRule ^(.*).html$ /$1 [R=301,L]RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)RewriteRule .* %1/ [R=301,L]

RewriteEngine On

## Begin — Rewrite rules to block out some common exploits.# If you experience problems on your site block out the operations listed below# This attempts to block the most common type of exploit `attempts` to Joomla!## Block out any script trying to base64_encode data within the URL.RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]# Block out any script that includes a <script> tag in URL.RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]# Block out any script trying to set a PHP GLOBALS variable via URL.RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]# Block out any script trying to modify a _REQUEST variable via URL.RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})# Return 403 Forbidden header and show the content of the root homepageRewriteRule .* index.php [F]### End — Rewrite rules to block out some common exploits.

## Begin — Custom redirects## If you need to redirect some pages, or set a canonical non-www to# www redirect (or vice versa), place that code here. Ensure those# redirects use the correct RewriteRule syntax and the [R=301,L] flags.### End — Custom redirects

### Uncomment following line if your webserver’s URL# is not directly related to physical file paths.# Update Your Joomla! Directory (just / for root).##

# RewriteBase /

## Begin — Joomla! core SEF Section.#RewriteRule .* — [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]## If the requested path and file is not /index.php and the request# has not already been internally rewritten to the index.php scriptRewriteCond %{REQUEST_URI} !^/index\.php# and the request is for something within the component folder,# or for the site root, or for an extensionless URL, or the# requested URL ends with one of the listed extensionsRewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]# and the requested path and file doesn’t directly match a physical fileRewriteCond %{REQUEST_FILENAME} !-f# and the requested path and file doesn’t directly match a physical folderRewriteCond %{REQUEST_FILENAME} !-d# internally rewrite the request to the index.php scriptRewriteRule .* index.php [L]### End — Joomla! core SEF Section.

mopassan.com

Убираем дубли главной страницы в joomla

Здравствуйте уважаемые читатели блога sivway.com. Анализируя сайты клиентов, все время наблюдаю одну и ту же ошибку - дубль главной страницы в joomla. Ошибка достаточно распространенная и легко исправима, но из-за нее мне приходится тратить больше времени и сил. Поэтому в этой статье я опишу, какого вида бывают дубли страниц и как с ними бороться.

Виды дублей главной страницы и методы борьбы с ними.

Самый распространенный дубль – название сайта с www и без. До сих пор многие люди вводят название сайта с www, но некоторые «умные» вебмастера настраивают свой домен так, что попасть на сайт без www невозможно. Поэтому целесообразно давать доступ к такому домену. Но возникает следующая проблема, поисковики считают сайт с www и без как два разных сайта. Правда, через какое-то время  они делают склейку домена (зеркало), но на это необходимо время, которое в наши дни очень ценно. Поэтому при создании сайта на любой CMS и не только необходимо сразу  избавится от этого дубля. Для этого воспользуемся 301 редиректом. Подробнее в статье 301 редирект. Заходим по ftp на сайт где установлена joomla ищем файл .htaccess. Внимание файл .htaccess не имеет расширения и в названии должна идти точка. Если у вас htaccess.txt переименуйте его.

В этом файле прописываем код редиректа с www на без.

Options +FollowSymLinks  RewriteEngine On  RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]  RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

После этого ваш сайт будет доступен при вводе с www и автоматически перенаправится на без. Конечный вид адреса сайта http://site.ua. После этого роботы поисковиков так же будут перенаправляться. И в итоге уберется дубль главной страницы.

Дубль страницы /index.php

Второй по распространению дубль главной страницы в joomla – после названия сайта стоит /index.php или index.html. Это так же дубль главной страницы. Так же исправляется при помощи редактирования .htaccess.

Код для избавления от /index.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://ваш сайт.ua/ [R=301,L]

Код для избавления от /index.html

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://ваш сайт.ua/ [R=301,L]

Дубль страницы / в конце адреса.

Слеш в конце адреса раньше считался дублем страницы, а сейчас поисковики научились определять сайт с / и склеивают его с главным доменом. Поэтому исправление этой ошибки считается как «хороший тон» при создании сайта. Но в любом случае лучше от него избавиться или наоборот поставить.

Для этого воспользуемся склейкой / в файле .htaccess

Код для склейки / (убирает /)

RewriteBase / RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $1 [L,R=301]]

Код для склейки / (добавляет / в конце)

RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301]

И последний дубль, который я встречал в joomla – это алиас главной страницы. Объясню подробнее. К примеру, вы заходите на сайт site.ua, перед вами открывается главная страница, почитали, перешли на другую страницу. Вроде все в порядке, но после вам захотелось перейти опять на главную. Нажимаете на «Главную» и смотрите в адресную строку, а там вместо site.ua стоит site.ua/glavnaya или /content или еще что нибудь. Это явный дубль главной страницы. Простым удалением алиаса в меню главной страницы не обойтись. Здесь придется покопаться в базе joomla. Для этого открываем базу joomla через phpMyAdmin ищем таблицу jos_menu нажимаем обзор, ищем меню, которое отвечает за главную и очищаем поле alias. После сохранения базы смотрим на результат.

Так же дубли главной страницы могут возникать из-за различных компонентов, плагинов. Эти дубли убираются очень легко – удаляем компонент, а если он действительно так важен, то здесь уже должен быть индивидуальный подход. В любом случае есть тех. поддержка  компонента, где можно найти решение.

Помимо дублей главной страницы, joomla болеет еще и внутренними дублями, избавляется закрытием дубля в файле robots.txt.

Спасибо: http://sivway.com/joomla/ubiraem-dubli-glavnoj-stranicy-v-joomla.html

Статьи по теме

lred.ru

Решение проблемы с дублями страниц в Joomla 1.5 [Архив]

Здравствуйте. Решил поделиться своими наработками по 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=22site.ru/news/tech/1.html/site.ru/news/2-tech/1-news.htmlsite.ru/1-news/2-tech/1dsfsdkgjdfgklhfdgjfsite.ru/home/1.htmlsite.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 ?

Как частичное решение ситуации можно было бы рассмотреть sh504sef, но опять же. Это стороннее решение, оно все же снижает производительность и стабильность работы системы в целом, ИМХО.

Вот и стал я искать выход. Решение оказалось очень простым: нужно при генерации страницы раздела, категории, статьи, главной страницы сравнивать адрес в запросе с вычисленным адресом страницы в системе. Вычисляется он на основе расположения страницы в меню, на основании псеводонимов (alias), идентификаторов, а также на основании раздела/категории. Для одной страницы существует лишь один так называемый системный адрес. Он используется по-умолчанию при генерации ссылок в системе.

Если адрес в запросе не совпадает с системным адресом страницы, то движок с помощью 301 редиректа перебросит пользователя или поискового бота на нужную страницу. Таким вот образом дубли страниц оперативно склеиваются поисковиками по 301 редиректу.

Для лучшей совместимости эту проверку я вынес в код шаблона. Да, это прямое нарушение концепции MVC, но это все же лучше чем правка системных файлов ручками при каждом обновлении. Если кому-то решение не понравится - можете аналогичным образом поправить контроллер com_content.

Данный модуль был протестирован на Joomla 1.5.22 со стандартным ЧПУ и com_content. Данный модуль должен заработать и на 1.6.

Ссылки на код модуля с подробным описанием и установкой: скачать (http://letitbit.net/download/49688.4a201e0ced546703384d6b8c4b0a/Modul._udaleniya_dubley_stranicz_v_Joomla.pdf.html) / скачать (http://letitbit.net/download/52319.5077d7072ac12f7ad9ec64680314/Modul._udaleniya_dubley_stranicz_v_Joomla.pdf.html).

Большая человеческая просьба не перезаливать архивы на другие файлообменники и не публиковать код с описанием на других страницах без моего разрешения. Просто кидаете ссылки на архивы. Отнеситесь к данному моменту с пониманием.

Подобный модуль я также сделал для DLE и DLE Forum

searchengines.guru


Prostoy-Site | Все права защищены © 2018 | Карта сайта