Убираем дубли главной страницы в 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
Статьи по теме
-
Достаточно распространённым является мнение, что редизайн интернет-ресурса может крайне негативно сказаться на его производительност...
2018-04-03
-
В последнее время попадаются сайты с одной и той же уязвимостью в AdsManager, в этой статье я расскажу, как найти и закрыть уязвимость на сайт...
2018-03-21
-
Как писать? Стройте текст по определенной логической схеме. Интуитивно составленный текст, в котором Вы выкладываете посетителю все и с...
2017-05-24
-
Ребята из проекта Canva знают о сайтах с бесплатными иконками буквально все — составили список из 50 наиболее популярных и интересных. Те...
2017-05-07
-
Доброго времени суток уважаемые мои читатели! Сегодня мы расследуем причину появления ошибки [an error occurred while processing the directive] на одном из мо...
2017-03-13
-
Чтобы поисковые роботы при попытки индексации не получали «403» ошибку и не убирались восвояси, предлагаем ознакомиться со списком диап...
2017-03-01
-
14 декабря стало известно об уязвимости, которая доступна во всех версиях CMS Joomla, начиная от Joomla 1.5 (до 3.4.5 включительно). Уязвимость позвол...
2017-01-16
-
Одна из основных − практически наиболее важных − задач сайта является обеспечение возможности для клиентов связаться с представител...
2016-11-30
-
Владельцы сайтов часто сталкиваются с необходимостью обеспечить сохранность веб-страниц. Не секрет, что они склонны к изменениям и с...
2016-10-12
-
Публикация текстового контента на интернет-сайтах несколько отличается от аналогичных действий с печатью статей в бумажных журнала...
2016-09-21
-
Если вы являетесь владельцем интернет-ресурса, который был создан для работы с отечественными пользователями, то наверняка сталкива...
2016-09-13
-
Основой создания и работы любого сайта являются различные веб-технологии. В этой статье обратим внимание на то, какие технические во...
2016-08-31
-
В наши дни практически каждая организация − будь то маленькая фирма или крупная корпорация − имеет собственный веб-сайт. Во многом о...
2016-08-03
-
Описанная ниже информация будет полезна, если вы хотите и уже ведете самостоятельно вашу рекламу в системе Яндекс.Директ. Это позволит В...
2016-05-23
-
На сегодняшний день успешное поисковое продвижение немыслимо без грамотно составленного семантического ядра (читай: без правильно по...
2016-04-26
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