Обычно наибольшее значение имеют поисковые запросы, содержащие упоминание ключевого слова и слова «форум». Например, если форум посвящён автомобилям, то в первую очередь важны запросы «автофорум», «автомобильный форум» и «форум про автомобили». Именно под такие запросы я обычно и оптимизирую главную страницу форума. Итак, по пунктам.
Подготовительные работы
Для работы с шаблонами пригодится добавление новой шаблонной переменной, использование которой будет показано далее. Откроем файл index.php и найдём в нём строку
Код: Выбрать все
'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false,
В этом участке кода происходит определение шаблонных переменных для главной страницы форума, поэтому перед данной строчкой добавляем такую:
Код: Выбрать все
'S_IN_INDEX' => true,
Всё, теперь можно работать с шаблонной переменной {S_IN_INDEX}, которая принимает значение true для главной страницы форума и значение false для всех остальных страниц.
Внутренняя перелинковка
По умолчанию в навигационной строке форума phpBB на главную страницу ведёт ссылка с анкором «Список форумов». Эта ссылка сквозная, то есть она проставлена на всех страницах форума, поэтому ей нужно заняться в первую очередь. Для начала изменим её текст с бесполезного для нас «Список форумов» на самый нужный для нас поисковый запрос, к примеру, «Автомобильный форум». Для этого откроем файл language/ru/common.php, найдём в нём строку:
Код: Выбрать все
'FORUM_INDEX' => 'Список форумов',
и заменим её таким образом:
Код: Выбрать все
'FORUM_INDEX' => 'Автомобильный форум',
Изменения будут видны сразу же после сохранения файла.
Однако по умолчанию ссылка ведёт на страницу index.php, в то время как обычно продвигается не example.com/index.php, а именно example.com/ без указаний страниц. Это тоже нужно учесть, поэтому открываем для редактирования файл includes/functions.php, находим в нём строку:
Код: Выбрать все
'U_INDEX' => append_sid("{$phpbb_root_path}index.$phpEx"),
и заменяем её на:
Код: Выбрать все
'U_INDEX' => append_sid("{$phpbb_root_path}"),
Заголовок и meta-теги
Благодаря добавлению шаблонной переменной появляется возможность указать для главной страницы форума специфические значения тега <title> и мета-тегов keywords и description. Для этого нужно лишь отредактировать файл шаблона overall_header.html. Он находится в папке template вашего стиля. К примеру, для стиля prosilver этот файл нужно искать по следующему пути - styles/prosilver/template/overall_header.html. Открываем его, и находим следующие строчки:
Код: Выбрать все
<meta name="keywords" content="" />
<meta name="description" content="" />
По умолчанию в них ничего не прописано, однако у вас может быть прописано вручную, либо с помощью переменных из-за какого-либо мода. В атрибуте content нужно прописать условие, является ли страница главной, и если это так, то вывести определённые значения, если нет, то вывести то, что там было ранее. Добавлять нужно такой код:
Код: Выбрать все
<!-- IF S_IN_INDEX -->значение атрибута контент для главной страницы<!-- ELSE -->значение атрибута content, которое было ранее<!-- ENDIF -->
Например, может быть так:
Код: Выбрать все
<meta name="keywords" content="<!-- IF S_IN_INDEX -->автофорум, форум про автомобили, иномарки, ремонт автомобиля, гибдд<!-- ELSE --><!-- ENDIF -->" />
<meta name="description" content="<!-- IF S_IN_INDEX -->самый полный форум про автомобили использующий движок phpBB<!-- ELSE --><!-- ENDIF -->" />
Теперь нужно заменить ещё и заголовок. Там желательно указать тот же ключевик, что был использован для замены «Список форумов», а также можно добавить домен форума или его название. Строчку:
Код: Выбрать все
<title>{SITENAME} • <!-- IF S_IN_MCP -->{L_MCP} • <!-- ELSEIF S_IN_UCP -->{L_UCP} • <!-- ENDIF -->{PAGE_TITLE}</title>
по аналогии заменяем на такую:
Код: Выбрать все
<title><!-- IF S_IN_INDEX -->Автомобильный форум auto.example.com<!-- ELSE -->{SITENAME} • <!-- IF S_IN_MCP -->{L_MCP} • <!-- ELSEIF S_IN_UCP -->{L_UCP} • <!-- ENDIF -->{PAGE_TITLE}<!-- ENDIF --></title>
Сохраняем все изменения и обновляем шаблоны через администраторский раздел, иначе изменения не отобразятся на форуме.
Текст и сниппеты
В обычном виде главная страница форума phpBB представляет собой набор статистической информации и ссылок на разделы и подфорумы. Для пущего эффекта нужно добавить туда текст, который бы содержал в себе те ключевые слова, под которые нужно продвинуть главную страницу форума. Для этого можно поступить, например, так - открыть файл шаблона главной страницы index_body.html и найти там строчку:
Код: Выбрать все
<!-- IF S_DISPLAY_ONLINE_LIST -->
Перед ней нужно добавить упомянутый текст, при необходимости указав с помощью шаблонных переменных, что его не нужно показывать обычным зарегистрированным пользователям. Пример добавляемого кода:
Код: Выбрать все
<br />
<!-- IF not S_USER_LOGGED_IN or S_IS_BOT -->
<p>auto.example.com — специализированный <strong>автофорум</strong> для разговоров на любые темы, касающиеся автомобилей и их владельцев. Не могли найти <strong>форум автомобилистов</strong>? Вот он, здесь!</p>
<!-- ENDIF -->
Сохраняем изменения и обновляем кэш шаблона в администраторском разделе.
Проделанные изменения отобразятся и в выдаче поисковых систем, так как сниппеты почти наверняка будут использовать добавленный текст. Привожу небольшой скриншот, сделанный с выдачи яндекса, для сравнения:
Источник http://fladex.ru/news/a-143.html