Внимание !!!Если вы не боитесь ковырять код форума, то вам следует пропустить первый шаг(установку мода) и обратить внимание на модификации и и , так как с помощью них вы можете вручную задать нужные описания и ключевые слова, мод представленный ниже делает это автоматически, но в результате можете получить кашу из тегов и не ахти какие популярные ключевые слова !!! А так же в любом случае нужно установить мод карты сайта (сайтмап, sitemap) для ускорения индексации форума поисковиками -
Шаг 1. Метатеги. Автоматический вывод метатегов и заполнение их.
Что такое метатеги ??? А метатеги это необязательные теги языков HTML и XMTL, которые не преднаназчены для посетителей сайта, они направлены на поисковые машины. К оформлению метатегов нужно отнестись очень серьезно, т.к. их поисковики используют в сниппетах, то есть показывают его содержимое в результатах поиска в качестве описания страницы. От того, насколько это описание соответствует тому, что ищет пользователь, во многом зависит, перейдет ли он на ваш сайт или на соседний в результатах поиска.
В стандартной, чистой инсталке форума метатеги забиты жестко, регулируются прямыми правками в файлах и отображаются для всех страниц тем одинаковыми. Представьте себе сколько форумов-клонов с мире с одинаковыми метатегами ??? Коллосальное число, оптимизации ноль, шансы перед поисковиками равны. С модом, описанным ниже, ваши позиции возрастут по сравнению с неоптимизированными форумами.
Установка.
Скачать и установить по инструкции мод из архива
Руссификация
Открыть language/ru/acp/board.php и найти
Добавить после
Для стиля на любой верстке
Открыть /styles/ваш стиль/overall_header.html и найти
Заменить на
Настраиваем мод на свой вкус - Админка - Настройки Форума и больше не паримся насчет метатегов
В стандартной, чистой инсталке форума метатеги забиты жестко, регулируются прямыми правками в файлах и отображаются для всех страниц тем одинаковыми. Представьте себе сколько форумов-клонов с мире с одинаковыми метатегами ??? Коллосальное число, оптимизации ноль, шансы перед поисковиками равны. С модом, описанным ниже, ваши позиции возрастут по сравнению с неоптимизированными форумами.
Установка.
Скачать и установить по инструкции мод из архива
Вложение :
| A | Обратите внимание !!! Сразу же в процессе установки мода нам надо решить проблему с тем, что мод не выводит русские ключевики. Решение под спойлером Решение - открыть Код: Выделить все Заменить найденное на Код: Выделить все И после этого мод корректно заработает |
Руссификация
Открыть language/ru/acp/board.php и найти
Код: Выделить все
'WARNINGS_EXPIRE_EXPLAIN'
));Добавить после
Код: Выделить все
// Advanced Meta Tags MOD
$lang = array_merge($lang, array(
'APPEND_GLOBAL_KEYWORDS' => 'Глобальные ключевые слова ',
'APPEND_GLOBAL_KEYWORDS_EXPLAIN'=> 'Добавить глобальные ключевые слова к сгенерированным',
'APPEND_KEYWORDS_FIRST' => 'Место глобальных ключевых слов',
'APPEND_KEYWORDS_FIRST_EXPLAIN' => 'Да - Глобальные перед сгенерированными,<br />Нет - Глобальные после сгенерированных',
'DESCRIPTION_WORD_COUNT' => 'Лимит сгенерированных слов',
'DYNAMIC_DESCRIPTION' => 'Включить в страницу сгенерированное описание',
'DYNAMIC_KEYWORDS' => 'Включить сгенерированные слова',
'GLOBAL_KEYWORDS' => 'Глобальные ключевые слова',
'KEYWORD_WORD_COUNT' => 'Лимит слов в описании',
));Для стиля на любой верстке
Открыть /styles/ваш стиль/overall_header.html и найти
Код: Выделить все
<meta name="keywords" content="" />
<meta name="description" content="" />Заменить на
Код: Выделить все
<meta name="keywords" content="{PAGE_KEYWORDS}" />
<meta name="description" content="{PAGE_DESCRIPTION}" />Настраиваем мод на свой вкус - Админка - Настройки Форума и больше не паримся насчет метатегов
Шаг 2. Заголовки - Просмотр темы, Просмотр форума, Главная страница.
Стандартные заголовки или тайтлы (от названия тега <title>) форума ничего общего с сео-оптимизацией не имеют. Лишние слова, такие как «Просмотр форума», «Просмотр темы», «Главная», и притом одинаковые для всех тем и разделов, мы постараемся убрать в этом шаге.
Избавляемся от «Главная страница»
Открываем index.php и находим
Заменяем на
Код: Выделить все
page_header($user->lang['INDEX']);Заменяем на
Код: Выделить все
page_header();Избавляемся от «Просмотр форума»
Открываем viewforum.php и находим
Заменяем на
Код: Выделить все
page_header($user->lang['VIEW_FORUM'] . ' - ' . $forum_data['forum_name'], true, $forum_id);Заменяем на
Код: Выделить все
page_header($forum_data['forum_name'], true, $forum_id);Избавляемся от «Просмотр темы»
Открываем viewtopic.php и находим
Заменяем на
Если установлен мод, описанный выше,то данная строка должна иметь вид(после правок)
Код: Выделить все
page_header($user->lang['VIEW_TOPIC'] . ' - ' . $topic_data['topic_title'], true, $forum_id);Заменяем на
Код: Выделить все
page_header($topic_data['topic_title'], true, $forum_id);Если установлен мод, описанный выше,то данная строка должна иметь вид(после правок)
Код: Выделить все
page_header($topic_data['topic_title'], true, $first_post_text, $forum_id);Шаг 3. Оптимизация alt-ов вложенных изображений и картинок
Те, кто знаком с тем, чем хорош валидный код, знают наверняка, что любому изображению в коде должен быть присвоен тег (атрибут) alt , аналог title для ссылок. В phpBB3 присутствует такая наработка, но в alt вложенных изображений выводится само имя картинки. А так как в большинстве своем народ, прилепляющий изображения оригинальностью не блещет, то в alt попадают такие имена картинок как 1.png или безымянный.png. Вообщем логику вы поняли, с помощью таких alt -ов повысить позиции в выдаче ( допустим по поиску картинок) не получится. Надо дорабатывать, а я вам предложу способ как это сделать. На мой взгляд лучше в альт выводить имя темы, в которой расположена картинка.
Для примера вот неоптимизированныйalt
А вотalt после приведенных ниже правок, различия очевидны
Итак открываемincludes/functions_content.php и находим
Вставляем после найденного
Находим
И вставляем после
Открываемstyles/ваш стиль/template/attachment.html и 2 раза находим код
Заменяем его на
Вот и все правки и оптимизацияalt -ов вложенных изображений
Для примера вот неоптимизированный
Вложение :
Комментарий к файлу: неоптимизированный alt в phpBB3
А вот
Вложение :
Комментарий к файлу: оптимизированный alt в phpBB3
Итак открываем
Код: Выделить все
if (!sizeof($attachments))
{
return;
}
global $template, $cache, $user;
global $extensions, $config, $phpbb_root_path, $phpEx; Вставляем после найденного
Код: Выделить все
global $topic_data; Находим
Код: Выделить все
'COMMENT' => $comment, И вставляем после
Код: Выделить все
'TOPIC_TITLE' => censor_text($topic_data['topic_title']), Открываем
Код: Выделить все
alt="{_file.DOWNLOAD_NAME}"Заменяем его на
Код: Выделить все
alt="{_file.TOPIC_TITLE}"Вот и все правки и оптимизация
Шаг 4. Семантическая разметка
1.
2.
2.
Шаг 5. Добавляем номер страницы в тайтл
Выше я описывал способ как убрать из тайтла страницы текст Просмотр форума и Просмотр Темы, если так подумать, то теперь у вас получается, к примеру, в подфоруме есть 3 страницы с темами, но они имеют одинаковый тайтл, а так же если в теме более 1 страницы сообщений, то эти страницы так же имеют одинковый тайтл. Надо это исправить, добавим после имени подфорума (или названия темы) текст - Страница N , где N - число, порядковый номер страницы.
Для страницы просмотра подфорумов, открытьviewforum.php и найти строку начинающуюся с page_header и заменить всю строку на
Для страницы просмотра темы, открытьviewtopic.php и найти строку начинающуюся с page_header и заменить всю строку на
Если у вас установлен мод , то нужно еще найти строку
Вставить после найденного
Открытьstyles/Ваш стиль/template/overall_header.html и найти
Вставить после найденного
Так же нужно открытьlanguage/ru/common.php и найти
Вставить после найденного
Для страницы просмотра подфорумов, открыть
Код: Выделить все
$extra_title = ($start > 0) ? ' - ' . $user->lang['Page'] . ( floor( $start / $config['topics_per_page'] ) + 1 ) : '';
page_header($forum_data['forum_name'] . $extra_title, true, $forum_id); Для страницы просмотра темы, открыть
Код: Выделить все
$extra_title = ($start > 0) ? ' - ' . $user->lang['Page'] . ( floor ($start / $config['posts_per_page'] ) + 1 ) : '';
page_header($topic_data['topic_title'] . $extra_title, true, $forum_id); Если у вас установлен мод , то нужно еще найти строку
Код: Выделить все
'TOPIC_SEO_TITLE' => (isset($topic_data['topic_seo_title'])) ? $topic_data['topic_seo_title'] : '',Вставить после найденного
Код: Выделить все
'PAGENUM' => ($start > 0) ? ' - ' . $user->lang['Page'] . ( floor ($start / $config['posts_per_page'] ) + 1 ) : '',Открыть
Код: Выделить все
{TOPIC_SEO_TITLE}Вставить после найденного
Код: Выделить все
{PAGENUM}Так же нужно открыть
Код: Выделить все
'CHANGING_PROFILE' => 'Изменение настроек профиля',Вставить после найденного
Код: Выделить все
'Page' => 'Страница ',Шаг 6. Убираем имя форума со страницы просмотра подфорумов (viewforum.php)
На досуге посетила одна мысль - а зачем нам вообще отображение имени форума в тайтле страницы просмотра подфорумов (viewforum.php) ??? Там обычно идет (на неоптимизированном форуме) так - Просмотр форума - Имя подфорума(раздела) - Имя форума, после оптимизации, описанной выше у вас должно получиться так - Имя подфорума(раздела) - Имя форума, а после правок, описанных ниже, у вас должно получиться так - - Имя подфорума(раздела). На мой взгляд так более красиво выглядит, вообщем если заинтересовало, то открываем шаблон overall_header.html вашего стиля и находим
Вставляем после найденного
Находим
Вставляем перед найденным
Чистим кеш и вуаля
Код: Выделить все
<title>Вставляем после найденного
Код: Выделить все
<!-- IF SCRIPT_NAME == "viewforum" -->{PAGE_TITLE}<!-- ELSE -->Находим
Код: Выделить все
</title>Вставляем перед найденным
Код: Выделить все
<!-- ENDIF -->Чистим кеш и вуаля

Шаг 7. Открываем для индексации картинки-вложения
Внимание !!! Данный метод конфликтует с !!!
Наверняка, многие из вас думали что разрешив ботам скачивать вложения, эти самые боты будут индексировать картинки-вложения. Не тут то было, фигушки. Давайте решим это недоразумение, пусть в индекс и картинки с форума попадают. Для начала открываем корневой
Код: Выделить все
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^fpit/.*_(\d+)\.(gif|jpg|jpeg|bmp|png|tiff|tif|tga)$ download/file.php?id=$1&t=1 [NC]
RewriteRule ^fpin/.*_(\d+)\.(gif|jpg|jpeg|bmp|png|tiff|tif|tga)$ download/file.php?id=$1&mode=view [NC]
RewriteRule ^fpid/.*_(\d+)\.(gif|jpg|jpeg|bmp|png|tiff|tif|tga)$ download/file.php?id=$1 [NC]
</IfModule>Потом открываем
Код: Выделить все
if ($display_cat == ATTACHMENT_CATEGORY_IMAGE && $mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && ((strpos(strtolower($user->browser), 'msie') !== false) && (strpos(strtolower($user->browser), 'msie 8.0') === false)))
{
wrap_img_in_html(append_sid($phpbb_root_path . 'download/file.' . $phpEx, 'id=' . $attachment['attach_id']), $attachment['real_filename']);
file_gc();
}Заменяем найденное на
Код: Выделить все
if ($display_cat == ATTACHMENT_CATEGORY_IMAGE && $mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && ((strpos(strtolower($user->browser), 'msie') !== false) && (strpos(strtolower($user->browser), 'msie 8.0') === false)))
{
send_file_to_browser($attachment, $config['upload_path'], $display_cat);
file_gc();
}Находим
Код: Выделить все
if (empty($user->browser) || (!$is_ie8 && (strpos(strtolower($user->browser), 'msie') !== false)))
{
header('Content-Disposition: attachment; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie 6.0') !== false))
{
header('expires: -1');
}
}
else
{
header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
if ($is_ie8 && (strpos($attachment['mimetype'], 'image') !== 0))
{
header('X-Download-Options: noopen');
}
}И заменяем найденное на
Код: Выделить все
if (empty($user->browser) || (!$is_ie8 && (strpos(strtolower($user->browser), 'msie') !== false)))
{
if (false === strpos($attachment['mimetype'], 'image'))
header('Content-Disposition: attachment; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie 6.0') !== false))
{
header('expires: -1');
}
}
else
{
if (false === strpos($attachment['mimetype'], 'image'))
header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
if ($is_ie8 && (strpos($attachment['mimetype'], 'image') !== 0))
{
header('X-Download-Options: noopen');
}
}Открываем файл
Код: Выделить все
function parse_attachments($forum_id, &$message, &$attachments, &$update_count, $preview = false)
{
if (!sizeof($attachments))
{
return;
}
global $template, $cache, $user;Заменяем найденное на
Код: Выделить все
function parse_attachments($forum_id, &$message, &$attachments, &$update_count, $preview = false)
{
if (!sizeof($attachments))
{
return;
}
global $template, $cache, $user, $topic_data;Находим
Код: Выделить все
switch ($display_cat)
{
// Images
case ATTACHMENT_CATEGORY_IMAGE:
$l_downloaded_viewed = 'VIEWED_COUNT';
$inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
$download_link .= '&mode=view';
$block_array += array(
'S_IMAGE' => true,
'U_INLINE_LINK' => $inline_link,
);
$update_count[] = $attachment['attach_id'];
break;
// Images, but display Thumbnail
case ATTACHMENT_CATEGORY_THUMB:
$l_downloaded_viewed = 'VIEWED_COUNT';
$thumbnail_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id'] . '&t=1');
$download_link .= '&mode=view';
$block_array += array(
'S_THUMBNAIL' => true,
'THUMB_IMAGE' => $thumbnail_link,
);
$update_count[] = $attachment['attach_id'];
break;И заменяем найденное на
Код: Выделить все
switch ($display_cat)
{
// Images
case ATTACHMENT_CATEGORY_IMAGE:
$l_downloaded_viewed = 'VIEWED_COUNT';
$inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
$download_link .= '&mode=view';
if (isset($topic_data) && isset($topic_data['topic_title']))
{
$fn = $topic_data['topic_title'] . ' - ' . ('' === $attachment['attach_comment'] ?
utf8_str_replace('.' . $attachment['extension'], '', htmlspecialchars_decode($attachment['real_filename'])) : $attachment['attach_comment'] );
$block_array['DOWNLOAD_NAME'] = utf8_basename($fn);
$fn = rawurlencode($fn);
$inline_link = "/fpid/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
$download_link = "/fpin/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
}
$block_array += array(
'S_IMAGE' => true,
'U_INLINE_LINK' => $inline_link,
);
$update_count[] = $attachment['attach_id'];
break;
// Images, but display Thumbnail
case ATTACHMENT_CATEGORY_THUMB:
$l_downloaded_viewed = 'VIEWED_COUNT';
$thumbnail_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id'] . '&t=1');
$download_link .= '&mode=view';
if (isset($topic_data) && isset($topic_data['topic_title']))
{
$fn = $topic_data['topic_title'] . ' - ' . ('' === $attachment['attach_comment'] ?
utf8_str_replace('.' . $attachment['extension'], '', htmlspecialchars_decode($attachment['real_filename'])) : $attachment['attach_comment'] );
$block_array['DOWNLOAD_NAME'] = utf8_basename($fn);
$fn = rawurlencode($fn);
$thumbnail_link = "/fpit/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
$download_link = "/fpin/{$fn} _{$attachment['attach_id']}.{$attachment['extension']}";
}
$block_array += array(
'S_THUMBNAIL' => true,
'THUMB_IMAGE' => $thumbnail_link,
);
$update_count[] = $attachment['attach_id'];
break;Все, теперь картинки будут видеть боты, кстати, после этого проверьте нормально ли отображаются картинки-вложения
Вот впринципе и все, форум более менее оптимизирован. Успехов в администрировании















следует сделать дамп БД и копию редактируемых файлов. Делать полную копию всех файлов форума можно и не делать, это лишнее.
На Главную
Радио
Наша команда