Инструкция по добавлению тегов link rel="alternate" и "canonical"

dotern
На сайте с 21.09.2016
Offline
135
1893

Всем привет!

В процессе создания мобильной версии сайта на отдельном поддомене - m.site.ru - возник вопрос с добавлением тегов на страницы сайтов <link rel="alternate" и "canonical".

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

Проблема в том, что в инете нет объяснения как именно добавлять эти теги. Вручную? А если страниц на сайте больше 3к? Я встречал статьи, где только вскользь затронута тема добавления тегов.

Вот они:

https://habrahabr.ru/post/259189/

https://developers.google.com/webmasters/mobile-sites/mobile-seo/configurations/separate-urls

https://yandex.ru/blog/platon/indeksirovanie-mobilnoy-versii-sayta-na-poddomene

Движок Joomla.

Поделитесь своим опытом или ссылкой, где будет описан процесс добавления тегов на страницы.

Спасибо.

mendel
На сайте с 06.03.2008
Offline
232
#1

Не понимаю вопрос про "вручную".

Продумайте логику формирования ссылок и генерируйте что нужно.

Например так:

В мобильной версии


<?php
// Получим путь
$url = $_SERVER['REQUEST_URI'];
// отбросим параметры
if(strpos($url,'?')) list($url,) = explode('?',$url,2);
?>
<link href="//site.ru<?=$url;?>" rel="canonical"/>

Заодно код сделает каноникал для страниц пагинации, сортировки, фильтрации и т.п. (конечно если они у вас гет-параметрами, и вы затачиваетесь под логику Яндекса а не гугла).

Если поклейка параметров не нужна, то убираем ссылку отбрасывающую параметры.

В основной версии делаем


<?php
// Получим путь
$url = $_SERVER['REQUEST_URI'];
?>
<link rel="alternate" media="only screen and (max-width: 640px)"
href="//m.site.ru<?=$canonical;?>" >

Ну или как-то в таком же духе в зависимости от ваших потребностей.

Шутку любишь над Фомой, так люби и над собой. (с) народ. Бесплатные списки читабельных(!) свободных доменов (http://burzhu.net/showthread.php?t=2976) (5L.com) Сайты, All inclusive. 5* (/ru/forum/962215)
dotern
На сайте с 21.09.2016
Offline
135
#2

mendel, Спасибо большое! Теперь всё гораздо понятней.

Еще вопрос по поводу параметров: если сайт больше ориентируется на гугл и материалы сайта разбиваются на страницы, что прописывать в таком случае?

В основную версию добавил такой код, потому что Ваш не подставляет ссылку


<?php
// Получим путь
$url = $_SERVER['REQUEST_URI'];
?>
<link rel="alternate" media="only screen and (max-width: 640px)"
href="//m.site.ru<?=$url;?>" >

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий