WEB лаборатория DLE » DataLife Engine » Хаки DLE » Закрываем от индексации статьи отправленные на модерацию
Навигация
Популярное
    Статистика

    Материалов: 1789 [+0]
    Пользователей: 685 [+0]

    Всего онлайн : 2
    Пользователей: 0
    Гостей: 2


    Последние комментарии
    ...
    HI-tech:
    0

    Закрываем от индексации статьи отправленные на модерацию

    Автор: Robot_DLElabкатегория: DataLife Engine » Хаки DLEдата: 21-02-2013, 22:26
    Закрываем от индексации статьи отправленные на модерацию


    В DataLife Engine с новостями отправленными на модерацию наблюдается проблема.

    А суть проблемы такова:
    Если новость удалена то по стандарту пишет:
    Внимание, обнаружена ошибка
    К сожалению, данная страница для Вас не доступна: возможно, был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском.

    Сервер отдаёт код статуса HTTP: "404 Not Found".
    Всё норм.

    Но если отправить новость на модерацию, то она как и положена уберётся с пользовательской части сайта, по адресу статьи будут писать:
    Внимание, обнаружена ошибка
    Гости не имеют доступа для просмотра статей из данного раздела.

    Тоже вроде всё ок, но есть проблема, сервер отдаёт код статуса HTTP: "200 OK", следовательно эти страницы спокойно входят в индекс поисковых систем, что не есть хорошо.

    Решаем данную проблему можно двумя способами: чтобы сервер от дал 404 или запретить индексирование данной страницы пока она на модерации.

    Установка:
    В файле engine/modules/show.full.php
    найти:
    if( !$news_found AND !$perm ) msgbox( $lang['all_err_1'], "<b>{$user_group[$member_id['user_group']]['group_name']}</b> " . $lang['news_err_28'] );
    elseif( !$news_found ) {
    @header( "HTTP/1.0 404 Not Found" );
    msgbox( $lang['all_err_1'], $lang['news_err_12'] );
    }

    а) делаем чтобы у новостей, находящихся на модерации ответ сервера был не 200, а 404 (реализация Sander-а)
    Заменить на:
    if( !$news_found AND !$perm ){
    @header( "HTTP/1.0 404 Not Found" );
    msgbox( $lang['all_err_1'], "<b>{$user_group[$member_id['user_group']]['group_name']}</b> " . $lang['news_err_28'] );
    }elseif( !$news_found ) {
    @header( "HTTP/1.0 404 Not Found" );
    msgbox( $lang['all_err_1'], $lang['news_err_12'] );
    }

    б) делаем чтобы у новостей, находящихся на модерации выводился метатег robots со значением noindex (реализация Yeti)
    Заменить на:
    if( !$news_found AND !$perm ){
    $disable_index = 1;
    msgbox( $lang['all_err_1'], "<b>{$user_group[$member_id['user_group']]['group_name']}</b> " . $lang['news_err_28'] );
    }elseif( !$news_found ) {
    @header( "HTTP/1.0 404 Not Found" );
    msgbox( $lang['all_err_1'], $lang['news_err_12'] );
    }

    Версия DLE: 9.7 и выше



    Теги: dle, хак

    Другие новости по теме:

    • Замена стандартной ссылки профиля на своюЗаменяет ссылку профиля site.ru/user/test/ на site.ru/journal/test/
    • Внутренняя SEO оптимизация CMS Dle 9.8Статья о внутренней оптимизации движка Dle. При этом использованы и протестированы те материалы, которые применимы и работают только в Dle 9.8 .
    • [FIX] Quick Edit Auto ApproveПри быстром редактировании новости, если пользователь принадлежит группам которым разрешено редактировать все новости, новость автоматически подтверждается и публикуется на сайт, даже если
    • AddNews F5-FIXПосле добавления новости, когда получаем сообщение что новость успешно записана в БД, если нажать F5 то новость продублируется столько раз сколько раз нажата клавиша F5. Хак AddNews F5-FIX
    • Show Added NewsНебольшой хак Show Added News добавляет возможность, при добавлении новости с сайта, сразу перейти на только что добавленную новость, так как по умолчанию DLE предлагает добавить ещё новость или


    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.