SEO mod

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 21 год 4 месяца
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: SEO mod

Сообщение MAzZY »

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
Бывший член :)
Сообщения: 2925
Стаж: 21 год 4 месяца
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: SEO mod

Сообщение MAzZY »

Создал для Advanced phpBB3 SEO mod Rewrite отдельную тему, чтобы не офтопить здесь
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: SEO mod

Сообщение Izya »

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

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

К чему я это всё? К тому, что от описанных проблем избавился, и если кто-то соберется ставить этот мод, могу выложить здесь мои рецепты решения этих проблем.
Да, и еще пришлось самостоятельно внедрять этот мод в портал (phpBB3 portal), чтобы в "новостях", "объявлениях", "опросах", "последних темах" ссылки были SEO вида. Так что если кому надо, могу и в этом плане поделиться опытом.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: SEO mod

Сообщение rxu »

Izya писал(а):могу выложить здесь мои рецепты
Izya писал(а):могу и в этом плане поделиться опытом.
Izya
Не надо угроз - делитесь без предупреждения, если есть, чем :)
Изображение
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: SEO mod

Сообщение Izya »

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

Начнем с инсталляции.
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 расскажу завтра, так как сегодня пошел спать.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: SEO mod

Сообщение Палыч »

Izya
Поиск по "мыслительный процесс" и автору "Палыч" выдал
Подходящих тем или сообщений не найдено.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: SEO mod

Сообщение Izya »

Палыч, прошу меня извинить, если что не так, но вот ссылка с подсветкой:
http://www.phpbbguru.net/community/post ... 0%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'] . '&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'] . '&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&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'] . '&t=' . $row['topic_id'])
REPLACE WITH
'U_VIEW_TOPIC'	=> format_url('', 't' . $row['topic_id']),
Последнее действие совершаем 3 раза, так как в файле recent.php имеются 3 одинаковых блока кода для объявлений, тем и популярных тем.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: SEO mod

Сообщение Палыч »

Izya
:mrgreen: :mrgreen: :mrgreen: 5 баллов
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: SEO mod

Сообщение Izya »

Обнаружилась еще одна ошибка SEO мода.
После его установки перестают работать иконки-ссылки "Перейти к первому непрочитанному сообщению" (слева от названия тем при просмотре форума).
Проблему устранил следующим образом:

Код: Выделить всё

OPEN
viewforum.php
FIND
'U_NEWEST_POST'			=> $view_topic_url . '&view=unread#unread',
REPLACE WITH
'U_NEWEST_POST'			=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . '&t=' . $topic_id) . '&view=unread#unread',
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 19 лет 11 месяцев
Благодарил (а): 11 раз
Поблагодарили: 13 раз

Re: SEO mod

Сообщение Gisher »

Izya
можно посмотреть что в итоге получается?
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: SEO mod

Сообщение FladeX »

Izya, респект! Только не совсем понятно, какого вида у вас ссылки получились. Можете показать?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: SEO mod

Сообщение Izya »

Gisher, FladeX
Вот тут можно посмотреть, какого вида получились ссылки.
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: SEO mod

Сообщение FladeX »

Эх, мне бы ссылки вида
/forum/10/
/forum/10/2745/
где первая - ссылка на форум (в смысле раздел/категория), а вторая - ссылка на тему из этого форума. 10 в данном случае id форума, 2745 - id темы. А все эти html не нужны...
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 19 лет 11 месяцев
Благодарил (а): 11 раз
Поблагодарили: 13 раз

Re: SEO mod

Сообщение Gisher »

Izya писал(а):Дело в том, что если переменную $name не заменить ничем, а просто убрать, то получающиеся ссылки не будут подходить под правила, внесенные в .htaccess.
и всё же, как делать без $name ?
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: SEO mod

Сообщение Izya »

В файле .htaccess в строчках типа

Код: Выделить всё

Rewriterule ^(.+)-f([0-9]*).html-(.+)$				./viewforum.php?f=$2&$3
убери последовательность (.+)-

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