|
Поделиться

SEO-оптимизация для ссылок на темы форума

Простой способ убрать параметр f= из адресной строки

Любые дополнения, требующие модификации исходного кода.

Сообщение Shredder » 04.01.15 18:56

В phpBB 3.1 для индексируемых поисковиками страниц форума "прямо из коробки" появился тег canonical. Для тем он содержит параметр t=, но не содержит f=. Казалось бы, это хорошо для SEO, но не тут-то было! Авторы движка не позаботились о том, чтобы убрать параметр f= из всех ссылок на темы форума, и, глядя на такое безобразие, СЕО-шникам остаётся только плакать, т.к., во-первых, мы по-прежнему имеем не оптимизированные ссылки, и при переносе тем из одного раздела в другой будут плодиться дубли, а, во-вторых, различие самой ссылки и её канонического тега в теории может обернуться нежелательными последствиями. К счастью, ликвидировать этот f= сразу на всех страницах довольно просто, и не обязательно перекапывать весь код, вырезая f= из каждой его части.

ВНИМАНИЕ: данный патч более не актуален. Используйте вместо него расширение.

Открываем includes/functions.php

Находим:
Код: Выделить всё
		$template->display('body');

Меняем на:
Код: Выделить всё
		ob_start();
		$template->display('body');
		$content = ob_get_clean();

		$urlin = array(
			"/\.\/viewtopic.$phpEx\?f=([0-9]*)&(?:amp;)t=([0-9]*)(.*?)\"/i",
		);
		$urlout = array(
			'./viewtopic.php?t=\\2\\3"/i',
		);

		echo preg_replace($urlin, $urlout, $content);

Думаю, что то же самое можно сделать и в виде расширения. Но у меня такой задачи не стояло.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 854
Зарегистрирован: 22.08.13 09:05

Сообщение Xisp » 05.01.15 08:29

Регуляркой? По всему контенту страницы? При каждой выдаче? Прощай процессорное время.
Xisp
 
Сообщения: 196
Зарегистрирован: 05.04.14 18:00

Сообщение Shredder » 05.01.15 12:47

Есть другие варианты кроме перекапывания всего форума (не факт, что в наличии будут нужные события) или замены через регулярное выражение? Движок 3.1 всё равно не сильно оптимизирован под "слабые хостинги", так что процессорным временем меньше, процессорным временем больше...

У данного способа есть и ещё одно большое преимущество - он заменяет именно ВСЕ ссылки на страницах, включая ссылки, создаваемые расширениями (кроме тех, что добавляются при помощи js типа writeln - с такими, как выяснилось, работать не будет). Иначе придётся ковырять не только движок, но и все расширения, которые будут устанавливаться на форум. Прощай модульность, лёгкое обновление и универсальность.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 854
Зарегистрирован: 22.08.13 09:05

Сообщение c61 » 05.01.15 13:12

Shredder писал(а):Есть другие варианты...?
Вряд ли можно найти что-то получше... Однако, из-за тормозов на регулярках при похожих заменах сталкивался на 3.0.x, а 3.1 (как верно подмечено) точно не для слабых серверов. Программирование как искусство уже давно никого не интересует, копи-пасте и лепи систему из стороннего кода, оптимизация пофиг - теперь так модно жить )
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение Shredder » 08.01.15 16:19

Выложил расширение SEO Topic URL в соседнем разделе, поэтому данная тема больше не актуальна. Закрыто.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 854
Зарегистрирован: 22.08.13 09:05


Вернуться в Патчи для phpBB 3.1.x

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

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