Предоставляем срочную помощь по DLE, пишем эксклюзивные модули для вашего проекта, парсеры грабберы, исправляем базу данных, удаляем вирусы редиректы, обновляем скрипты, помощь с переездом на другой хостинг, перенос домена, большой опыт работы с высоконагруженными проектами, защита ddos атаки, ботов и спама, оптимизация модулей и серверов дле, более 10 лет работы, тысячи модификаций и доработок, короткие сроки, дорого, качественно. telegram: @histoo

Как создать правильный робот.тхт для DLE?

Как создать правильный робот.тхт для DLE?RSS-лента темы
  1. Оффлайн

    DaivZ

    Посетители

    Сообщений: 20

    Давайте рассмотрим стандартный робот который ми видем после установки движка:

    User-agent: *
    Disallow: /engine/go.php
    Disallow: /engine/download.php
    Disallow: /user/
    Disallow: /newposts/
    Disallow: /statistics.html
    Disallow: /*subaction=userinfo
    Disallow: /*subaction=newposts
    Disallow: /*do=lastcomments
    Disallow: /*do=feedback
    Disallow: /*do=register
    Disallow: /*do=lostpassword
    Disallow: /*do=addnews
    Disallow: /*do=stats
    Disallow: /*do=pm
    Disallow: /*do=search


    ТАк же сюда еще не входит такие дубли краткой новости как формирование новостей по дате: site.ru/2014/01/07/

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

    И так для начало вырежем такую функцию как newposts
    Версия DLe 10.1:
    Открываем engine/engine.php
    и ищем:
    начало кода
    elseif ($subaction == 'newposts') {

    конец:
    $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve=1 AND date between '$lasttime' and '$thistime'";
    			
    			$config['allow_cache'] = false;
    		}

    Все что между ними ми вырезаем.
    Ниже ищем:
    elseif ($subaction == 'newposts') $nam_e = $lang['title_new'];

    Удаляем.

    Идем в корень движка там .htaccess
    Ищем:
    # вывод непрочитанных статей
    RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
    RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]

    Удаляем.
    После данных манипуляций движок должен отдать 404 ошибку (по несуществующими разделу.


    Теперь наш робот имеет такой вид:
    User-agent: *
    Disallow: /engine/go.php
    Disallow: /engine/download.php
    Disallow: /user/
    Disallow: /statistics.html
    Disallow: /*subaction=userinfo
    Disallow: /*do=lastcomments
    Disallow: /*do=feedback
    Disallow: /*do=register
    Disallow: /*do=lostpassword
    Disallow: /*do=addnews
    Disallow: /*do=stats
    Disallow: /*do=pm
    Disallow: /*do=search


    ***добавлено через 8 минут, 33 секунды***

    Идем дальше в роботе изначально не указаны категория /lastnews/ хотя они тоже доступны для поисковых ботов. Потому мы их тоже вырежем (конечно если Вы и ваши пользователи ими пользуетесь то вырезать не нужно. Достаточно закрыть в роботе.)
    Engine/engine.php ищем:
    elseif ($do == 'lastnews') {
    			// ################ Вывод всех последних новостей #################

    Выделаем до:
    $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve=1" . $where_date;
    		
    		}

    И удаляем.
    Далее ищем:
    elseif ($do == 'lastnews') $nam_e = $lang['last_news'];

    И удаляем.
    Переходим в корень движка там файлик .htaccess
    Находим :
    # вывод всех последних новостей
    RewriteRule ^lastnews(/?)+$ index.php?do=lastnews [L]
    RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]

    И удаляем.
    8 января 2014 - 09:37 / #1
  2. Оффлайн

    DaivZ

    Посетители

    Сообщений: 20

    Идем дальше вырезаем систему вывода по дате (если хорошо просмотреть код то новости за неделю и день имеют 301 редирект.):
    Еngine/engine.php
    Ищем:

    И удаляем.
    В .htaccess ищем и так же удаляем:
    # За день
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(
    /?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L] # За весь месяц RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L] RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L] # Вывод за весь год RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L] RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]


    ***добавлено через 6 минут, 30 секунд***

    Удаляем статистику и строчки в роботе:
    Disallow: /statistics.html
    и Disallow: /*do=stats

    Открываем : engine/engine
    Ищем:
    case "stats" :
    		include ENGINE_DIR . '/modules/stats.php';
    		break;

    Удаляем
    Далее ищем:
    в .htaccess тот что в корне ищем:
    RewriteRule ^statistics.html$ index.php?do=stats [L]

    и удаляем.
    8 января 2014 - 09:57 / #2
  3. Оффлайн

    DaivZ

    Посетители

    Сообщений: 20

    Важно! забыл указать при вырезании функционала вывода по дате С минусов у Вас не будет работать календарь, архив публикации и не доступны теги [date] [/date] - на сайте DLE.
    Точнее календарь и архив будет работать но выводить новости по дате уже нет. Поэтому рекомендуется отключить их в движку в разделе оптимизация.
    8 января 2014 - 10:16 / #3
Модераторы форума: greyPowered by Bullet Energy Forum