|
Поделиться

phpBB SEO Ultimate SEO URL - Человеко-понятные URL

Самый мощный и популярный мод для создания ЧПУ на форумах phpBB3

В данном форуме будут выкладываться работы других программистов, не относящихся к нашему сайту, а также переводы и дополнения к ним.

Сообщение Shredder » 08.03.14 16:31

Статья рассчитана на тех, кто уже знает, что такое ЧПУ и зачем они нужны, и принял обдуманное решение об установке данного мода. Для удобства я разбил всю статью на пункты. Итак, начнём:

1) Скачиваете мод Ultimate SEO URL отдельно (НЕ сборку phpbb с модом) с сайта phpbb-seo.com

2) Скачиваете и устанавливаете на него русификацию, а также правку для корректного преобразования русских символов.

русификация (кликните, чтобы развернуть)

Правка для корректного преобразования русских названий форумов и тем:
Открыть файл phpbb_seo/phpbb_seo_class.php

Найти:
Код: Выделить всё
			$this->seo_opt['seo_base_href'] = '<base href="' . $this->file_hbase[$this->seo_opt['req_file']] . '"/>';
		}

Добавить после:
Код: Выделить всё
		// Custom characters replacement
		$url_replace = array(
			'А' => 'A', 'а' => 'a',
			'Б' => 'B', 'б' => 'b',
			'В' => 'V', 'в' => 'v',
			'Г' => 'G', 'г' => 'g',
			'Д' => 'D', 'д' => 'd',
			'Е' => 'E', 'е' => 'e',
			'Ё' => 'E', 'ё' => 'e',
			'Ж' => 'J', 'ж' => 'j',
			'З' => 'Z', 'з' => 'z',
			'И' => 'I', 'и' => 'i',
			'Й' => 'Y', 'й' => 'y',
			'К' => 'K', 'к' => 'k',
			'Л' => 'L', 'л' => 'l',
			'М' => 'M', 'м' => 'm',
			'Н' => 'N', 'н' => 'n',
			'О' => 'O', 'о' => 'o',
			'П' => 'P', 'п' => 'p',
			'Р' => 'R', 'р' => 'r',
			'С' => 'S', 'с' => 's',
			'Т' => 'T', 'т' => 't',
			'У' => 'U', 'у' => 'u',
			'Ф' => 'F', 'ф' => 'f',
			'Х' => 'H', 'х' => 'h',
			'Ц' => 'C', 'ц' => 'c',
			'Ч' => 'CH', 'ч' => 'ch',
			'Ш' => 'SH', 'ш' => 'sh',
			'Щ' => 'SHCH', 'щ' => 'shch',
			'Ъ' => '', 'ъ' => '',
			'Ы' => 'I', 'ы' => 'i',
			'Ь' => '', 'ь' => '',
			'Э' => 'E', 'э' => 'e',
			'Ю' => 'U', 'ю' => 'u',
			'Я' => 'YA','я' => 'ya',   
		);
		$this->seo_opt['url_find'] = array_keys($url_replace);
		$this->seo_opt['url_replace'] = array_values($url_replace);
		// Custom characters replacement

У меня на компьютере уже имеется готовый установочный пакет ("сборка") мода, в которой эти 2 пункта инструкции уже выполнены. Заодно там исправлена ошибка в инструкции для стиля subsilver2. Прикрепил её во вложении:

phpBB_SEO_Ultimate_SEO_URL_v0.7.0.zip
(604.46 КБ) Скачиваний: 3244

3) Ставите полученную "сборку" мода (НЕ форума с установленной сборкой, а именно "сборку" мода отдельно). Можно через Автомод, но через него можно ставить только проверенные модификации, о которых вы точно знаете, что они заточены под установку с использованием Автомод. SEO-моды ставить через Автомод можно, по крайней мере мою "сборку" - точно. Хотя, по-моему, я ставил и стандартную.
Если установка прошла успешно, в администраторском разделе сверху должна появиться новая вкладка под названием phpBB SEO.

4) После успешной установки идёте в настройки phpBB SEO и смотрите, если там красным шрифтом написано:
Директория не найдена по указанному пути.
Директория для кэша недоступна для записи. Установите права на директорию с помощью команды CHMOD 0777

- то создаёте вручную папку cache внутри папки phpbb_seo, расположенной в корне форума, и ставите на cache права 777
После этого в настройках мода вместо красной должна появиться зелёная надпись:
Директория существует по указанному пути.
Директория для кэша доступна для записи.

5) Выполняете правки файлов для стиля, используемого на вашем форуме, если его название отличается от стандартного стиля phpBB. Делается это так: смотрите, на каком из стандартных стилей основан ваш стиль и по установочной инструкции делаете для него те же самые правки, что и для стиля, на котором он основан.

6) Очищаете кеш форума на главной странице администраторского раздела и обновляете шаблоны вашего стиля на вкладке "Стили".

7) Настраиваете мод как вам нужно в администраторском разделе, следуя всем инструкциям, которые он будет давать в процессе настройки.

8) Идёте в "Управление URL форума" админки мода, нажимаете "Отправить" в самом низу (т.е. сохраняете настройки). Если после сохранения выдаются какие-нибудь предупреждения, например о том, что "URL форума слишком длинный, сделайте его короче", вы можете укоротить название такого раздела, задав для него более короткий URL вручную, либо оставить так, как есть.

9) Идёте в меню ".htaccess" админки мода, выбираете опцию "Сохранить файл .htaccess" и жмёте "Отправить"
Теперь (ЭТО ВАЖНО!) вручную копируете строки из окошка настроек мода, где написано "Выделить всё" и вставляете их в файл .htaccess, расположенный в корневой папке форума. Вставлять нужно начиная со строки # You may need to un-comment the following lines , в самый низ файла

После этого, если всё сделано правильно, то мод должен начать работу и URL должны принять нужный вам вид, который вы выбрали в настройках.

Пункт 10 выполняется только если ставите мод на уже работающий форум с проиндексированными URL.
10) Ставите мод Zero Duplicate - это нужно для того, чтобы сделать 301 редирект для всех старых адресов и не потерять проиндексированные URL в поисковых системах.
После установки настраиваете мод. Настройка простая: идёте в "Настройки класса phpBB SEO" и в самом низу ставите "Активировать Zero duplictate: Да", "Строгий режим: Да", "Перенаправление сообщений: Все"
Убеждаетесь, что всё сделано и работает верно: посещаете сайт http://web-sniffer.net/ (или любой другой сайт для проверки http-ответов сервера), вводите там какой-нибудь из старых (бывших до установки мода) URL и жмёте Submit. Если всё сделано правильно, то внизу в секции "HTTP Response Header" должно быть написано "Status: HTTP/1.1 301 Moved Permanently". Проверяете то же самое для включенного архивирования контента: ставите "Accept-Encoding: gzip" и жмёте Submit

Мод Zero Duplicate я аналогично прикрепил во вложении.

phpBB3-SEO-Zero-dupe_V0.6.8.zip
(90.74 КБ) Скачиваний: 566

11) Настраиваете robots.txt
Если форум новый и его ещё нет в поисковых системах, то достаточно использовать файл robots из папки contrib мода Ultimate SEO URL. Если уже проиндексированный, то кое-что меняется. В частности, убираются строки:
Disallow: /phpbb/viewtopic.php
Disallow: /phpbb/viewforum.php

12) Для полноты SEO-оптимизации можно сразу же установить моды Seo Optimal Titles, SEO Dynamic Meta Tags и SEO no Duplicate от того же самого разработчика. Первый приводит в SEO-вид заголовки форума, второй автоматически генерирует мета-ключевые слова и метаописание для каждой страницы, а третий заботится о SEO-виде ссылок, ведущих к последнему посту на главной странице и заодно выводит название темы в колонке "Последнее сообщение", как например у меня на форуме.
Также можно установить карту сайта для ботов: Карта сайта для ботов (phpBB3 SEO Sitemap)
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 884
Зарегистрирован: 22.08.13 09:05

Сообщение Shredder » 17.03.14 11:48

Отметил такую проблему с данным модом: если при создании темы ввести длинный заголовок, то в "Расширенном" (или "Продвинутом") режиме мода из него создаётся слишком длинный URL. Размеры таких URL поистине километровые иногда. А ведь чем проще (короче) URL темы, тем лучше: и для пользователя, и для поисковых систем. Если у темы будет чрезмерно длинный URL, то я опасаюсь, что в этом случае вообще теряется смысл SEO, потому что одна из основных целей SEO - простота и понятность человеку, чтобы он мог запомнить и ввести такой URL вручную.
Сначала я переключил режим на "Смешанный", в котором URL темы не транслитерируется из заголовка автоматически, а может быть задан только вручную, но потом нашёл более хорошее решение: сделать, чтобы заголовок транслитерировался в URL только в том случае, если он короче какой-то определённой длины, иначе пусть используется стандартный "topic". Делается это так: в posting.php найти
Код: Выделить всё
$_title = $phpbb_seo->modrtype > 2 ? censor_text($post_data['post_subject']) : '';

Заменить на:
Код: Выделить всё
$_title = ($phpbb_seo->modrtype > 2 && utf8_strlen($post_data['post_subject']) <= 30) ? censor_text($post_data['post_subject']) : '';

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

Сообщение Thinker » 12.06.14 14:12

Очень хочу поставить себе этот МОД, но есть несколько вопросов.
1. Почему про этот МОД только отрицательные отзывы, или это криворукость установщиков?
2. Форуму уже 1,5 года, очень много тем и сообщений которые уже проиндексированы, Zero Duplicate справится?
3. Так же хотелось бы сруз прикрутить и описанные в статье МОДы Seo Optimal Titles, SEO Dynamic Meta Tags и SEO no Duplicate.

Shredder, я вам верю и прислушаюсь к вашему совету.
Ну очень боязно потерять все, что нажито за это время.
Thinker
 
Сообщения: 21
Зарегистрирован: 10.04.14 14:21
Откуда: Казахстан

Сообщение Shredder » 12.06.14 14:27

Потерять вы ничего не потеряете, но у мода есть один неприятный баг, связанный с переходом в последнее сообщение темы, который пока не удаётся локализовать. По моими наблюдениям, он проявляется только на достаточно больших форумах (но может быть и не только, может просто не попадался на глаза на других). Поэтому я пока повременил бы его ставить.

Здесь даже не совсем понятно, что за мод из SEO-комплекта вызывает этот баг, сейчас я отключил у себя Zero Duplicate на одном форуме и слежу. Это занимает долгое время, чтобы проверить. Более подробно об этой хрени можете прочитать здесь:
http://www.phpbbguru.net/community/topi ... ml#p431130

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

Сообщение Thinker » 12.06.14 14:44

Shredder писал(а):у мода есть один неприятный баг, связанный с переходом в последнее сообщение темы, который пока не удаётся локализовать.

Ого, это очень неприятный момент, меня пользователи сожрут заживо.
Повременю с установкой, я уверен вы справитесь.
Только пожалуйста сообщите, когда баг будет побежден.
Thinker
 
Сообщения: 21
Зарегистрирован: 10.04.14 14:21
Откуда: Казахстан

Сообщение Shredder » 26.08.14 09:42

Thinker
Выяснилось, что данный баг возникает от другого мода - Zero Duplicate, который тоже входит в комплект СЕО. Что этот мод делает - см. пункт 10 в первом сообщении темы. Если не собираетесь ставить Zero Duplicate, то проблем не будет.

Решение другой известной проблемы, выражающейся в том, что когда пользователь заходит в тему по ЧПУ-URL, то не отображается, что он просматривает форум, а в списке "Кто сейчас онлайн" вместо темы показывает, что он смотрит главную страницу:

Открыть includes/session.php

Найти:
Код: Выделить всё
	function extract_current_page($root_path)
	{

Добавить после:
Код: Выделить всё
		global $db;


Найти:
Код: Выделить всё
		$root_script_path .= (substr($root_script_path, -1, 1) == '/') ? '' : '/';

Добавить после:
Код: Выделить всё
		if (isset($_REQUEST['f']) && $_REQUEST['f'] > 0)
		{
			$forum_id = (int) $_REQUEST['f'];
		}
		else if (isset($_REQUEST['t']) && $_REQUEST['t'] > 0)
		{
			$topic_id = (int) $_REQUEST['t'];

			$sql = 'SELECT forum_id
				FROM ' . TOPICS_TABLE . "
				WHERE topic_id = $topic_id";
			$result = $db->sql_query($sql);
			$forum_id = (int) $db->sql_fetchfield('forum_id');
			$db->sql_freeresult($result);
		}
		else if (isset($_REQUEST['p']) && $_REQUEST['p'] > 0)
		{
			$post_id = (int) $_REQUEST['p'];

			$sql = 'SELECT forum_id
				FROM ' . POSTS_TABLE . "
				WHERE post_id = $post_id";
			$result = $db->sql_query($sql);
			$forum_id = (int) $db->sql_fetchfield('forum_id');
			$db->sql_freeresult($result);
		}
		else
		{
			$forum_id = 0;
		}

Найти:
Код: Выделить всё
			'forum'				=> (isset($_REQUEST['f']) && $_REQUEST['f'] > 0) ? (int) $_REQUEST['f'] : 0,

Заменить на:
Код: Выделить всё
			'forum'				=> $forum_id,

После этого проблема с просмотром должна исчезнуть для всех тем, за исключением так называемых "Важных" тем - их отображать в онлайне всё равно не будет, потому что у них отсутствует id форума (он всегда равен 0) и в этом случае нет никакого способа узнать forum_id. Но поскольку таких тем на форумах обычно мало, то большой проблемы это составлять не должно.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 884
Зарегистрирован: 22.08.13 09:05

Сообщение Thinker » 30.09.14 15:01

Shredder, спасибо большое.
Zero Duplicate, мне по сути не нужен, а значит все будет нормально работать.
Начну вникать и готовиться к установке.
Thinker
 
Сообщения: 21
Зарегистрирован: 10.04.14 14:21
Откуда: Казахстан

Сообщение igorbond » 20.01.15 19:00

Такой вопрос, на форуме уже почти 50 000 сообщений, как будут работать ссылки старые? Которые есть у поисковиков и у сайтов?
igorbond
 
Сообщения: 60
Зарегистрирован: 13.07.14 03:07

Сообщение Xisp » 20.01.15 21:31

С такими вопросами лучше не ставить сео мод. Вреда больше будет.
Xisp
 
Сообщения: 196
Зарегистрирован: 05.04.14 18:00

Сообщение igorbond » 20.01.15 23:49

Xisp писал(а): такими вопросами лучше не ставить сео мод. Вреда больше будет.

Это еще почему?
igorbond
 
Сообщения: 60
Зарегистрирован: 13.07.14 03:07

Сообщение Xisp » 23.01.15 23:01

Потому что вреда будет больше. СЕО- сложный мод.
Xisp
 
Сообщения: 196
Зарегистрирован: 05.04.14 18:00

Сообщение igorbond » 23.01.15 23:03

Xisp писал(а):Потому что вреда будет больше. СЕО- сложный мод.

Моды я устанавливать умею, меня сама его "начинка" интересна, ее плюсы и минусы, а так же индексация старых ссылок яндексом
igorbond
 
Сообщения: 60
Зарегистрирован: 13.07.14 03:07

Сообщение Xisp » 23.01.15 23:34

igorbond писал(а):Моды я устанавливать умею,


Этого недостаточно. Нужно хорошо знать пхп, чтобы фиксить вечные проблемы с другими модами.
Xisp
 
Сообщения: 196
Зарегистрирован: 05.04.14 18:00

Сообщение igorbond » 23.01.15 23:36

Понял, а что посоветуете для улучшения индексации из модов?
igorbond
 
Сообщения: 60
Зарегистрирован: 13.07.14 03:07

Сообщение Xisp » 24.01.15 15:46

canonical URI, правильные уникальные заголовки для страниц, карта сайта. Хорошая карта сайта есть на этом сайте, остальное на гуру.
Xisp
 
Сообщения: 196
Зарегистрирован: 05.04.14 18:00

След.

Вернуться в Моды сторонних разработчиков

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

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

cron