Canonical URL на форуме phpBB

В процесі створення та підтримки, оновлення форуму виникає багато технічних питань, які необхідно рішати, в більшості випадків, власними силами. Деякі рішення можна знайти готовими, а деякі доводиться вирішувати самостійно. Тож в даному розділі пропоную обговорювати розширення та модифікації даного форуму, що сподіваюсь стане у нагоді не лише нашому форуму, а й іншим, які використовують саме PhpBB.
Відповісти
Аватар користувача
gitlo.in.ua
Site Admin
Повідомлень: 339
З нами з: 12 жовтня 2018, 16:20
Звідки: Україна

Повідомлення gitlo.in.ua » 11 березня 2020, 10:40

Парадоксальна ситуація склалася на мій погляд з тегом rel="canonical", який використовується в цілому заради вказівки для пошукової системи саме тієї сторінки яку потрібно показувати у результатах видачі але саме в phpBB всі посилання відрізняються від того що прописується за замовчуванням в rel="canonical".
Є таке розширення 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, ''),
В результаті отримуємо Canonical з вказівкою саме на ті сторінки на які посилається сам форум. Легко і без зайвих розширень й надалі сподіваюсь не буде помилок при оновленні.

Canonical URL на форуме phpBB


Назва розділу: Технічні питання щодо форуму
Опис: В процесі створення та підтримки, оновлення форуму виникає багато технічних питань, які необхідно рішати, в більшості випадків, власними силами. Деякі рішення можна знайти готовими, а деякі доводиться вирішувати самостійно. Тож в даному розділі пропоную обговорювати розширення та модифікації даного форуму, що сподіваюсь стане у нагоді не лише нашому форуму, а й іншим, які використовують саме PhpBB.
Відповісти