wpcore.ru wordpress wpcore.ru

Как найти и убрать orphan pages в WordPress

Orphan pages — это страницы, на которые нет внутренних ссылок из других материалов сайта. Для WordPress это не абстрактная SEO-проблема, а вполне прикладная: контент может существовать в админке, но не участвовать в навигации, плохо обходиться роботами и выпадать из нормальной структуры сайта.

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

Как понять, что у вас есть страницы-сироты

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

  • не находится через поиск по сайту;
  • не входит в меню, рубрики или блоки похожих материалов;
  • не имеет входящих внутренних ссылок;
  • показывается в sitemap, но почти не получает переходов;
  • в Search Console есть URL, которые обнаружены, но не просканированы или не проиндексированы.

Важно не путать orphan pages с намеренно скрытыми страницами вроде служебных, thank-you page или приватных материалов. Если страница должна быть найдена пользователем и индексироваться, но не связана из структуры сайта, это уже рабочая проблема.

Быстрая диагностика без плагинов

Начните с простого списка URL. В WordPress это можно выгрузить через админку, XML sitemap или напрямую из базы. Для проверки внутренних ссылок удобнее всего использовать краулер вроде Screaming Frog, Sitebulb или любой аналог, который умеет показывать страницы без входящих внутренних ссылок.

Если нужен быстрый локальный просмотр через WP-CLI, можно получить список опубликованных страниц и дальше сравнить его с отчетом краулера:

wp post list --post_type=page --post_status=publish --fields=ID পোস্ট_title,post_name

Команда выше покажет опубликованные страницы. Дальше вы сопоставляете их с отчетом по внутренним ссылкам. Сам по себе WP-CLI не скажет, есть ли на страницу ссылки из других материалов, но он помогает быстро собрать исходный список.

Что делать с orphan pages: три рабочих сценария

У страницы-сироты обычно один из трех путей: встроить ее в структуру сайта, оставить как служебную и закрыть от индексации, либо удалить и настроить редирект. Выбор зависит не от количества текста на странице, а от ее роли.

ВариантКогда подходитМинус
Добавить внутренние ссылкиСтраница полезна пользователям и должна ранжироватьсяНужно пересмотреть структуру контента
Закрыть от индексацииСтраница нужна для работы сайта, но не для поискаНе решает проблему навигации для людей
Удалить и поставить редиректСтраница устарела, дублирует другой материал или не несет ценностиНужно аккуратно выбрать целевой URL

Сценарий 1: добавить внутренние ссылки

Это лучший вариант для материалов, которые должны жить в поиске. Ссылки можно добавить из:

  • релевантных статей;
  • категорийных страниц;
  • блоков «похожие записи»;
  • хлебных крошек;
  • подвалов и навигационных блоков;
  • контентных вставок внутри текста.

Если у вас кастомная тема, проверьте шаблоны single.php, page.php, content-single.php и блоки, которые формируют списки материалов. Часто orphan pages появляются не потому, что их забыли, а потому что шаблон перестал выводить нужный блок после редизайна.

Для точечной вставки ссылки в контент можно использовать фильтр the_content, но только если это действительно оправдано. Например, для добавления ссылки на базовую страницу документации в конце серии материалов:

add_filter('the_content', function ($content) {
    if (!is_singular('post') || !in_the_loop() || !is_main_query()) {
        return $content;
    }

    if (strpos($content, 'href="https://example.com/docs/"') !== false) {
        return $content;
    }

    $link = '<p>См. также: <a href="https://example.com/docs/">база документации</a>.</p>';

    return $content . $link;
});

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

Сценарий 2: закрыть служебную страницу от индексации

Если страница нужна только для процесса, а не для поиска, лучше не пытаться «прокачивать» ее ссылками. В этом случае логичнее закрыть ее от индексации и убрать из sitemap. Для служебных страниц это честнее и безопаснее.

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

add_filter('wp_robots', function ($robots) {
    if (is_page('thank-you') || is_page('order-complete')) {
        $robots['noindex'] = true;
        $robots['nofollow'] = true;
    }

    return $robots;
});

Этот пример работает только для конкретных страниц и не ломает сайт целиком. Но перед внедрением проверьте, что у вас нет другого плагина, который уже управляет robots meta. Иначе можно получить конфликт директив.

Сценарий 3: удалить страницу и поставить редирект

Если orphan page устарела, дублирует другой материал или создана под временную кампанию, лучше удалить ее и настроить 301-редирект на ближайшую релевантную страницу. Не на главную «на всякий случай», а на действительно близкий по смыслу URL.

Для редиректов можно использовать плагин, но в простых случаях достаточно серверной настройки или кода в теме/му-плагине. Если вы работаете через PHP, безопаснее держать такие правила отдельно от шаблонов:

add_action('template_redirect', function () {
    if (is_page('old-landing')) {
        wp_redirect(home_url('/new-landing/'), 301);
        exit;
    }
});

После удаления страницы обязательно проверьте, что старый URL не отдает 200 OK. Иначе поисковик продолжит считать его живым.

Пошаговый порядок работ

  1. Соберите список опубликованных страниц и записей.
  2. Проверьте входящие внутренние ссылки через краулер.
  3. Отдельно отметьте страницы, которые должны индексироваться.
  4. Для полезных страниц добавьте ссылки из релевантных разделов.
  5. Для служебных страниц задайте noindex и уберите их из sitemap.
  6. Для устаревших URL настройте 301-редирект на ближайший аналог.
  7. После правок повторно просканируйте сайт и проверьте ответы сервера.

Как проверить, что решение сработало

Проверка должна быть не «на глаз», а по конкретным признакам. Смотрите на три уровня: HTML, обход и индексацию.

  • HTML: на странице появились внутренние ссылки из релевантных материалов.
  • Обход: краулер больше не показывает страницу как orphan page.
  • Индексация: в Search Console URL либо доступен для сканирования, либо корректно исключен, если это служебная страница.
  • Редиректы: старый URL отдает 301, а не 200 или 404.

Проверить ответ сервера можно через curl:

curl -I https://example.com/old-landing/

Если редирект настроен правильно, в заголовках должен быть статус 301 и новый адрес в Location. Для страниц с noindex проверьте исходный код и убедитесь, что директива действительно присутствует, а не только задумана в настройках плагина.

Частые ошибки и как их исправить

Ставят noindex вместо решения структуры

Это типичная ошибка: страницу закрывают от индексации, хотя она должна быть частью контентного кластера. В результате материал остается без внутреннего веса и не решает задачу SEO. Если страница полезная, сначала добавьте ссылки, а уже потом решайте вопрос с robots.

Редиректят все на главную

Так делают, когда не хотят разбираться с архивом старых URL. Но массовый редирект на главную обычно плохая идея: теряется тематическая релевантность, а пользователь попадает не туда, куда ожидал. Лучше искать ближайший по смыслу материал.

Оставляют страницу в sitemap, но закрывают от индексации

Это не всегда критично, но создает лишний шум для поисковых систем. Если URL не должен индексироваться, уберите его и из карты сайта. Иначе вы сами отправляете роботу противоречивые сигналы.

Добавляют ссылки только в футер

Футер помогает, но не всегда достаточно. Если страница важная, ей нужны ссылки из тематически близких материалов и разделов. Иначе она остается формально связанной, но по сути — все той же сиротой.

Что учесть по безопасности и производительности

Если вы решаете проблему кодом, не вносите правки прямо в functions.php активной темы без бэкапа. Для постоянных правил лучше использовать дочернюю тему или mu-plugin. Так вы не потеряете изменения при обновлении темы.

Не ставьте плагины редиректов и SEO-управления без необходимости, если задача точечная. Лишний плагин — это еще одна точка конфликта, особенно если уже есть SEO-плагин, кеш и оптимизация HTML.

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

Для сайтов, где внутренняя перелинковка строится вручную, полезно периодически пересматривать структуру контента. Иначе orphan pages будут появляться снова после каждой новой публикации или редизайна.

Если нужен более системный подход к чистке сайта, удалению дублей и технической оптимизации, часть задач можно закрыть инструментами уровня Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином все равно придется проверить структуру ссылок и статус страниц вручную.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше