NZT48

Продвинутый пользователь
Регистрация
04.10.2022
Сообщения
49
Реакции
14
Привет всем, Я заметил, что у следующих 4 URL-адресов есть ошибка в их канонических URL-адресах:

Код:
example.com/director
example.com/actor
example.com/year
example.com/genre

Действительно, когда мы анализируем исходный код этих страниц, канонический URL всегда один и тот же: <link rel="canonical" href="https://example.com" > (канонический URL домашней страницы).

Обычно настоящими каноническими URL-адресами должны быть:

Код:
<link rel="canonical" href="https://example.com/director" >
<link rel="canonical" href="https://example.com/actor" >
<link rel="canonical" href="https://example.com/year" >
<link rel="canonical" href="https://example.com/genre" >

Например:

1.png

Настоящим каноническим URL для этой фотографии должен быть: <link rel="canonical" href="https://example.by/genre/" > и не: <link rel="canonical" href="https://example.by" >

Существует ли способ исправить это для этих 4 URL-адресов?

С уважением
 

admin

Администратор
Команда форума
Регистрация
30.09.2022
Сообщения
468
Реакции
84
Привет всем, Я заметил, что у следующих 4 URL-адресов есть ошибка в их канонических URL-адресах:

Код:
example.com/director
example.com/actor
example.com/year
example.com/genre

Действительно, когда мы анализируем исходный код этих страниц, канонический URL всегда один и тот же: <link rel="canonical" href="https://example.com" > (канонический URL домашней страницы).

Обычно настоящими каноническими URL-адресами должны быть:

Код:
<link rel="canonical" href="https://example.com/director" >
<link rel="canonical" href="https://example.com/actor" >
<link rel="canonical" href="https://example.com/year" >
<link rel="canonical" href="https://example.com/genre" >

Например:

Посмотреть вложение 401

Настоящим каноническим URL для этой фотографии должен быть: <link rel="canonical" href="https://example.by/genre/" > и не: <link rel="canonical" href="https://example.by" >

Существует ли способ исправить это для этих 4 URL-адресов?

С уважением
 

NZT48

Продвинутый пользователь
Регистрация
04.10.2022
Сообщения
49
Реакции
14

Спасибо за ответ, к сожалению, у меня недостаточно опыта в JavaScript, чтобы решить эту проблему. Если кто-то знает, как это сделать, было бы здорово (y). Для внутренних ссылок важны правильные канонические URL

Странно, что эта проблема возникает только с этими 4 URL, потому что для их подкаталогов канонические URL правильные. Похоже, система считает, что эти 4 URL - это корень сайта, а не каталоги.

11.png

12.png

С уважением
 

admin

Администратор
Команда форума
Регистрация
30.09.2022
Сообщения
468
Реакции
84
Я выяснил что это работает для страниц у которых page.type === "categories"
 

admin

Администратор
Команда форума
Регистрация
30.09.2022
Сообщения
468
Реакции
84
Поменяйте код в /modules/CP_schema.js

Код:
  var canonical =
    '<link rel="canonical" href="' +
    config.protocol +
    (config.alt.bomain
      ? options.domain.replace(
          config.alt.botdomain + config.alt.bomain,
          config.botdomain + config.bomain || config.subdomain + config.domain
        )
      : options.domain) +
    '" />';

Код:
var canonical =
    '<link rel="canonical" href="' +
    (config.alt.bomain
      ? page.url.replace(
          '://' + config.alt.botdomain + config.alt.bomain,
          '://' +
            (config.botdomain + config.bomain ||
              config.subdomain + config.domain)
        )
      : page.url) +
    '"/>';
 

NZT48

Продвинутый пользователь
Регистрация
04.10.2022
Сообщения
49
Реакции
14
Поменяйте код в /modules/CP_schema.js

Код:
  var canonical =
    '<link rel="canonical" href="' +
    config.protocol +
    (config.alt.bomain
      ? options.domain.replace(
          config.alt.botdomain + config.alt.bomain,
          config.botdomain + config.bomain || config.subdomain + config.domain
        )
      : options.domain) +
    '" />';

Код:
var canonical =
    '<link rel="canonical" href="' +
    (config.alt.bomain
      ? page.url.replace(
          '://' + config.alt.botdomain + config.alt.bomain,
          '://' +
            (config.botdomain + config.bomain ||
              config.subdomain + config.domain)
        )
      : page.url) +
    '"/>';

Отличная работа (y)(y) Всё работает отлично, теперь канонические URL наконец-то правильные!

Спасибо большое!
С уважением
 

admin

Администратор
Команда форума
Регистрация
30.09.2022
Сообщения
468
Реакции
84
То же самое для mobile & tv

Код:
  if (/:\/\/m\.|\/mobile-version/i.test(page.url)) {
    canonical =
      '<link rel="canonical" href="' +
      page.url
        .replace(
          /:\/\/m\..*?(\/|$)/i,
          '://' +
            (config.botdomain + config.bomain ||
              config.subdomain + config.domain) +
            '$1'
        )
        .replace('/mobile-version', '') +
      '">';
  }

  if (/:\/\/tv\.|\/tv-version/i.test(page.url)) {
    canonical =
      '<link rel="canonical" href="' +
      page.url
        .replace(
          /:\/\/tv\..*?(\/|$)/i,
          '://' +
            (config.botdomain + config.bomain ||
              config.subdomain + config.domain) +
            '$1'
        )
        .replace('/tv-version', '') +
      '">';
  }
 
Верх