SEO mod

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

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

SEO mod

Сообщение FladeX »

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

Title: SEO MOD
Description: Gives your forum static URL's
Version: 1.0.0
Author: Handyman`
Скачать мод
Обсуждение мода

Онлайн-демо (измененный вариант)
Мод для преобразования всех ссылок форума в ссылки статичного вида (.html). Не затрагивает админку.


Troubleshouting (решение проблем).
В теме мода на phpBB.com достаточно много страниц, и найти что-то нужно довольно затруднительно, поэтому постараюсь выписать основные проблемы и способы их решения.
#1. В многостраничных темах иконка "Последнее сообщение" ссылается только на первую страницу.
Решение.
Открываем search.php
Находим (примерно 896 строка):

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

'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id),
'U_VIEW_POST' => (!empty($row['post_id'])) ? append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=" . $row['topic_id'] . '&p=' . $row['post_id'] . (($u_hilit) ? '&hilit=' . $u_hilit : '')) . '#p' . $row['post_id'] : '')
Заменяем на:

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

'U_VIEW_FORUM' => format_url($forum_name, "f$forum_id"),
'U_VIEW_POST' => format_url($topic_title, "t$result_topic_id")
Далее находим (примерно 767 строка):

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

$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$u_forum_id&t=$result_topic_id" . (($u_hilit) ? "&hilit=$u_hilit" : ''));
Заменяем на:

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

$view_topic_url = format_url($row['topic_title'], "t$topic_id", $start, "f=$u_forum_id&t=$result_topic_id" . (($u_hilit) ? "&hilit=$u_hilit" : ''));
#2. Баг "Отметить все форумы как прочитанные".
Решение.
Открываем файл index.php
Находим (примерно 120 строка):

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

    'U_MARK_FORUMS'        => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}index.$phpEx", 'mark=forums') : '',
Заменяем на:

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

    'U_MARK_FORUMS'        => ($user->data['is_registered'] || $config['load_anon_lastread']) ? '?mark=forums' : '', 
#3. Ошибка в ссылке на версию для печати.
Решение.
Открываем файл viewtopic.php
Находим:

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

	'U_PRINT_TOPIC'			=> ($auth->acl_get('f_print', $forum_id)) ? $viewtopic_url . '&view=print' : '',
Заменяем на:

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

	'U_PRINT_TOPIC'				=> ($auth->acl_get('f_print', $forum_id)) ? $viewtopic_url . '-view=print' : '',
#4. Ошибка в ссылке на добавление темы в закладки.
Решение.
Открываем файл viewtopic.php
Находим:

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

	'U_BOOKMARK_TOPIC'		=> ($user->data['is_registered'] && $config['allow_bookmarks']) ? $viewtopic_url . '&bookmark=1&hash=' . generate_link_hash("topic_$topic_id") : '',
Заменяем на:

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

	'U_BOOKMARK_TOPIC'		=> ($user->data['is_registered'] && $config['allow_bookmarks']) ? $viewtopic_url . '-bookmark=1&hash=' . generate_link_hash("topic_$topic_id") : '',

Измененный вариант seo mod:
  • исправлены некоторые ошибки
  • убраны названия тем и форумов из адреса
  • убраны sql-запросы
  • адаптировано под phpBB 3.0.5
  • онлайн-демо
seo_mod_addon.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось FladeX 13.11.2008 8:09, всего редактировалось 3 раза.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Сообщение FladeX »

с модом все ок, дело было в том, что у меня некие проблемы с .htaccess, а без него мод работать не будет.
Поставьте кто-нибудь, уж очень хочется посмотреть его в действии.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Andreich
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 7 месяцев

Сообщение Andreich »

Я пробовал на тестовом. У меня редирект страниц на самих себя идет. Зацикливается. Кажется связано с редиректом старых ссылок на новые. Сейчас стоит Advanced SEO, но без редиректа. Жду апдейта яндекса и гугла, поскольку есть подозрение что их боты видят только ссылки старого вида :-(
Аватара пользователя
axel13
phpBB 1.4.4
Сообщения: 100
Стаж: 21 год 5 месяцев
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: SEO mod

Сообщение axel13 »

Andreich
Пропиши robots.txt следущего вида, чтоб дубликатов не было:

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

User-agent: *
Disallow: /forum/viewtopic.php
Disallow: /forum/viewforum.php
Disallow: /forum/index.php?
Disallow: /forum/posting.php
Disallow: /forum/search.php?
Disallow: /forum/ucp.php
Disallow: /forum/mcp.php
Disallow: /forum/post
Disallow: /forum/member
Disallow: /forum/memberlist.php
Disallow: /forum/faq.php
Северо-Западный Клуб владельцев автомобилей Chevrolet Lanos, Daewoo Lanos, ZAZ Sens, Doninvest Assol. -=WWW.LANOS.CC=-
elsinor
phpBB 1.4.2
Сообщения: 54
Стаж: 18 лет 4 месяца
Откуда: Екатеринбург
Поблагодарили: 1 раз

Re: SEO mod

Сообщение elsinor »

а как быть с именами ссылок? надо же их в транислит переводить
Портал о тюнинге - в разработке
Аватара пользователя
axel13
phpBB 1.4.4
Сообщения: 100
Стаж: 21 год 5 месяцев
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: SEO mod

Сообщение axel13 »

Был на офф сайте код транслита... поищи...
Северо-Западный Клуб владельцев автомобилей Chevrolet Lanos, Daewoo Lanos, ZAZ Sens, Doninvest Assol. -=WWW.LANOS.CC=-
elsinor
phpBB 1.4.2
Сообщения: 54
Стаж: 18 лет 4 месяца
Откуда: Екатеринбург
Поблагодарили: 1 раз

Re: SEO mod

Сообщение elsinor »

Я вот не знаю что лучше: этот или Simple SEO ?
Портал о тюнинге - в разработке
Аватара пользователя
axel13
phpBB 1.4.4
Сообщения: 100
Стаж: 21 год 5 месяцев
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: SEO mod

Сообщение axel13 »

Скажу что с этим у меня проблемы были... Ссылки кракозябрами и ошибки при переходах. Поставил Simple, все работает.
Северо-Западный Клуб владельцев автомобилей Chevrolet Lanos, Daewoo Lanos, ZAZ Sens, Doninvest Assol. -=WWW.LANOS.CC=-
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: SEO mod

Сообщение FladeX »

axel13
это из-за кириллицы в ссылках. Опять же, нужно автоматический транслит делать, тогда все ок будет.

Если бы не проблема с русскими буквами, то этот мод был бы почти идеальным.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Andreich
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 7 месяцев

Re: SEO mod

Сообщение Andreich »

В файле \phpbb_seo\phpbb_seo_class.php ищим функцию format_url и заменяем на:

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

function format_url( $url, $type = 'topic' ) {
		$url = preg_replace('`\[.*\]`U','',$url);
		$url = htmlentities($url, ENT_COMPAT, $this->encoding);
		//$url = str_replace( array('у', 'У'),'u', $url );
		$rus = array('ё','ж','ц','ч','ш','щ','ю','я','Ё','Ж','Ц','Ч','Ш','Щ','Ю','Я','А','Б','В','Г','Д','Е','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ъ','Ы','Ь','Э','а','б','в','г','д','е','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ъ','ы','ь','э'); 
		$lat = array('yo','zh','tc','ch','sh','sh','yu','ya','YO','ZH','TC','CH','SH','SH','YU','YA','A','B','V','G','D','E','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','H','_','I','_','E','a','b','v','g','d','e','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','_','i','_','e'); 
		$url = str_replace($rus,$lat,$url);
		$url = strtr($url, 
       "АБВГДЕЗИЙКЛМНОПРСТУФХЪЫЬЭабвгдезийклмнопрстуфхъыьэ", 
       "ABVGDEZIJKLMNOPRSTUFH_I_Eabvgdezijklmnoprstufh_i_e");
		$url = preg_replace( '`&([a-z]+)(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i', "\\1", $url );
		$url = preg_replace( $this->seo_opt['url_pattern'] , '-', $url);
		$url = strtolower(trim($url, '-'));
		return empty($url) ? $type : $url;
	}
там два преобразования, работает вроде самое первое. Щас не помню точно, а разбираться лень :-) Главное, что это работает :)
Кому не лень - подправьте
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: SEO mod

Сообщение FladeX »

Andreich
супер! Спасибо большое!
Пример, как я понимаю, по ссылке в подписи?

Добавлено спустя 55 секунд:
А если эту замену вообще пропускать, тогда в ссылке будет только id форума/темы, верно?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Andreich
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 7 месяцев

Re: SEO mod

Сообщение Andreich »

Да, пример в подписи
Если честно, не помню что будет если пропускать. То ли кракозябры будут, то ли знаки подчеркивания с id темы.
Адресов разделов форума это не касается. Их можно самому установить.
Должен уточнить - это касается Advanced SEO с phpbb-seo.com.
Стартрековский у меня не заработал. Там редирект старых ссылок на новые включен сразу же. Поскольку у меня IIS - это не работало. в Advanced SEO редирект нужно ставить отдельно
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 21 год 4 месяца
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: SEO mod

Сообщение MAzZY »

Небольшое замечание по процессу установки.
Насколько я понимаю, инструкция

Open: viewforum.php

Find

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

'S_FORUM_ACTION'		=> append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&start=$start"),
Add after

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

'S_FORUM_ACTION'		=> format_url($forum_name, "f$forum_id", $start),
должна выглядеть так:
Find

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

'S_FORUM_ACTION'		=> append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&start=$start"),
Replace With

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

'S_FORUM_ACTION'		=> format_url($forum_name, "f$forum_id", $start),
Добавлено спустя 14 минут 17 секунд:
Andreich
Приведенный тобой код выдает ошибку:

Fatal error: Using $this when not in object context in .../includes/functions_seo.php on line 51
Andreich
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 7 месяцев

Re: SEO mod

Сообщение Andreich »

MAzZY
Я же написал про какой мод я говорил. У тебя другой. У меня даже файла /includes/functions_seo.php нет
Для твоего функцию нужно переделывать
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 21 год 4 месяца
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: SEO mod

Сообщение MAzZY »

Andreich
Понял, спасибо. Вообще, надо это в отдельную тему выкинуть

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