SEO-оптимизация

Канонические урлы в Yii2

Canonical URLs

Канонические урлы в Yii2

Зачастую при разработке сайта одна страница может быть доступна по разным URL адресам. Например, в Yii страница может быть доступна по id, а вам захотелось в маршрутах настроить для неё более красивого вида URL. И вот теперь эта страница открывается по 2 разным урлам. Для поисковиков это плохо, так не должно быть.

Что же делать?

Пометить один из урлов первичным, основным, или каноническим. Это делается прописыванием в <head> страницы специального тега <link rel="canonical"

Например, у нас есть две одинаковые страницы, или очень похожие по содержанию

Наша цель - пометить первую как каноническую. Вторая всё равно будет открываться пускай по своему URL.

Технически добавление этого тега похоже на то, как добавляли SEO-метатеги - http://yiico.ru/blog/518-dobavlyaem-metatagi-dlya-...

Если мы делаем это в действии контроллера, то так

\Yii::$app->view->registerLinkTag(['rel' => 'canonical', 'href' => Url::to(['item1'], true)]);

Если в виде, то так

$this->registerLinkTag(['rel' => 'canonical', 'href' => Url::to(['item1'], true)]);

Вместо Url::to() вы можете использовать Url::canonical():

<span class="pl-s1"><span class="pl-smi">$this</span><span class="pl-k">-></span>registerLinkTag([<span class="pl-s"><span class="pl-pds">'</span>rel<span class="pl-pds">'</span></span> <span class="pl-k">=></span> <span class="pl-s"><span class="pl-pds">'</span>canonical<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>href<span class="pl-pds">'</span></span> <span class="pl-k">=></span> <span class="pl-c1">Url</span><span class="pl-k">::</span>canonical()]);</span>

Эту строку можно уже в макет добавить, потому что Url::canonical() генерирует тег, основываясь на текущем маршруте к контроллеру и параметрах для действия (тех, что прописаны у метода).

18 июня 2016, SEO-оптимизация / Метки: SEO

По мотивам – https://github.com/samdark/yii2-cookbook/blob/master/book/canonical-urls.md


Читайте также