1

Topic: Каноническая ссылка на страницу форума PunBB

многие SEOшники считают, что для лучшей оптимизации форума punbb в секции <HEAD></HEAD> нужно прописать метатег

<link rel="canonical" ...

если для вас тоже этот вопрос важен, то вот решение:
Чтобы сделать каноническую ссылку страницы на форуме PunBB, необходимо открыть файл header.php
Найти блок со следующим содержимым

// Should we output a MicroID? http://microid.org/
if (strpos(FORUM_PAGE, 'profile') === 0)
    $forum_head['microid'] = '<meta name="microid" content="mailto+http:sha1:'.sha1(sha1('mailto:'.$user['email']).sha1(forum_link($forum_url['user'], $id))).'" />';

$forum_head['title'] = '<title>'.generate_crumbs(true).'</title>';

Добавить после него такой код:

//Added META tag rel="canonical"
if ($forum_config['o_sef'] == 'Default' || $forum_config['o_sef'] == 'File_based' || $forum_config['o_sef'] == 'Folder_based')
{
    if (FORUM_PAGE == 'index')
    {
        $forum_head['canonical'] = '<link rel="canonical" href="'.forum_link($forum_url['index']).'" />';
    }
    else if (FORUM_PAGE == 'viewforum')
    {
        $forum_head['canonical'] = '<link rel="canonical" href="'.forum_link($forum_url['forum'], $id).'" />';
    }
    else if (FORUM_PAGE == 'viewtopic')
    {
        $forum_head['canonical'] = '<link rel="canonical" href="'.forum_link($forum_url['topic'], $id).'" />';
    }
}

Сохранить, посмотреть
И если URL будет иметь вид

https://punbb.softplaza.net/viewtopic.php?pid=64#p64 

то в исходнике будет ссылка на постоянную тему:

<link rel="canonical" href="https://punbb.softplaza.net/t29-mody-kanonicheskaya-ssylka-na-stranitsu-foruma-punbb.html" />

2

Re: Каноническая ссылка на страницу форума PunBB

Для урл схем: File_based_(fancy), Folder_based_(fancy), File_based_(pan)
код будет таким

    if (FORUM_PAGE == 'viewforum')
    {
        $forum_head['canonical'] = '<link rel="canonical" href="'.forum_link($forum_url['forum'], array($id, sef_friendly($cur_forum['forum_name']))).'" />';
    }
    else if (FORUM_PAGE == 'viewtopic')
    {
        $forum_head['canonical'] = '<link rel="canonical" href="'.forum_link($forum_url['topic'], array($id, sef_friendly($cur_topic['subject']))).'" />';
    }

В исходнике области HEAD метатег, к примеру этой темы будет таким:

<link rel="canonical" href="https://punbb.softplaza.net/t29-mody-kanonicheskaya-ssylka-na-stranitsu-foruma-punbb.html" />

Теперь если даже в URL будет ссылка на сообщение из темы:

https://punbb.softplaza.net/post64.html#p64

то каноническая ссылка останется неизменной.