Редактор темы

Реклама
Реклама

Вопрос? Как исправить url?

Анжела

Зелёный
Регистрация
16 Апр 2020
Сообщения
1
Рейтинг реакций
0
Баллы
1
1/3
Автор темы
Приветствую. Яндекс удаляет страницы по типу http://сайт.online/zhivotnye/page/22/ и такие (от куда они взялись вообще, не понятно) http://сайт.online/index.php?do=cat&category=mashinki&cstart=2. Не понимаю как правильно убрать дубли и убрать страницы /index.php (не так давно переезжали, возможно /index.php появились из-за переезда).
.htacces выглядит так

DirectoryIndex index.php

RewriteEngine On
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^сайт.online
RewriteRule (.*) http://новый сайт.online/$1 [R=301,L]
RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

# Редирект c www на без www
RewriteCond %{HTTP_HOST} ^www.сайт.online
RewriteRule ^(.*)$ http://новый сайт.online/$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]
и т.д

Робот так:
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: /print/

Disallow: /tags/

Disallow: /admin.php?mod=main

Disallow: /backup/

Disallow: /engine/

Disallow: /uploads/posts/

Disallow: /page/

Disallow: /xfsearch/

Disallow: /oauth.vk.com/

Host: http://сайт.online

Sitemap: http://сайт.online/sitemap.xml

ps: Обрабатывать неверные URL ЧПУ и Использовать отдельную страницу для 404 ошибки в настройках системы не включены

Буду благодарна за ответы))
 
Нам необходимо будет отредактировать всего один файл /engine/engine.php
Для DLE 9.3 и ниже (для версий 9.4 и выше этого делать не надо) сперва необходимо найти следующую строку и удалить:
PHP:
<meta name="robots" content="all" />
Далее (это уже для всех версий без исключения) находим строку:
PHP:
if ($config['allow_rss']) $metatags .= <<<HTML
ВЫШЕ добавляем код:

PHP:
if (
    //$do == 'addnews' OR /* Страница добавления новости с сайта */
    //$do == 'alltags' OR /* Страница просмотра списка тегов */
    //$do == 'feedback' OR /* Страница формы обратной связи */
    //$do == 'favorites' OR /* Страницы закладок пользователей */
    //$do == 'lastcomments' OR /* Страница просмотра всех последних комментариев на сайте, в т.ч. комментариев отдельного пользователя */
    //$do == 'lastnews' OR /* Страница просмотра всех последних новостей */
    //$do == 'lostpassword' OR /* Страница восстановления пароля */
    //$do == 'pm' OR /* Страницы личных сообщений пользователей */
    //$do == 'register' OR /* Страница регистрации нового пользователя */
    //$do == 'rules' OR /* Страница правил сайта */
    //$do == 'stats' OR /* Страница статистики сайта */
    //$do == 'search' OR /* Страница поиска и результатов поиска */
    //$do == 'static' OR /* Все статические страницы */
    //$do == 'tags' OR /* Просмотр новостей по тегу */
    //$do == 'xfsearch' OR /* Просмотр новостей новостей по доп. полям */
    //$subaction == 'allnews' OR /* Просмотр всех новостей пользователя */
    //$subaction == 'newposts' OR /* Просмотр непрочитанных новостей для пользователя */
    //$subaction == 'showfull' OR /* Просмотр полной новости */
    //$subaction == 'userinfo' OR /* Просмотр профиля пользователя */
    //$dle_module == 'date' OR /* Просмотр архива новостей за год/месяц/день. Заменяет собой сразу все три следующие строки */
    //($year != '' and $month == '' and $day == '') OR /* Просмотр архива новостей за год */
    //($year != '' and $month != '' and $day == '') OR /* Просмотр архива новостей за месяц */
    //($year != '' and $month != '' and $day != '' and $subaction == '') OR /* Просмотр архива новостей за день */
    //(intval($_GET['cstart']) > 1 ) OR /* Любые страницы пагинации */
    //($dle_module == 'main' and (intval($_GET['cstart']) > 1)) OR /* Страницы пагинации для главной страницы */
    //($do == 'cat' and $category != '' and $subaction == '' and (intval($_GET['cstart']) > 1)) OR /* Страницы пагинации только для категорий */
    //($do == 'cat' and $category != '' and $subaction == '') OR /* Просмотр любой категории */
    //($do == 'cat' and $category_id == 'X' and $subaction == '') OR /* Просмотр определенной категории. X заменить на id категории */
    $catalog != '' /* Просмотр каталога по буквенному идентификатору */
    ) $metatags .= <<<HTML
\n<meta name="robots" content="noindex,nofollow" />
HTML;

Чтобы отключить индексацию чего либо, убери // перед строкой.

  • Найдите файл шаблона версии для печати print.tpl и откройте его. Сразу после <head> вставьте <meta name="robots" content="noindex">
  • Откройте файл /engine/skins/default.skin.php и проделайте тоже самое.


Твой робот должен быть:

Код:
User-agent: *

Disallow: /engine/

Disallow: /engine/go.php

Disallow: /engine/download.php

Disallow: /xfsearch/

Disallow: /oauth.vk.com/

Host: http://сайт.online

Sitemap: http://сайт.online/sitemap.xml

Источник - Правильный robots.txt для DLE – какой он?
 

Похожие темы Последние темы Популярные темы

Назад
Сверху