SEO mod

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).

Re: SEO mod

Сообщение MAzZY 23.07.2008 21:56

Andreich
Подскажи, в чем проблема: я сделал замену, как ты подсказал и теперь получаю ссылки вида

Код: Выделить всё
forum.ru/r-r-r-s-r-r-r-r-r-r-r-r-r-s-s-r-phpbb3-t1.html


для темы "Добро пожаловать в phpBB3"

Я говорю именно про мод Advanced phpBB3 SEO mod Rewrite. Без внесения твоих изменений все работает нормально, только без названия тем в ссылках.
MAzZY
phpBB 2.0.8
 
Сообщения: 335
Зарегистрирован: 14.05.2005 23:43


Re: SEO mod

Сообщение MAzZY 23.07.2008 22:57

Создал для Advanced phpBB3 SEO mod Rewrite отдельную тему, чтобы не офтопить здесь
MAzZY
phpBB 2.0.8
 
Сообщения: 335
Зарегистрирован: 14.05.2005 23:43

Re: SEO mod

Сообщение Izya Вчера 20:54

Установил я этот мод.
Пришлось повозиться, но работает.

По пунктам об ошибках.
1) 2 ошибки в инструкции по инсталляции!!! (удивляюсь, как такие моды получают статус validated).
2) Попытка перехода на конкретную страницу многостраничной темы со страницы просмотра форума вызывает ошибку, так как в URL подставляется расширение php, а не html (но переход по страницам внутри темы осуществляется нормально).
3) Ссылка "пометить все форумы как прочтенные" действительно не работает, и предложенная в первом сообщении этой темы инструкция помогает. Но насчет бага №1, описанного там же, я вообще не врубаюсь. Иконка "Последнее сообщение" в списке форумов и в просмотре форума у меня работает. Да и search.php к ней никакого отношения не имеет. Может имеется ввиду какая-то другая иконка?..
4) Ссылки с кириллическими символами, собственно, ошибок в работе форума не вызвали, но кракозябры в URL смущают чисто эстетически. Поэтому просто снес функцию добавления названия темы или форума в URL. Тем более что считаю такую функцию лишней.

К чему я это всё? К тому, что от описанных проблем избавился, и если кто-то соберется ставить этот мод, могу выложить здесь мои рецепты решения этих проблем.
Да, и еще пришлось самостоятельно внедрять этот мод в портал (phpBB3 portal), чтобы в "новостях", "объявлениях", "опросах", "последних темах" ссылки были SEO вида. Так что если кому надо, могу и в этом плане поделиться опытом.
Izya
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 30.08.2008 10:46
Откуда: Абакан, Сибирь

Re: SEO mod

Сообщение rxu Вчера 21:02

Izya писал(а):могу выложить здесь мои рецепты

Izya писал(а):могу и в этом плане поделиться опытом.

Izya
Не надо угроз - делитесь без предупреждения, если есть, чем :)
Изображение
Аватара пользователя
rxu
phpBB Guru
 
Сообщения: 4535
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск

Re: SEO mod

Сообщение Izya Вчера 22:01

Ну что ж, делюсь :).

Начнем с инсталляции.
1-я ошибка - о которой в этой теме уже писали. Повторяться не буду. Там вместо "Добавить после" надо "Заменить на".
2-я ошибка -
Код: Выделить всё
OPEN
posting.php
FIND
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], '<a href="' . append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id) . '">', '</a>');
REPLACE WITH
$meta_info = format_url($post_data['topic_title'], "p$next_post_id");

Это вообще жуть. Нам предлагают заменить добавление некой строки к одной переменной вычислением совершенно другой переменной. Дело в том, что заменяемая строка встречается в инструкции (и в редактируемом файле) два раза. И, насколько я понял, во второй раз заменяющую строку вставляли в инструкцию копи-пастом, но сделали это не оттуда :lol: . Так вот, применяя, как говорит Палыч, мыслительный процесс, при внимательном изучении инструкции можно сделать вывод, что должно выглядеть так:
Код: Выделить всё
OPEN
posting.php
FIND
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], '<a href="' . append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id) . '">', '</a>');
REPLACE WITH
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], '<a href="' . format_url($post_data['forum_name'], 'f=' . $forum_id) . '">', '</a>');

По крайней мере я сделал именно так, и у меня все работает...

Далее. По поводу вида URL. Для того, чтобы убрать из него названия форумов и тем, делаем следующее:
Код: Выделить всё
OPEN
\includes\functions_seo.php
FIND
return append_seo_sid($phpbb_root_path . $name . '-' . $id . (($start) ? "s$start" : '') . $ext, $xtra_params) . '#' . $id;
REPLACE WITH
return append_seo_sid($phpbb_root_path . ***anything*** . '-' . $id . (($start) ? "s$start" : '') . $ext, $xtra_params) . '#' . $id;
FIND
return append_seo_sid($phpbb_root_path . $name . '-' . $id . (($start) ? "s$start" : '') . $ext, $xtra_params);
REPLACE WITH
return append_seo_sid($phpbb_root_path . ***anything*** . '-' . $id . (($start) ? "s$start" : '') . $ext, $xtra_params);
FIND
return $phpbb_root_path . $name . '-' . $id;
REPLACE WITH
return $phpbb_root_path . ***anything*** . '-' . $id;

Что такое ***anything*** и с чем его едят. Дело в том, что если переменную $name не заменить ничем, а просто убрать, то получающиеся ссылки не будут подходить под правила, внесенные в .htaccess. Их конечно можно отредактировать, но я, например, вставил вместо $name аббревиатуру названия сайта и весьма доволен.

Теперь решим проблему с многостраничными темами. Ссылки на страницы темы при просмотре форума имеют вид 123-t215s20.php вместо 123-t215s20.html и не работают. Исправляем:
Код: Выделить всё
OPEN
includes\functions_seo.php
FIND
$append = '.' . $phpEx;
REPLACE WITH
$append = '.html';


Как подружить SEO и phpBB3 Portal расскажу завтра, так как сегодня пошел спать.
Izya
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 30.08.2008 10:46
Откуда: Абакан, Сибирь

Re: SEO mod

Сообщение Палыч Вчера 22:14

Izya
Поиск по "мыслительный процесс" и автору "Палыч" выдал
Подходящих тем или сообщений не найдено.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Никогда не бойся делать то, что ты пока не умеешь. Помни, что Ковчег был построен любителем. Профессионалы строили Титаник...
Аватара пользователя
Палыч
Просто Палыч
 
Сообщения: 6456
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер

Re: SEO mod

Сообщение Izya Сегодня 6:45

Палыч, прошу меня извинить, если что не так, но вот ссылка с подсветкой:
post183886.html?hilit=%D0%BC%D1%8B%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE


Добавлено спустя 57 минут 24 секунды:
Итак, phpBB3 Portal и SEO MOD.

Шаг первый. Актуален для тех, у кого портал установлен в корневую директорию форума (то есть portal.php и index.php находятся в одной папке). Остальные могут этот шаг пропустить.
После установки SEO MOD возникает проблема - ссылка "Список форумов" начинает ссылаться не на "/forum/index.php", а просто на "/forum/". А в файле .htaccess в качестве DirectoryIndex прописан portal.php. В итоге получается, что теряется возможность попасть к списку форумов каким-либо образом, кроме вбивания URL в адресную строку.
Делаем следующее:
Код: Выделить всё
OPEN
\includes\functions.php
FIND
   return append_sid($phpbb_root_path);
}
REPLACE WITH
   return append_sid($phpbb_root_path .'index.html');
}
if ($url === "{$phpbb_root_path}portal.$phpEx")
{
   return append_sid($phpbb_root_path .'portal.html');
}

OPEN
.htaccess
FIND
Rewriterule ^(.+)-(t|p)([0-9]*)s([0-9]*).html$      ./viewtopic.php?$2=$3&start=$4&$5
ADD AFTER
Rewriterule index.html index.php
Rewriterule portal.html portal.php


Шаг второй. Приводим ссылки в различных блоках портала к SEO-виду. Внимание! Эти инструкции подойдут только для тех, кто избавился от переменной $name в return-функциях функции format_url() (читай выше в этой теме).
Для блока "Последние новости":
Код: Выделить всё
OPEN
\portal\block\news.php
FIND
'U_VIEW_COMMENTS'   => append_sid($phpbb_root_path . 'viewtopic.' . $phpEx . '?t=' . $fetch_news[$i]['topic_id'] . '&amp;f=' . $fetch_news[$i]['forum_id']),
REPLACE WITH
'U_VIEW_COMMENTS'   => format_url('', 't' . $fetch_news[$i]['topic_id']),

Для блока "Последние объявления":
Код: Выделить всё
OPEN
\portal\block\announcements.php
FIND
'U_VIEW_COMMENTS'   => append_sid($phpbb_root_path . 'viewtopic.' . $phpEx . '?t=' . $fetch_announcements[$i]['topic_id'] . '&amp;f=' . $a_fid),
REPLACE WITH
'U_VIEW_COMMENTS'   => format_url('', 't' . $fetch_announcements[$i]['topic_id']),

Для блока "Последние опросы":
Код: Выделить всё
OPEN
\portal\block\poll.php
FIND
$viewtopic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic_id");
REPLACE WITH
$viewtopic_url = format_url('', 't' . $topic_id);

Для блока "Последние темы":
Код: Выделить всё
OPEN
\portal\block\recent.php
FIND
'U_VIEW_TOPIC'   => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&amp;t=' . $row['topic_id'])
REPLACE WITH
'U_VIEW_TOPIC'   => format_url('', 't' . $row['topic_id']),

Последнее действие совершаем 3 раза, так как в файле recent.php имеются 3 одинаковых блока кода для объявлений, тем и популярных тем.
Izya
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 30.08.2008 10:46
Откуда: Абакан, Сибирь

Re: SEO mod

Сообщение Палыч Сегодня 14:12

Izya
:mrgreen: :mrgreen: :mrgreen: 5 баллов
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Никогда не бойся делать то, что ты пока не умеешь. Помни, что Ковчег был построен любителем. Профессионалы строили Титаник...
Аватара пользователя
Палыч
Просто Палыч
 
Сообщения: 6456
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер

Пред.

Вернуться в Поддержка модов для phpBB 3.0.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1