Функция rel_canonical() в WordPress: параметры, возвращаемое значение, примеры использования

Функция rel_canonical() в WordPress

Функция rel_canonical() используется для вывода тега rel=canonical на страницах с уникальным контентом. Это помогает поисковым системам понять, какая версия страницы является основной, что особенно важно для SEO.

Параметры функции

Функция не принимает никаких параметров и не использует хуки.

Возвращаемое значение

Функция ничего не возвращает (null).

Как использовать

Просто вызовите функцию rel_canonical(); в коде вашего шаблона.

Примеры использования

Пример 1: Добавление канонической ссылки в заголовок страницы

Чтобы все страницы с контентом (например, записи) имели каноническую ссылку, добавьте следующий код в файл header.php в секцию <head>:


<?php rel_canonical(); ?>

Этот код выведет строку в формате:

Пример 2: Удаление канонических ссылок на страницах пагинации комментариев

На страницах пагинации комментариев канонический URL может выглядеть так: example.com/about/comment-page-1/. Это может создавать дублирование контента, что нежелательно.

Чтобы исправить это, используйте следующий код:


add_filter( 'get_canonical_url', 'remove_comment_page_canonical_url', 10, 2 );

function remove_comment_page_canonical_url( $canonical_url, $post ) {
// Для страниц комментариев текущего поста
if ( get_query_var( 'cpage', 0 ) && $post->ID === get_queried_object_id() ) {
$canonical_url = get_permalink( $post );
}

return $canonical_url;

}

Этот код изменяет канонический URL для страниц комментариев, чтобы он указывал на основной URL поста.

История изменений

  • С версии 2.9.0 — функция была введена.
  • С версии 4.6.0 — функция была адаптирована для использования wp_get_canonical_url().

Код функции rel_canonical()

Вот код самой функции rel_canonical() из файла wp-includes/link-template.php:


function rel_canonical() {
if ( ! is_singular() ) {
return;
}

$id = get_queried_object_id();

if ( 0 === $id ) {
    return;
}

$url = wp_get_canonical_url( $id );

if ( ! empty( $url ) ) {
    echo '' . "n";
}

}

Объяснение кода

  1. Проверка на уникальность страницы: Функция сначала проверяет, является ли текущая страница уникальной с помощью is_singular().
  2. Получение ID поста: Затем она получает ID текущего поста с помощью get_queried_object_id().
  3. Получение канонического URL: С помощью wp_get_canonical_url($id) функция получает основной URL поста.
  4. Вывод канонического тега: Если URL не пустой, функция выводит тег link с атрибутом rel=canonical.

Эта функция очень полезна для улучшения SEO вашего сайта на WordPress, особенно если у вас много схожего или дублирующегося контента.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *