Веб-страница состоит из 2 канонических ссылок. Что делать?

Главные вкладки

Аватар пользователя VasyOK VasyOK 9 мая 2018 в 13:48

Некоторые сайты-проверяльщики например этот https://sitechecker.pro/ru/seo-report/http://drupal.ru выдают :
"Веб-страница состоит из 2 канонических ссылок"
встроенный аудит Хрома выдает похожее.

Подобное наблюдаю на всех Drupal сайтах которые делал и я и знакомые.

На одном сайте убрал каноническую ссылку (в настройках модуля metatag)
https://sitechecker.pro/ru/seo-report/http://kapital-trans.ru/

Теперь там не ошибка а предупреждение: "Каноническая ссылка не найдена". Хотя былов сайт набирает больше, чем во время наличия канонической ссылки.

Лучший ответ

Аватар пользователя VasyOK VasyOK 17 мая 2018 в 14:47

Пока, что решил вопрос так.
1) В настройках модуля metatag убрал canonical для главной страницы.
2) В html.tpl.php

<?php if(drupal_is_front_page()): ?>
    <link rel="canonical" href="http://kapital-trans.ru/">
<?php endif; ?>

Всё работает! sitechecker.pro находит все что нужно и каноническая ссылка не дублируется.

Как сюда вместо урла сайта типа http://sitename.com засунуть универсальную переменную типа $base_url засунить? Ну если например тема на мультисайтинге используется.

Комментарии

Аватар пользователя Semantics Semantics 9 мая 2018 в 15:03

Друпал canonical выводит так же в http-заголовках, но его кроме твоего сеошника все игнорят, как я понимаю.

victor@d:~$ curl -v -I https://drupal.ru
* Rebuilt URL to: https://drupal.ru/
*   Trying 85.143.172.161...
* Connected to drupal.ru (85.143.172.161) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 597 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
*        server certificate verification OK
*        server certificate status verification SKIPPED
*        common name: drupal.ru (matched)
*        server certificate expiration date OK
*        server certificate activation date OK
*        certificate public key: RSA
*        certificate version: #3
*        subject: CN=drupal.ru
*        start date: Sat, 21 Apr 2018 20:03:15 GMT
*        expire date: Fri, 20 Jul 2018 20:03:15 GMT
*        issuer: C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3
*        compression: NULL
* ALPN, server accepted to use http/1.1
> HEAD / HTTP/1.1
> Host: drupal.ru
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Server: nginx
Server: nginx
< Date: Wed, 09 May 2018 12:03:22 GMT
Date: Wed, 09 May 2018 12:03:22 GMT
< Content-Type: text/html; charset=utf-8
Content-Type: text/html; charset=utf-8
< Connection: keep-alive
Connection: keep-alive
< Keep-Alive: timeout=75
Keep-Alive: timeout=75
< Vary: Accept-Encoding
Vary: Accept-Encoding
< X-Content-Type-Options: nosniff
X-Content-Type-Options: nosniff
< Etag: "1525867402-0"
Etag: "1525867402-0"
< Content-Language: ru
Content-Language: ru
< X-Frame-Options: ALLOW-FROM http://webvisor.com
X-Frame-Options: ALLOW-FROM http://webvisor.com
< Link: <https://drupal.ru/>; rel="canonical",<https://drupal.ru/>; rel="shortlink"
Link: <https://drupal.ru/>; rel="canonical",<https://drupal.ru/>; rel="shortlink"
< Cache-Control: public, max-age=300
Cache-Control: public, max-age=300
< Last-Modified: Wed, 09 May 2018 12:03:22 GMT
Last-Modified: Wed, 09 May 2018 12:03:22 GMT
< Expires: Sun, 19 Nov 1978 05:00:00 GMT
Expires: Sun, 19 Nov 1978 05:00:00 GMT
< Vary: Cookie
Vary: Cookie
< Vary: Accept-Encoding
Vary: Accept-Encoding
< X-Content-Options: nosniff
X-Content-Options: nosniff
< Strict-Transport-Security: max-age=31536000
Strict-Transport-Security: max-age=31536000

<
* Connection #0 to host drupal.ru left intact

Аватар пользователя VasyOK VasyOK 17 мая 2018 в 14:47

Пока, что решил вопрос так.
1) В настройках модуля metatag убрал canonical для главной страницы.
2) В html.tpl.php

<?php if(drupal_is_front_page()): ?>
    <link rel="canonical" href="http://kapital-trans.ru/">
<?php endif; ?>

Всё работает! sitechecker.pro находит все что нужно и каноническая ссылка не дублируется.

Как сюда вместо урла сайта типа http://sitename.com засунуть универсальную переменную типа $base_url засунить? Ну если например тема на мультисайтинге используется.

Аватар пользователя vvs_uh vvs_uh 29 ноября 2018 в 23:06

Подскажите, как решили эту проблему? Чтобы этот долбаный сервис кроме главной и другие страницы нормально воспринимал )

Аватар пользователя VasyOK VasyOK 29 ноября 2018 в 23:22

Это не единственное, что не нравится данному чекеру и не единственный чекер требования которого я выполнял. В апреле сайт имел больше баллов на этом чекере, чем сейчас, хотя ничего на сайте не меняли.

На главной - код html.tpl.php выше. На внутренних - просто каноникал средствами модуля metatag. Точно не помню. Можете спрашивать. Сайт виден.

Аватар пользователя vvs_uh vvs_uh 29 ноября 2018 в 23:49

Для терминов таксономии Канонический URL установлен токен [term:url:absolute] , для материала (содержимое) - [current-page:url:absolute]
Проверил несколько друпал-сайтов на этом сервисе - тоже самое )))

Аватар пользователя VasyOK VasyOK 30 ноября 2018 в 0:24

На сайте из вопроса [current-page:url:absolute] везде. Если вы видите что у меня в коде что-то странное, скажите что - я скажу как.