|
Поделиться

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

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

Начиная с версии 3.1.x, моды были заменены "расширениями", которые выполняют ту же самую функцию, но без изменений в исходном коде движка.

Сообщение Shredder » 02.09.16 22:01

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

Сообщение Siava » 18.12.16 21:07

Код: Выделить всё
$canonical = generate_board_url() . '/' . append_sid(....

А зачем добавлять sid для канонической ссылки? :roll:
Siava
 
Сообщения: 9
Зарегистрирован: 25.04.16 15:41

Сообщение Shredder » 19.12.16 11:14

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

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

Сообщение Alecto » 19.12.16 12:36

в каноническом сида быть не должно - это логично.
Alecto
 
Сообщения: 32
Зарегистрирован: 11.09.15 12:24

Сообщение Siava » 20.12.16 11:57

У бота sid не будет, если бот прописан в "боты", иначе может вылезти :roll:
Siava
 
Сообщения: 9
Зарегистрирован: 25.04.16 15:41

Сообщение Shredder » 20.12.16 12:58

Зачем нужны боты, которые не прописаны как боты?
Для индексации русских сайтов достаточно прописать ботов Яндекса и Гугла. Если хотите добавить ещё пару процентов к своему трафику, то впишите MailRu. Остальные не нужны, т.к. трафика с них нет.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 859
Зарегистрирован: 22.08.13 09:05

Сообщение Kuskow » 24.03.17 03:56

А хорошо бы добавлять canonical в версию для печати со ссылкой на основную (экранную) страницу.
httр://www.phpbb-work.ru/viewtopic.php?f=16&t=83&start=90&view=print
Или это специально не делается по каким-то причинам?
Аватара пользователя
Kuskow
 
Сообщения: 10
Зарегистрирован: 25.05.16 11:46

Сообщение Shredder » 26.03.17 16:47

Kuskow писал(а):Или это специально не делается по каким-то причинам?

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

Сообщение Slash » 18.04.17 07:02

Написал инструмент для удаления параметра 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

Сообщение Slash » 19.04.17 16:14

Привет, Shredder!
Заметил, что уведомление (например: о новом ответе в теме) приходит с ссылкой на тему вместе с параметром f=xxx.
Можешь это исправить?
Спасибо!
Аватара пользователя
Slash
 
Сообщения: 21
Зарегистрирован: 11.02.16 16:53

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

Сообщение AlexV » 25.04.17 10:20

Добрый день, 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

Может я чего не донастроил? Инструкцию по установке этого плагина не нашел.
Заранее благодарю за помощь.
AlexV
 
Сообщения: 3
Зарегистрирован: 25.04.17 10:03

Сообщение maco8024 » 25.04.17 15:14

а будут автоматически ссылки вида https://мой_сайт/forum/nazvanie-moego-topika.html

Первое сообщение темы прочтите внимательно, особенно пункты №1 и №2
maco8024
 
Сообщения: 16
Зарегистрирован: 04.12.13 16:55

Сообщение AlexV » 26.04.17 05:35

Спасибо за ответ. Прочитал пункты №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
Верно?
AlexV
 
Сообщения: 3
Зарегистрирован: 25.04.17 10:03

Сообщение maco8024 » 26.04.17 09:36

У меня цель была сделать URL такого вида, как у данного форума

Видимо вам надо это расширение https://www.phpbb.com/community/viewtop ... &t=2288486
maco8024
 
Сообщения: 16
Зарегистрирован: 04.12.13 16:55

Сообщение AlexV » 26.04.17 19:07

Видимо вам надо это расширение 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");
AlexV
 
Сообщения: 3
Зарегистрирован: 25.04.17 10:03

Пред.След.

Вернуться в Скрипты и расширения для phpBB

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

Сейчас этот форум просматривают: Bing [Bot] и гости: 1

cron