Є таке розширення phpBB Canonical URL & Topic яке вирішувало проблему відмінностей у Canonical URL та реальними, які має сам форум. І за допомогою цього розширення можна було позбутись ідентифікатора форуму в адресах сторінок. Для наочності він змінював адресу форуму viewtopic.php?f=2&t=1 на viewtopic.php?t=1. Зручно як для пошукових систем, так для відвідувачів і canonical співпадав з реальними адресами. Але, на жаль, чи то на щастя у версії форуму 3.3 дане розширення не працює.
І було вирішено не шукати спосіб заставити працювати це розширення, а перейти на повну адресу з врахуванням ідентифікатора. Тобто на такого вигляду viewtopic.php?f=2&t=1.
Чому я прийняв таке рішення, бо надалі, гадаю, при майбутніх оновленнях форуму також буде вилазити боком дане розширення чи інше. Якщо розробник пропонує адреси сторінок з врахуванням ідентифікатора, то так тому й бути. Але тут неспівпадіння Canonical, яке й пропоную вирішити маленькими змінами в одному файлі.
Отже, у файлі viewtopic.php змінюємо:
Код: Виділити все
'U_CANONICAL' => generate_board_url() . '/' . append_sid("viewtopic.$phpEx", "t=$topic_id" . (($start) ? "&start=$start" : ''), true, ''),
Код: Виділити все
'U_CANONICAL' => generate_board_url() . '/' . append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start) ? "&start=$start" : ''), true, ''),