Top.Mail.Ru

Как быстро устранить проблему для защиты SEO…

Здравствуйте, уважаемые читатели блога WebMacter.ru. Поделюсь с вами, как я решил проблему с дублями архивов форматов записей (Post Formats). Написал письмо Алексею Гудвину, кто не знает, он создаёт шаблоны для движка WordPress.

Алексей, здравствуйте! Как можно убрать дубли с разделами /type/ в теме gp-agency, если они там имеются от этой темы? Запретил в robots.txt, но всё равно эти страницы дубли индексируются.

См. примеры страниц:

{https://www.aauhadullin.ru/type/image/}
{https://www.aauhadullin.ru/type/video/page/2/}
{https://www.aauhadullin.ru/type/video/}
{https://www.aauhadullin.ru/type/aside/}

Ответ от Гудвина

Здравствуйте, Альберт.

Ваш type это формат записи. Он появился на сайте, когда Вы стали ставить отметки в поле Тип записи — видео, галерея, заметка и тому подобное см. по ссылке: https://misha.agency/wordpress/post-formats.html

Видимо, Вы либо добавили форматы на сайт вручную, и ставили в них отметки, в результате чего наплодили кучу дублей и бесполезных архивов.

Чтобы отключить форматы на сайте, можно добавить в functions.php активной темы такой код:

function gp_remove_post_formats() {
remove_theme_support(‘post-formats’);
}
add_action( ‘after_setup_theme’, ‘gp_remove_post_formats’, 11 );

Также можно попробовать поставить какой-нибудь плагин для 301 редиректа этих форматов либо погуглите — как удалить post-formats wordpress.

Погуглил и нашел ответ…

Устранение проблемы дублей, архивов форматов записей

Далее разберёмся, как устранить проблему дублей архивов форматов записей.

Вот пошаговое решение:

  1. Определяем суть проблемы. Такие страницы URL вида /type/video/ — это архивы форматов записей (Post Formats), а не кастомные типы записей. Это стандартная функция WordPress, которую активировал плагин, или тема.
  2. Отключаем архивы форматов. Предварительно (обязательно подстрахуйтесь) сохраните резервную копию данных сайта, быкап базы данных и добавьте в functions.php вашей темы этот код:
// Отключаем архивы для всех форматов записей
add_action('pre_get_posts', 'disable_post_format_archives');
function disable_post_format_archives($query) {
    if ($query->is_tax('post_format') && $query->is_main_query() && !is_admin()) {
        $query->set_404();
        status_header(404);
        nocache_headers();
    }
}

Что это делает? Все запросы к архивам форматов /type/video/, /type/image/ и т. д. будут возвращать 404 ошибку.

  1. Удаляем упоминания форматов из системы движка.

Чтобы полностью убрать форматы записей из WordPress, добавляем в файл функции этот код:

// Удаляем все форматы записей
add_action(‘after_setup_theme’, ‘remove_post_formats’);
function remove_post_formats() {
remove_theme_support(‘post-formats’);
}

Затем настраиваем редиректы для существующих URL…

Чтобы перенаправить старые ссылки на главную страницу или в архив постов, добавьте в .htaccess редирект для /type/*, но с одной оговоркой, если у вас подключён Apache:

RedirectMatch 301 ^/type/.*$ /

Или через PHP в functions.php:

add_action(‘template_redirect’, ‘redirect_post_format_archives’);
function redirect_post_format_archives() {
if (is_tax(‘post_format’)) {
wp_redirect(home_url(), 301);
exit;
}
}

Далее чистим поисковые системы…

Добавьте в файл robots.txt:

User-agent: *
Disallow: /type/*

И добавьте метатег noindex для всех страниц форматов:

add_action('wp_head', 'add_noindex_for_post_formats');
function add_noindex_for_post_formats() {
    if (is_tax('post_format')) {
        echo '<meta name="robots" content="noindex, follow">';
    }
}

После внедрения кода проверьте результат…

Все страницы URL вида /type/* будут возвращать 404 или редиректить на главную страницу, и форматы записей исчезнут из интерфейса WordPress. В результате поисковики перестанут индексировать эти страницы.

Дополнительные меры

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

  • Настройте постоянные ссылки. Зайдите в админку Вордпресс: Настройки → Постоянные ссылки и нажмите «Сохранить» для сброса правил.
  • Если нет, создайте кастомный 404-шаблон. Добавьте файл 404.php в тему, чтобы красиво отображать страницы-дубли, как «Не найдено».

Пример кодов, которые я внедрил на своих сайтах для устранения проблемы в файл functions.php:

// Удаляем поддержку форматов
add_action('after_setup_theme', 'remove_post_formats');
function remove_post_formats() {
    remove_theme_support('post-formats');
}
// Редирект + 404 для архивов форматов
add_action('template_redirect', 'handle_post_format_archives');
function handle_post_format_archives() {
    if (is_tax('post_format')) {
        wp_redirect(home_url(), 301);
        exit;
    }
}
// Добавляем noindex
add_action('wp_head', 'post_format_noindex');
function post_format_noindex() {
    if (is_tax('post_format')) {
        echo '<meta name="robots" content="noindex, follow">';
    }
}

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

См. фактическая производительность на компьютерах:

производительность страницы

См. фактическая производительность на мобильных телефонах:

скорость загрузки страницы

Если есть вопросы, пишите в комментарии. Удачи вам и всего хорошего! До скорых встреч на страницах блога WebMacter.ru.

Поделитесь Вашим мнением
Ваш комментарий

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

Еще записи из этой же рубрики

Что будем искать? Например,Идея

Создание сайтов и SEO оптимизация веб-истории
Минуту внимания
Мы используем файлы cookies, чтобы обеспечивать правильную работу нашего веб-сайта, а также работу функций социальных сетей и анализа сетевого трафика.