PunBB 1.3 запрет на показ подписей гостям, поисковикам и другой SEO-тюнинг
PunBB 1.3 неплохой легковесный форум с красивыми URL’ами “в коробке”.
Т.к. проект находится на ранних стадиях развития, я не смог обнаружить в админке такой функции как “не показывать подписи к сообщения гостям”, или просто “запретить индексацию ссылок в подписях”, также нельзя запретить индексировать ссылки в профилях юзеров.
Для реализаций этих функций “по-быстрому” сделаем небольшой SEO-тюнинг.
Если вам не понятно, для чего это вообще нужно, поясню.
1. Спамеры осознают (ну, я надеюсь) бесполезность регистраций и постинга ссылок в подписи и профили.
2. Меньше исходящих ссылок будет на ваших страницах, это хорошо, если вы продаёте ссылки (например, в sape).
Задача 1. Убрать видимость подписи к сообщениям для гостей (и соответственно исключить их индексацию поисковиками).
Решение. Открываем файл viewtopic.php, ищем строку 504.
Меняем
504 | $forum_page['message']['signature'] = '<div class="sig-content"><span class="sig-line"><!-- --></span>'.$signature_cache[$cur_post['poster_id']].'</div>'; |
на
504 505 506 507 508 509 | if (!$forum_user['is_guest']) { $forum_page['message']['signature'] = '<div class="sig-content"><span class="sig-line"><!-- --></span>'.$signature_cache[$cur_post['poster_id']].'</div>'; } else { $forum_page['message']['signature'] = ''; } |
Теперь идём на строчку 414:
414 415 | if (!empty($forum_page['post_contacts'])) $forum_page['post_options']['contacts'] = '<p class="post-contacts">'.implode(' ', $forum_page['post_contacts']).'</p>'; |
меняем на:
414 415 416 417 418 | if (!$forum_user['is_guest']) { if (!empty($forum_page['post_contacts'])) $forum_page['post_options']['contacts'] = '<p class="post-contacts">'.implode(' ', $forum_page['post_contacts']).'</p>'; } |
Задача 2. Убрать видимость поля “сайт”, а также подпись на странице профиля пользователя для незарегистрированных пользователей (и соответственно исключить их индексацию поисковиками).
Решение. Открываем файл profile.php, строка 1329:
1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 | if ($user['url'] != '') { if ($forum_config['o_censoring'] == '1') $user['url'] = censor_words($user['url']); $user['url'] = forum_htmlencode($user['url']); $forum_page['url'] = '<a href="'.$user['url'].'" class="external url" rel="me">'.$user['url'].'</a>'; $forum_page['user_contact']['website'] = '<li><span>'.$lang_profile['Website'].': '.$forum_page['url'].'</span></li>'; } |
меняем этот блок на:
1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 | if (!$forum_user['is_guest']) { if ($user['url'] != '') { if ($forum_config['o_censoring'] == '1') $user['url'] = censor_words($user['url']); $user['url'] = forum_htmlencode($user['url']); $forum_page['url'] = '<a href="'.$user['url'].'" class="external url" rel="me">'.$user['url'].'</a>'; $forum_page['user_contact']['website'] = '<li><span>'.$lang_profile['Website'].': '.$forum_page['url'].'</span></li>'; } } |
Теперь опускаемся на строчку 1355 с содержимым:
1355 1356 | if ($forum_config['o_signatures'] == '1' && isset($parsed_signature)) $forum_page['sig_demo'] = $parsed_signature; |
меняем на:
1355 1356 1357 1358 1359 | if (!$forum_user['is_guest']) { if ($forum_config['o_signatures'] == '1' && isset($parsed_signature)) $forum_page['sig_demo'] = $parsed_signature; } |
Всё. По ходу написания поста пришлось поставить плагин для вставки и подсветки php: WP-Syntax.