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

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

В данном форуме будут выкладываться работы других программистов, не относящихся к нашему сайту, а также переводы и дополнения к ним.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

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

Сообщение Shredder »

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

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 КБ) 4221 скачивание
phpBB_SEO_Ultimate_SEO_URL_v0.7.0.zip
(604.46 КБ) 4221 скачивание
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 КБ) 1403 скачивания
phpBB3-SEO-Zero-dupe_V0.6.8.zip
(90.74 КБ) 1403 скачивания
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-SEO_Optimal_titlesV1-0-8.zip
(35.45 КБ) 808 скачиваний
phpBB3-SEO_Optimal_titlesV1-0-8.zip
(35.45 КБ) 808 скачиваний
phpbb_seo_dynamic_meta_tagsV0-4-4.zip
(82.67 КБ) 747 скачиваний
phpbb_seo_dynamic_meta_tagsV0-4-4.zip
(82.67 КБ) 747 скачиваний
phpBB_no_dupeV0-6-6.zip
(45.33 КБ) 779 скачиваний
phpBB_no_dupeV0-6-6.zip
(45.33 КБ) 779 скачиваний
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

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

Сообщение Shredder »

Отметил такую проблему с данным модом: если при создании темы ввести длинный заголовок, то в "Расширенном" (или "Продвинутом") режиме мода из него создаётся слишком длинный 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 вы можете указать свою собственную желаемую длину, при превышении которой автоматическая транслитерация в "Продвинутом" режиме производиться не будет.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Thinker
Сообщения: 21
Зарегистрирован: 10.04.14 14:21
Откуда: Казахстан
Благодарил (а): 1 раз
Контактная информация:

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

Сообщение Thinker »

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

Shredder, я вам верю и прислушаюсь к вашему совету.
Ну очень боязно потерять все, что нажито за это время.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

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

Сообщение Shredder »

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

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

В остальном все моды работают как надо.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Thinker
Сообщения: 21
Зарегистрирован: 10.04.14 14:21
Откуда: Казахстан
Благодарил (а): 1 раз
Контактная информация:

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

Сообщение Thinker »

Shredder писал(а):у мода есть один неприятный баг, связанный с переходом в последнее сообщение темы, который пока не удаётся локализовать.
Ого, это очень неприятный момент, меня пользователи сожрут заживо.
Повременю с установкой, я уверен вы справитесь.
Только пожалуйста сообщите, когда баг будет побежден.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

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

Сообщение Shredder »

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. Но поскольку таких тем на форумах обычно мало, то большой проблемы это составлять не должно.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Thinker
Сообщения: 21
Зарегистрирован: 10.04.14 14:21
Откуда: Казахстан
Благодарил (а): 1 раз
Контактная информация:

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

Сообщение Thinker »

Shredder, спасибо большое.
Zero Duplicate, мне по сути не нужен, а значит все будет нормально работать.
Начну вникать и готовиться к установке.
igorbond
Сообщения: 81
Зарегистрирован: 13.07.14 03:07
Благодарил (а): 17 раз
Поблагодарили: 4 раза

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

Сообщение igorbond »

Такой вопрос, на форуме уже почти 50 000 сообщений, как будут работать ссылки старые? Которые есть у поисковиков и у сайтов?
Xisp
Сообщения: 196
Зарегистрирован: 05.04.14 18:00
Благодарил (а): 15 раз
Поблагодарили: 30 раз

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

Сообщение Xisp »

С такими вопросами лучше не ставить сео мод. Вреда больше будет.
igorbond
Сообщения: 81
Зарегистрирован: 13.07.14 03:07
Благодарил (а): 17 раз
Поблагодарили: 4 раза

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

Сообщение igorbond »

Xisp писал(а): такими вопросами лучше не ставить сео мод. Вреда больше будет.
Это еще почему?
Xisp
Сообщения: 196
Зарегистрирован: 05.04.14 18:00
Благодарил (а): 15 раз
Поблагодарили: 30 раз

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

Сообщение Xisp »

Потому что вреда будет больше. СЕО- сложный мод.
igorbond
Сообщения: 81
Зарегистрирован: 13.07.14 03:07
Благодарил (а): 17 раз
Поблагодарили: 4 раза

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

Сообщение igorbond »

Xisp писал(а):Потому что вреда будет больше. СЕО- сложный мод.
Моды я устанавливать умею, меня сама его "начинка" интересна, ее плюсы и минусы, а так же индексация старых ссылок яндексом
Xisp
Сообщения: 196
Зарегистрирован: 05.04.14 18:00
Благодарил (а): 15 раз
Поблагодарили: 30 раз

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

Сообщение Xisp »

igorbond писал(а):Моды я устанавливать умею,
Этого недостаточно. Нужно хорошо знать пхп, чтобы фиксить вечные проблемы с другими модами.
igorbond
Сообщения: 81
Зарегистрирован: 13.07.14 03:07
Благодарил (а): 17 раз
Поблагодарили: 4 раза

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

Сообщение igorbond »

Понял, а что посоветуете для улучшения индексации из модов?
Xisp
Сообщения: 196
Зарегистрирован: 05.04.14 18:00
Благодарил (а): 15 раз
Поблагодарили: 30 раз

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

Сообщение Xisp »

canonical URI, правильные уникальные заголовки для страниц, карта сайта. Хорошая карта сайта есть на этом сайте, остальное на гуру.
Ответить