SE Оптимизация LogicBoard

0
Клиент (DLE Edition)
+ 4
Новичок
Года три назад мы начинали работать с внутренней оптимизацией DLE, решая проблемы с дублированием контента посредством управления индексированием при помощи мета-тега "robots". Параллельно с нами MSW (0-web.ru) решил написать хак запрещающий индексирование страниц ошибок в DLE. Его реализация оказалась более простой, поэтому в итоге мы взяли её за основу. Позже был выпущен модуль Metarobots для DLE. А ещё позже реализацией использования данного мета-тега занялся Алаев(alaev.info), но это уже к делу не относится.

Поисковые роботы Google строгие значения в robots.txt расценивают только как рекомендации, а не запрет. Поэтому значение мета-тега robots возросло.

Цитата:
Цитата:Файл robots.txt необходим только в том случае, если на вашем сайте есть содержание, которое не следует включать в индекс поисковых систем. Если вы хотите, чтобы поисковые системы включали в свои индексы все содержание вашего сайта, файл robots.txt (даже пустой) не требуется.

Хотя Google не сканирует и не индексирует содержание страниц, заблокированных в файле robots.txt, URL, обнаруженные на других страницах в Интернете, по-прежнему могут добавляться в индекс. В результате URL страницы, а также другие общедоступные сведения, например текст ссылок на сайт или заголовок из каталога Open Directory Project (www.dmoz.org), могут появиться в результатах поиска Google.

Чтобы использовать файл robots.txt, необходимо иметь доступ к корневому каталогу вашего домена (в случае сомнений обратитесь к поставщику услуг веб-хостинга). Если у вас нет доступа к корневому каталогу домена, вы можете ограничить доступ с помощью метатега robots.
Чтобы полностью исключить вероятность появления контента страницы в индексе Google, даже если на нее ссылаются другие сайты, используйте метатег noindex или x-robots-tag. По мере сканирования страниц, робот Googlebot обнаружит метатег noindex и не станет отображать страницу в индексе. HTTP-заголовок x-robots-tag рекомендуется использовать, чтобы исключить из индекса файлы, формат которых отличается от HTML (например, изображения или другие типы документов).

источник: support.google.com

Сейчас мы начали использовать форум LogicBoard и решили заняться постепенной его оптимизацией. И так начнём.

Мета-тег "robots" используется в LogicBoard, но совершенно на всех страницах форума имеет значение all, т.е. его наличие в скрипте в том виде в котором он есть бесполезно.

Попробуем его использовать с пользой!

Установка:

# Подключаем мета-тег "robots" в Центр управления
Открыть файл:
/control_center/template/template.class.php
после:
php code:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

вставить:
php code:
  1. <meta name="robots" content="noindex, nofollow">


# Подключаем вывод мета-тега "robots"
Открыть файл:
/index.php
после:
php code:
  1. if (!$meta_info_forum_keys) $meta_info_forum_keys = $meta_info_text;

вставить:
php code:
  1. if(!$robots_noindex) $robots_noindex = "<meta name=\"robots\" content=\"all\" />";


Там же
после:
php code:
  1. $tpl->tags( '{meta_keyword}', meta_info ($meta_info_forum_keys, "keyword", $meta_info_forum) );

вставить:
php code:
  1. $tpl->tags( '{meta_robots}', $robots_noindex );


# Обратная связь
Открыть файл:
/components/modules/feedback.php
после:
php code:
  1. $meta_info_other = $lang_m_feedback['location'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Восстановление пароля
Открыть файл:
/components/modules/lostpass.php
после:
php code:
  1. $meta_info_other = $lang_m_lostpass['location'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Регистрация
Открыть файл:
/components/modules/registration.php
после:
php code:
  1. $meta_info_other = $lang_m_registration['location'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Правила
Открыть файл:
/components/modules/rules.php
после:
php code:
  1. $meta_info_other = $lang_m_rules['location'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Список модераторов/администраторов форума
Открыть файл:
/components/modules/users/moderators.php
после:
php code:
  1. $meta_info_other = $lang_m_u_moderators['meta_info'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Список online
Открыть файл:
/components/modules/users/online.php
после:
php code:
  1. $meta_info_other = $lang_m_u_online['meta_info'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Репутация
Открыть файл:
/components/modules/users/reputation_history.php
после:
php code:
  1. $meta_info_other = str_replace("{name}", $row['name'], $lang_m_u_reputation_history['meta_info']);

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Список активных и последних тем, а также всех тем пользователя
Открыть файл:
/components/modules/board/topics_out.php
после:
php code:
  1. $_SESSION['back_link_board'] = $_SERVER['REQUEST_URI'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, follow\">";


# Список последних ответов, а также всех сообщений пользователя
Открыть файл:
/components/modules/board/posts_out.php
после:
php code:
  1. $_SESSION['back_link_board'] = $_SERVER['REQUEST_URI'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, follow\">";


# Страница поиска
Открыть файл:
/components/modules/search.php
после:
php code:
  1. $meta_info_other = $lang_m_search['location'];

вставить:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";


# Выводим мета-тег robots в шаблон
Открыть файл:
/templates/Standart/global.tpl
найти:
php code:
  1. <meta name="robots" content="all" />

и заменить на:
php code:
  1. {meta_robots}


# Правим адрес sitemap
Открыть файл:
/.htaccess
после:
php code:
  1. RewriteRule ^rss.xml$ components/modules/rss.php [L]

вставить:
php code:
  1. RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]


Теперь можно в конце файла robots.txt прописать значение Sitemap

Также можно закрыть от индексирования ссылки в шаблоне global.tpl на:
- Правила форума
- Очистить Cookies
- Отметить все темы и форумы прочитанными
- Обратная связь
добавив к ним атрибут rel="nofollow"

По поводу значения мета-тега robots "noindex, follow" - не индексировать, но учитывать и переходить по ссылкам многие спорят, что оно не работает или бессмысленено, я с этим не согласен, дубли уходят из индекса, а индексация, например, архивных и глубокой вложенности страниц улучшается и это подтверждается экспериментами с сайтами на DLE.

Спасибо за внимание будем работать дальше.
Клиент (CMS Edition)
+ 1
Участник
На практике опробовано? Каковы результаты до и после?
Клиент (DLE Edition)
+ 4
Новичок
DeeMon (02.05.2013, 17:48) писал:На практике опробовано? Каковы результаты до и после?

а какие вы хотите результаты увидеть?
Дубли и служебные страницы закрыты от индексирования, в поиске должны появиться более ревелантные страницы, юзабилити мы не ухудшили.
Теперь можно можно уменьшить robots.txt и убрать дублирующие правила.
Клиент (CMS Edition)
+ 1
Участник
dlepro (02.05.2013, 17:54) писал:а какие вы хотите результаты увидеть?

Ну допустим соотношение кол-ва проиндексированного к кол-ву того что осталось в поиске. При наличии дублей и прочей грязи порой соотношение 3:1, реже 2:1(по Яше).
Клиент (DLE Edition)
+ 4
Новичок
DeeMon (02.05.2013, 18:12) писал:
Ну допустим соотношение кол-ва проиндексированного к кол-ву того что осталось в поиске. При наличии дублей и прочей грязи порой соотношение 3:1, реже 2:1(по Яше).


как это понять?
Цитата:соотношение кол-ва проиндексированного к кол-ву того что осталось в поиске

масло масленное, но я догадываюсь что вы хотели сказать, а какое значение по вашему имеет этот показатель?
Клиент (CMS Edition)
+ 1
Участник
dlepro (02.05.2013, 18:30) писал:как это понять?

То что загружено роботом при обходе сайта и то что потом остаётся для индекса.
dlepro (02.05.2013, 18:30) писал:масло масленное

не совсем...
dlepro (02.05.2013, 18:30) писал:а какое значение по вашему имеет этот показатель?

у всех по разному, встречалось что загружено порядка 2000 страниц, а в индексе в итоге остаётся лишь 150 от силы
Клиент (DLE Edition)
+ 4
Новичок
DeeMon (02.05.2013, 19:53) писал:
dlepro (02.05.2013, 18:30) писал:как это понять?

То что загружено роботом при обходе сайта и то что потом остаётся для индекса.
dlepro (02.05.2013, 18:30) писал:масло масленное

не совсем...
dlepro (02.05.2013, 18:30) писал:а какое значение по вашему имеет этот показатель?

у всех по разному, встречалось что загружено порядка 2000 страниц, а в индексе в итоге остаётся лишь 150 от силы

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

Моя статья помогает решить вопрос закрытия от индексирования служебных страниц и страниц с дублированием контента. И то работа только начата...
Пользователи
+ 4
Участник
Прежде всего хочу поблагодарить автора темы! Ограничение индексирования с помощью мета-тега "robots" полностью решает проблему с дублями в google, боты которого плюют на запреты в robots.txt. dlepro, еще раз огромное спасибо Вам за проделанную работу!
И один вопрос к знающим. В выдаче много дублей с адресами вида /cat-example/reply/topic-72.html‎ и /cat-example/reply111/topic-72.html. Чтобы запретить их индексацию, видимо, нужно вставить
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";
в файл reply.php. Но не знаю, в какую именно строчку. Подскажите, пожалуйста.
Пользователи
+ 4
Участник
extramodules
17:32, 30.10.2013
Все, сама разобралась.

Чтобы избавиться от дублей вида /cat-example/reply/topic-72.html‎ и /cat-example/reply111/topic-72.htm:

В файле:
/components/modules/board/reply.php
после:
php code:
  1. $lang_m_b_reply = language_forum ("board/modules/board/reply");

вставляем:
php code:
  1. $robots_noindex = "<meta name=\"robots\" content=\"noindex, nofollow\">";

Всё. Не забудьте, что вывод мета-тега "robots" должен быть подключен в /index.php, как описал автор этой темы.

Для тех, кто хочет избавиться от дублей, содержащих "/last/" (пример: /cat-example/last/topic-72.html):

1. Выполняем правки, описанные здесь: http://logicboard.ru/support/questions_dle_edition/topic-1897.html

2. В файле:
/components/class/topics_out.php
меняем:
php code:
  1. $tpl->tags('{link_last}', topic_link($row['id'], $row['forum_id'], true));

на:
php code:
  1. $tpl->tags('{link_last}', topic_link($row['id'], $row['forum_id'], false));

3. В файле:
/components/modules/board/main.php
меняем:
php code:
  1. $tpl->tags('{last_topic_link}', topic_link($cache_forums[$last_id]['last_topic_id'], $last_id, true));

на:
php code:
  1. $tpl->tags('{last_topic_link}', topic_link($cache_forums[$last_id]['last_topic_id'], $last_id, false));

4. В файле:
/components/modules/board/forum.php
меняем:
php code:
  1. $tpl->tags('{last_topic_link}', topic_link($cache_forums[$last_id]['last_topic_id'], $last_id, true));

на:
php code:
  1. $tpl->tags('{last_topic_link}', topic_link($cache_forums[$last_id]['last_topic_id'], $last_id, false));

Всё. Учтите, что после изменений ссылки в блоке последних тем на форуме и на сайте, на главной странице и в категориях форума будут вести не на последнее сообщение темы, а на ее первую страницу.
Клиент (DLE Edition)
+ 1
Активный участник
Спасибо всем, это чудо а не тема.
Клиент (CMS Edition)
+ 1
Участник
dlepro,   
Теперь можно в конце файла robots.txt прописать значение Sitemap.  

Покажите пожалуйста пример для чайников. (Где что и как прописовать )
Пользователи
0
Новичок
arturkipper
16:17, 16.02.2015
Ребята в гугле появляются дубли форума
Как исправить title что только было назваения топика, а не целый комплект категория и так далее?
Клиент (CMS Edition)
+ 7
Активный участник
arturkipper, если вы о www и без www то это поправлено в 4.1 
а так покажите что за дубли
IHOR Hosting VDS хостинг от 200р + ISP manager lite бесплатно.
Пользователи
0
Новичок
Orion писал:arturkipper, если вы о www и без www то это поправлено в 4.1 
а так покажите что за дубли
Нужно сделать чтобы в title странички выводился только название темы, а не категория + названия самого форума
Клиент (DLE Edition)
+ 1
Активный участник
Похоже инструкции немного устарели, я не смог найти файл /control_center/template/template.class.php в DLE Edition 4.1.
Кто не будь подобное в версии 4.1?
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.