Автоматический статейный прогон по движкам Joomla K2. Автоматический статейный прогон по движкам Joomla K2 Почетный index php option com k2

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

Как возникают дубликаты страниц

Основные причины появления дублей - несовершенство CMS сайта, практически все современные коммерческие и некоммерческие CMS генерируют дубли страниц. Другой причиной может быть низкий профессиональный уровень разработчика сайтов, который допустил появление дублей.

Какие бывают дубли страниц

1. Главная страница сайта, которая открывается с www и без www

пример www.site.ua и site.ua

site.ua/home.html и site.ua/

2. Динамическое содержание сайта с идентификаторами?, index.php, &view

site.ua/index.php?option=com_k2&Itemid=141&id=10&lang=ru&task=category&view=itemlist

site.ua/index.php?option=com_k2&Itemid=141&id=10&lang=ru&layout=category&task=category&view=itemlist

3. Со слешем в конце URL и без

4. Фильтры в интернет-магазине (пример )

site.ua//?Itemid=&product_book&

5. Странички печати

site.ua/cadok/?tmpl=component&print=1&layout=default&page=»

Какую опасность несут в себе дубли страниц

Представьте себе что вы читаете книгу где на страничках одинаковый текст, или очень похожий. Насколько полезна для вас такая информация? В таком же положении оказываются и поисковые машины, ища среди дубликатов вашего сайта то полезное содержимое которое необходимо пользователю.

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

Как обнаружить дубликаты на сайте

1. С помощью команды site:site.ua можете проверить какие именно дубли попали в индекс поисковой машины.

2. Введите отрывки фраз с вашего сайте в поиск, таким образом обнаружите страницы на которых она присутствует

3. Инструменты для веб-мастеров Google, в разделе Вид в поиске → Оптимизация HTML, можете увидеть страницы, на которых есть повторяющееся метаописание или заголовки.

5 способов удалить дубликаты страниц

1. С помощью файла robots.txt

Disallow: /*?
Disallow: /index.php?*

Таким образом, дадим знать поисковой машине, что странички, которые содержат параметры?, index.php?, не должны индексироваться.

Есть одно «но»: файл robots - это только рекомендация для поисковых машин, а не правило, которому они абсолютно следуют. Если, например, на такую страничку поставлена ссылка то она попадет в индекс.

2. Файл.htaccess, позволяет решить проблему с дублями на уровне сервера.

Htaccess - это файл конфигурации сервера Apache, находится в корне сайта. Позволяет настраивать конфигурацию сервера для отдельно взятого сайта.

Склеить странички сайта 301 редиректом.

Redirect 301 /home.html http://site.ua/ (для статических страниц cайта)

RewriteCond %{QUERY_STRING} ^id=45454
RewriteRule ^index.php$ http://site.ua/news.html? (редирект для динамических страничек)

Использовать 410 редирект (полное удаление дубля)
Он сообщает что такой странички нет на сервере.

Redirect 410 /tag/video.html

Настроить домен с www и без www

Пример с www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.ua
RewriteRule ^(.*)$ http://www.site.ua/$1

Без www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ua$
RewriteRule ^(.*)$ http://site.ua/$1

Добавляем слеш в конце URL

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?) RewriteRule .* %1/

Для сайтов с большим количеством страниц будет довольно трудозатратно искать и склеивать дубли.

3. Инструменты для веб-мастеров

Функция Параметры URL позволяют запретить Google сканировать странички сайта с определенными параметрами

Или вручную удалить

Удаление страничек возможно только в случае если страничка:

Запрещена для индексации в файле robots.txt

Возвращает ответ сервера 404

Запрещена тегом noindex

4. Мета тег noindex - это самый действенный способ удаления дубликатов. Удаляет навсегда и бесповоротно.

По заявлению Google наличие тега noindex полностью исключает страничку из индекса.

Важно. Для того что бы робот смог удалить страничку, он должен ее проиндексировать, то есть она не должна быть закрыта от индексации в файле robots.txt.

Реализовать можно через регулярные выражения PHP, используя функцию preg_match() .

5. Атрибут rel=»canonical»

Атрибут rel=»canonical» дает возможность указать рекомендуемую (каноническую) страничку для индексации поисковыми машинами, таким образом дубликаты не попадают в индекс.

rel=»canonical» указывается двома способами

1. С помощью атрибута link в в HTTP-заголовке

Link: ; rel=»canonical»

2. В раздел добавить rel=»canonical» для неканонических версий страниц

В некоторые популярные CMS атрибут rel=»canonical» внедрен автоматически - например, Joomla! 3.0 (почитайте об ). У других CMS есть специальные дополнения.

Подведем итог. При разработке сайта учитывайте возможности появления дублей и заранее определяйте способы борьбы с ними. Создавайте правильную структуру сайта (подробнее .

Проверяйте периодически количество страниц в индексе, и используйте возможности панели Инструментов для веб-мастеров.

При написании использовались материалы

Зберегти

Зберегти

Я проснулся в своей комнате. И эта реальность показалась мне гораздо меньшей реальностью, чем та, где я только что был. Я помнил всё до мельчайших подробностей. И это ощущение настолько переполняло меня, что я вскочил и побежал в спальню родителей, чтобы рассказать. Я мчался по коридору и, распахнув с грохотом дверь в родительскую спальню, завопил – «Я только что был среди cиних звёзд!».

В ту же секунду всполошенно проснулась мама, зажёгся ночник и глухо заворчал ньюф Дэни, который всегда спал на коврике рядом с кроватью родителей. Проснулся отец, а я с разбега прыгнул на родительскую кровать и, захлёбываясь и жестикулируя, стал рассказывать. Мама потрогала мне лоб, решив, что у меня жар, потом стала гладить по голове и успокаивать, говоря, что мне просто приснился страшный сон. Я очень обиделся. «Это не сон!» – закричал я – «Это чудо, как красиво!» Мамины глаза наполнились слезами и она беспомощно посмотрела на отца. А я всё пытался что-то говорить. И вдруг услышал отцовский голос – «Скажи – Рыба!» Я так опешил, что замолчал. И послушно произнёс – «Рыба». «Так» – сказал отец. – «Теперь скажи – рама». «Рама» – повторил я. «Арбуз, роман, река» – требовал отец. Я повторял, не понимая, что он от меня хочет. И вдруг каким-то внутренним слухом я услышал, что произношу букву, которая мне никогда не давалась. Букву «Р». Она вылетала из меня раскатистая и чистая. Я очень удивился.

Здесь я сделаю маленькое отступление, чтобы объяснить, почему это было удивительно.
Я до этого проглатывал букву «Р». Её вообще не существовало. Я говорил – «ы-ыба, а-абуз» и так далее. Со мной безуспешно занимался профессор-логопед, но «р» так и не появлялась. Причём то, как я говорил, очень нравилось всем маминым подругам, а когда, наконец, и бабушка сказала, что у мальчика очень аристократическое произношение, то меня оставили в покое. И вдруг это «Р» появилось, да ещё какое!

Я удивлённо прислушивался к себе и тут почувствовал, что у меня саднит колено. Я задрал пижамную штанину и увидел на коленке круглое красное пятно. Я вспомнил, что ударился о светящийся шар в своём путешествии. Вот же оно – доказательство! Сейчас мне поверят! Я опять пытался что-то объяснить, тыкая на свою коленку, но этим всполошил маму ещё больше. Она заплакала, сказала, что я где-то поранился и забыл об этом и стала искать зелёнку. Я подчинился, смотрел, как коленка становится зелёной, ужасно щипало, а я не плакал. Надо сказать, что ещё вчера я бы заревел. А тут у меня даже не защипало в носу. После этой экзекуции отец взял меня на руки и понёс в детскую, рядом, причитая, шла мама и дула на мою коленку, а завершал процессию наш ньюф Дени. Меня уложили в постель, со всех сторон подоткнули одеяло и я сделал вид, что засыпаю. Мама и папа поцеловали меня и тихонько пошли к двери.

«Дени – за мной» - сказал отец. Но Дэни не двигался. «Дэнс!» – повторил папа властно. Дэни не стронулся с места. А ведь он всегда слушался моего отца беспрекословно. Тогда отец подошёл, чтобы увести его. И Дэни, наш добряк Дэни обнажил клыки и сказал – «РРР-А!!!». Я засмеялся – «Оставь его, папа – он всё равно никуда не пойдёт». У отца округлились глаза, но он, взяв за руку маму, вышел из моей детской и тихо закрыл дверь. А я, обхватив Дэнса за могучую шею, шёпотом рассказал ему всё. Дэни смотрел мне прямо в глаза и всё понимал. И верил каждому моему слову! После этого я удовлетворённо плюхнулся на подушку и крепко заснул.

© Copyright: Волкъ Ангелъ, 2010



Замените «index.php? Option=com_k2 & view=item & id=» с использованием.htaccess и Regex (2)

Вы не можете захватить строку запроса в RewriteRule . Вместо этого используйте RewriteCond . Используйте это правило в верхней части вашего.htaccess:

RewriteCond %{ THE_REQUEST } / index\.php\?option = com_k2 & view = item & id =([^ \s &]+) [ NC ] RewriteRule ^ https : //www.portal-gestao.com/artigos/%1?

Как заменить:

https : //www.example.com/index.php?option=com_k2&view=item&id=7377 https : //www.portal-gestao.com/artigos/7377

Я попробовал это:

RewriteRule ^ index . php ? option = com_k2 & view = item & id =(.*) $ / artigos / $1 [ R = 301 , L ] RewriteRule ^ index . php ? option = com_k2 & view = item & id = \/ ([ 0 - 9 ]{ 4 }-.*) $ / artigos / $1 [ NC , R , L ]

Вы также можете сделать это с помощью RewriteCond Query String, соответствующего коду:

# Individual explicit redirect rules based on exact matching URI|Query String parameters # $1? Strip the option=com_k2&view=item&id=7377 Query String from the destination URI RewriteCond %{ QUERY_STRING } ^ option = com_k2 & view = item & id = 7377 $ [ NC ] RewriteRule ^(.*) $ / artigos / 7377 / $1 ? [ R = 301 , L ] RewriteCond %{ QUERY_STRING } ^ option = com_k2 & view = item & id = 7378 $ [ NC ] RewriteRule ^(.*) $ / artigos / 7378 / $1 ? [ R = 301 , L ] # Dynamically redirect all matching Query Strings to equivalent URI # %2 match and redirect to equivalent 4 digit number URI # $1? Strip the option=com_k2&view=item&id= portion of the Query String from the destination URI RewriteCond %{ QUERY_STRING } ^(option = com_k2 & view = item & id +)=([ 0 - 9 ]{ 4 }+) $ [ NC ] RewriteRule ^(.*) $ / artigos /% 2 / $1 ? [ R = 301 , L ]