Правильный Robots.txt и .htaccess для Dle
Продолжая работать с сателлитами, сегодня настраивал другу сайт для ТрастЛинка. Как обычно встал вопрос о правильной настройке файлов robots.txt и .htaccess. Я работаю исключительно с WordPress, поэтому пришлось опять лезть в Яндекс. В итоге, благодаря форуму maultalk и нескольким авторским seo-блогам удалось собрать всю нужную информацию.
Чтобы не забыть, выкладываю здесь.
Настройка Robots.txt для Dle
User-agent: *
Disallow: /*print
Disallow: /user/
Disallow: /backup/
Disallow: /engine/
Disallow: /language/
Disallow: /templates/
Disallow: /upgrade/
Disallow: /uploads/
Disallow: /autobackup.php
Disallow: /admin.php
Disallow: /index.php?do=addnews
Disallow: /index.php?do=feedback
Disallow: /index.php?do=lostpassword
Disallow: /index.php?do=pm
Disallow: /index.php?do=register
Disallow: /index.php?do=stats
Disallow: /index.php?do=search
Disallow: /index.php?subaction=newposts
Disallow: /?do=lastcomments
Disallow: /statistics.html
Host: Ваш_сайт
Sitemap: http://Ваш_сайт/sitemap.xml
В результате:
- Из индекса убираются все версии страниц для печати;
- Закрываются страницы профилей, при помощи которых часто спамят недобросовестные вебмастеры;
- Запрещаются к индексации страницы, на которых отсутствует полезный для посетителей контент, например, админка;
- Отбрасываем всякий хлам;
- Задаём местонахождение карты сайта и хост.
В зависимости от наличия каких-нибудь других ненужных папок, например, созданных вами, не забудьте закрыть и их.
Настройка .htaccess для Dle
Открываем файл, который, как и предыдущий находится в корне сайта. Находим строчки в самом начале:
DirectoryIndex index.php
RewriteEngine On
Вместо них вставляем:
RewriteEngine On
Options +Indexes
Options +FollowSymLinks# Редирект для категорий (чтобы в конце URL был /)
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !.html$
RewriteCond %{REQUEST_URI} !.xml$
RewriteRule (.+) $1/ [R=301,L]# Редирект c www на без www
RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule ^(.*)$ http://site.ru/$1 [R=permanent,L]# Редирект для главной (с /index.php,html на /)
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
В коде, на всякий случай, есть пояснения. Их удалять не обязательно – на работе они никак не скажутся. Не забываем вместо site.ru прописывать нужный адрес.
В результате:
- Все адреса категорий на конце будут со слешем (/) – для удаления из индекса разных url.
- Основным хостом сайта задаётся адрес без www. Аналогично можно сделать и наоборот.
- Устанавливаем редирект со всех второстепенных адресов главной страницы (site.ru/index.php, www.site.ru и www.site.ru/index.php) на один – site.ru.
В отличие от настройки Robots.txt и .htaccess для WordPress, здесь пришлось немного повозиться, но в итоге всё получилось и работает. Пользуемся на здоровье!
СТАТЬИ ИЗ РУБРИКИ:
- Как комментировать блоги, чтобы получать ценные обратные ссылки и трафик
- 14 полезных для маркетолога фактов о QR-кодах
- Как нанять хорошего SEO-специалиста в штат
- Основы SMM: думай, прежде чем делать
- Google PageRank: мифы и факты
- 3 маркетинговые стратегии для онлайн продавцов
- 4 контент-стратегии для развития B2B блога
- SEO-обучение: краеугольный камень успешного бизнеса
- Распределение прибыли – новый виток развития интернет-рекламы
- 12 способов увеличить CTR
“В итоге, благодаря форуму maultalk и нескольким авторским seo-блогам удалось собрать всю нужную информацию.”
А точнее благодаря моей статье, которую вы слава богу удосужились немного отрерайтить…
http://seo-wave.ru/6-pravilnaya-nastrojka-robots.txt-i-.htaccess-na-dle.html
А вот это все:
Disallow: /index.php?do=addnews
Disallow: /index.php?do=feedback
Disallow: /index.php?do=lostpassword
Disallow: /index.php?do=pm
Disallow: /index.php?do=register
Disallow: /index.php?do=stats
Disallow: /index.php?do=search
Disallow: /index.php?subaction=newposts
не проще заменить на :
Disallow: /*?*