Оптимизированные страницы тем - SEO Topic & Canonical URL

Удаление ID форумов из URL тем и тег Canonical для улучшенной индексации поисковиками

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

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Shredder »

Siava
Обновил версию, проверьте.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
Siava
Сообщения: 10
Зарегистрирован: 25.04.16 15:41
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Siava »

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

$canonical = generate_board_url() . '/' . append_sid(....
А зачем добавлять sid для канонической ссылки? :roll:
Shredder
Администратор
Сообщения: 1069
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Shredder »

Я уже не помню. Значит, для чего-то было нужно.
У бота не должно быть sid. Если он есть, значит, форум настроен неверно.

Добавлено спустя 2 минуты 40 секунд:
Посмотрел - в дефолтном phpBB тоже есть append_sid(... Видимо, потому и добавил.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Alecto
Сообщения: 32
Зарегистрирован: 11.09.15 12:24
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Alecto »

в каноническом сида быть не должно - это логично.
Аватара пользователя
Siava
Сообщения: 10
Зарегистрирован: 25.04.16 15:41
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Siava »

У бота sid не будет, если бот прописан в "боты", иначе может вылезти :roll:
Shredder
Администратор
Сообщения: 1069
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Shredder »

Зачем нужны боты, которые не прописаны как боты?
Для индексации русских сайтов достаточно прописать ботов Яндекса и Гугла. Если хотите добавить ещё пару процентов к своему трафику, то впишите MailRu. Остальные не нужны, т.к. трафика с них нет.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
Kuskow
Сообщения: 15
Зарегистрирован: 25.05.16 11:46
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Kuskow »

А хорошо бы добавлять canonical в версию для печати со ссылкой на основную (экранную) страницу.
httр://www.phpbb-work.ru/viewtopic.php?f=16&t=83&start=90&view=print
Или это специально не делается по каким-то причинам?
Shredder
Администратор
Сообщения: 1069
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Shredder »

Kuskow писал(а):Или это специально не делается по каким-то причинам?
Страницы печати не нужны в индексе и должны быть закрыты в robots
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
Slash
Сообщения: 21
Зарегистрирован: 11.02.16 16:53
Благодарил (а): 7 раз
Поблагодарили: 5 раз
Контактная информация:

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Slash »

Написал инструмент для удаления параметра f=, на случай если расширение устанавливали не на новый форум и остались локальные ссылки с f=.
Если вдруг кому то понадобиться:

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

<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);

include('config.php');

$db = new mysqli($dbhost, $dbuser, $dbpasswd, $dbname);
if ($db->connect_errno)
{
    exit('Error MYSQLI: ' . $db->connect_error);
}

$db->set_charset('utf8');

$result = $db->query('SELECT post_id, post_text FROM ' . $table_prefix . 'posts');
while($variable = $result->fetch_assoc())
{
    // Поиск ссылок вида: http://danfa.org/viewtopic.php?f=58&t=1269
    if (preg_match('|http\:\/\/danfa\.org\/viewtopic\.php\?f\=([0-9]+)|', $variable['post_text']))
    {
        $post_text = preg_replace('|http\:\/\/danfa\.org\/viewtopic\.php\?f\=([0-9]+)\&amp\;t=([0-9]+)|', 'http://danfa.org/viewtopic.php?t=$2', $variable['post_text']);
        $post_text = $db->real_escape_string($post_text);
        $r = $db->query('UPDATE phpbb_posts SET post_text = "' . $post_text . '" WHERE post_id = "' . $variable['post_id'] . '"');
        if (!$r)
        {
            echo 'Error: ' . $variable['post_id'] . ' ' . $db->error . '<br />';
        }
        else
        {
            echo 'Ok: ' . $variable['post_id'] . '<br />';            
        }
    }
}  
Как пользоваться: danfa.org/viewtopic.php?t=2553
Аватара пользователя
Slash
Сообщения: 21
Зарегистрирован: 11.02.16 16:53
Благодарил (а): 7 раз
Поблагодарили: 5 раз
Контактная информация:

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение Slash »

Привет, Shredder!
Заметил, что уведомление (например: о новом ответе в теме) приходит с ссылкой на тему вместе с параметром f=xxx.
Можешь это исправить?
Спасибо!
AlexV
Сообщения: 3
Зарегистрирован: 25.04.17 10:03
Поблагодарили: 1 раз

Настройка плагина phpbb3-ext-seo-topic-url для ЧПУ. Нужна по

Сообщение AlexV »

Добрый день, Shredder!

Нужна ваша помощь.

Поставил phpBB 3.2.0 на свой сайт и решил сделать для него sitemap и ЧПУ.
На форуме создал 5 форумов и тестовый топик в одном из них.

Что-то мне не понравился найденный на просторах инета плагин SEO Ultimate своей сложностью установки, решил ваш попробовать.

Скачал с данного форума 2 расширения:
phpbb3-ext-seo-sitemap-1.1.1
phpbb3-ext-seo-topic-url-1.0.10
это последние рабочие версии?

скопировал их содержимое в папку форума на свой сайт:
/forum/ext/shredder/seo_topic_url
/forum/ext/shredder/sitemap

Оба расширения включил в админке.
sitemap вроде заработал. Прописал в robots.txt
Sitemap: https://мой_сайт/forum/sitemap.xml, здесь все хорошо.

А вот ЧПУ не работает похоже.
Как я понимаю, в .htaccess форумной папки должны нагенериться (и периодически перегенерироваться) правила преобразования URL для всех топиков. Поправьте, если я не прав.
Ожидал, что URL на топики вида https://мой_сайт/forum/viewtopic.php?t=7
не будет, а будут автоматически ссылки вида https://мой_сайт/forum/nazvanie-moego-topika.html

Может я чего не донастроил? Инструкцию по установке этого плагина не нашел.
Заранее благодарю за помощь.
maco8024
Сообщения: 22
Зарегистрирован: 04.12.13 16:55
Благодарил (а): 13 раз
Поблагодарили: 3 раза
Контактная информация:

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение maco8024 »

а будут автоматически ссылки вида https://мой_сайт/forum/nazvanie-moego-topika.html
Первое сообщение темы прочтите внимательно, особенно пункты №1 и №2
AlexV
Сообщения: 3
Зарегистрирован: 25.04.17 10:03
Поблагодарили: 1 раз

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение AlexV »

Спасибо за ответ. Прочитал пункты №1 и №2.
1. "Удалить ID форума из URL тем". Самый лучший способ. Рекомендуется для новых, только что созданных и ещё не проиндексированных форумов. Если выбрана эта опция, то расширение убирает id форумов из всех URL для тем конференции. Благодаря этому не будет возникать дублей при переносе тем из одного раздела в другой и также не будет возникать конфликтов с каноническим тегом, создаваемым самим движком. Действует не только на стандартные ссылки движка, но и на ссылки, генерируемые расширениями (кроме тех, что генерируются через javascript), что очень важно, т.к. не придётся править посторонние расширения для совместимости с ним.
2. "Добавить ID форума к тегу Canonical" - Изменяет оригинальный канонический тег в темах с viewtopic.php?t=x на viewtopic.php?f=x&t=x. Может пригодиться в том случае, когда форум старый, хорошо индексируется и нет смысла изменять URL-адреса.
Поскольку у меня форум новый, то пункт 2 ко мне не относится

У меня цель была сделать URL такого вида, как у данного форума, чтобы топики выглядели примерно как данный топик
http://www.сайт.ru/seo-topic-url-t83.html
Здесь в URL есть ключевые слова.
А данное расширение, если я правильно понял, не может обеспечить данной возможности.
Если включить пункт 1, то оно всего лишь убирает f=x из ссылки вида https://мой_сайт/forum/viewtopic.php?t=7
Верно?
maco8024
Сообщения: 22
Зарегистрирован: 04.12.13 16:55
Благодарил (а): 13 раз
Поблагодарили: 3 раза
Контактная информация:

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение maco8024 »

У меня цель была сделать URL такого вида, как у данного форума
Видимо вам надо это расширение https://www.phpbb.com/community/viewtop ... &t=2288486
AlexV
Сообщения: 3
Зарегистрирован: 25.04.17 10:03
Поблагодарили: 1 раз

Оптимизированные страницы тем - SEO Topic & Canonical URL

Сообщение AlexV »

Видимо вам надо это расширение https://www.phpbb.com/community/viewtop ... &t=2288486
Спасибо.
Да, на вид то, что надо. Попробую

Добавлено спустя 19 минут 25 секунд:
А вот и недостаток у SEO URLs: Если в названии топика есть русские буквы, они просто будут выброшены из URL, а я бы хотел чтобы они были, но в транслитерации.
Может можно как то поднастроить данный extension?

Добавлено спустя 2 часа 30 минут 30 секунд:
Спасибо, уже сам нашел решение.
В /seourls/event/base.php
в функции public static function title_to_url($title)
сделать вот такими массивы замены:

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

// Let's replace
		$url_search = array(
		' ', 'i', 'y', '?', 'o', 'o', 'o', 'o', 'a', 'a', 'a', 'a', 'e', 'e', 'u', 'u', 'u', 'n', '?', '?', '?', '@', '€', '$',
		'a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z',
'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я',
'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'
		);
		$url_replace = array(
		'-', 'i', 'y', 's', 'oe', 'o', 'o', 'o', 'ae', 'a', 'a', 'a', 'e', 'e', 'ue', 'u', 'u', 'n', 'ss', '2', '3', 'at', 'eur', 'usd',
		'a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z',
'A','B','V','G','D','E','Jo','Zh','Z','I','J','K','L','M','N','O','P','R','S','T','U','F','H','C','Ch','Sh','Shh','','Y','','Je', 'Ju','Ja',
'a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','shh','','y','','je','ju','ja'
		);
и над ними строку

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

$url = strtolower(censor_text(utf8_normalize_nfc(html_entity_decode(strip_tags($title)))));
заменить на

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

$url = mb_strtolower(censor_text(utf8_normalize_nfc(html_entity_decode(strip_tags($title)))), "utf-8");
Ответить