Сиротливая страница в WordPress — это запись или страница, на которую не ведёт ни одна внутренняя ссылка. Для пользователя она может существовать, но для структуры сайта это слабое место: такие URL хуже находят и обходят, их сложнее поддерживать, а часть контента со временем превращается в «мертвый груз».
Проблема обычно всплывает после редизайна, массовой правки меню, миграции на новый шаблон или чистки старых материалов. Вручную такие страницы заметить трудно: в админке они выглядят нормально, но из навигации, блоков «похожие материалы», архивов и хлебных крошек они выпали.
Как понять, что у вас именно сиротливые страницы
Сначала важно отделить orphan pages от других SEO-проблем. Если страница есть в sitemap, но на неё не ведёт ни одна внутренняя ссылка, это не дубль и не ошибка индексации в чистом виде. Это именно проблема связности сайта.
Типичные признаки
- страница есть в XML-карте сайта, но не встречается в меню, архивах и блоках рекомендаций;
- URL открыт напрямую, но не находится через внутренний поиск по сайту;
- в отчётах краулера у страницы ноль внутренних входящих ссылок;
- контент давно не обновлялся и не участвует в перелинковке;
- страница создавалась под старую кампанию, акцию или временный раздел.
Что проверить до удаления
Не удаляйте URL только потому, что он «не связан». Иногда это служебная страница, на которую ведут внешние ссылки, или важный посадочный URL из рекламы. Сначала проверьте:
- есть ли на неё входящий трафик из поиска или рекламы;
- есть ли внешние ссылки;
- не используется ли она в письмах, виджетах, PDF и других каналах;
- не является ли она частью воронки, которую нельзя ломать.
Как найти сиротливые страницы: рабочие способы
Самый надёжный вариант — краулер вроде Screaming Frog или Sitebulb. Но если нужен быстрый аудит без отдельного софта, можно собрать список URL из WordPress и сравнить его с внутренними ссылками по сайту.
| Подход | Когда подходит | Ограничение |
|---|---|---|
| Краулер | Нужен полный аудит сайта | Требует отдельного инструмента |
| SQL/экспорт из WordPress | Нужно быстро найти кандидатов | Не видит внешние факторы |
| Плагин для SEO-аудита | Нужна регулярная проверка | Зависит от качества отчёта |
Если вы хотите автоматизировать первичную проверку, можно собрать список опубликованных страниц и сверить их с количеством входящих внутренних ссылок через собственный запрос к базе. Ниже — пример, который показывает кандидатов на orphan pages по опубликованным страницам. Он не идеален, но полезен как стартовая точка для аудита.
<?php
// Пример для mu-plugin или временного диагностического плагина.
// Показывает опубликованные страницы без входящих внутренних ссылок из post_content.
add_action('admin_menu', function () {
add_management_page(
'Orphan Pages',
'Orphan Pages',
'manage_options',
'orphan-pages',
'wpzoom_render_orphan_pages_report'
);
});
function wpzoom_render_orphan_pages_report() {
global $wpdb;
$pages = $wpdb->get_results(
"SELECT ID, post_title, post_name
FROM {$wpdb->posts}
WHERE post_type = 'page' AND post_status = 'publish'"
);
echo '<div class="wrap"><h1>Orphan Pages</h1>';
echo '<table class="widefat striped"><thead><tr><th>ID</th><th>Title</th><th>Slug</th></tr></thead><tbody>';
foreach ($pages as $page) {
$url = get_permalink($page->ID);
$like = '%' . $wpdb->esc_like($url) . '%';
$count = (int) $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*)
FROM {$wpdb->posts}
WHERE post_status = 'publish'
AND post_type IN ('post', 'page')
AND post_content LIKE %s
AND ID != %d",
$like,
$page->ID
)
);
if ($count === 0) {
echo '<tr><td>' . (int) $page->ID . '</td><td>' . esc_html($page->post_title) . '</td><td>' . esc_html($page->post_name) . '</td></tr>';
}
}
echo '</tbody></table></div>';
}
У этого способа есть ограничение: он ищет ссылки только в post_content. Меню, блоки темы, конструкторы страниц, виджеты и кастомные поля он не учитывает. Поэтому результат нужно воспринимать как список кандидатов, а не как окончательный вердикт.
Пошаговое решение: что делать с каждой найденной страницей
Шаг 1. Разделите страницы на три группы
После аудита не удаляйте всё подряд. Разбейте найденные URL на три категории:
- оставить и связать — полезный контент, который просто выпал из навигации;
- объединить — слабые страницы, которые логично слить с более сильным материалом;
- удалить — устаревшие, пустые или технически ненужные URL.
Шаг 2. Добавьте внутренние ссылки туда, где они реально нужны
Если страница полезная, не спешите её удалять. Проще и безопаснее встроить её в существующую структуру: добавить в релевантную статью, блок «похожие материалы», архив рубрики или меню раздела. Важно, чтобы ссылка была не декоративной, а логически оправданной.
Для проверки можно использовать простой список задач:
- добавить ссылку в 2–3 тематические статьи;
- включить URL в блок рекомендаций или навигацию по разделу;
- проверить, что ссылка доступна без JavaScript-ловушек;
- обновить sitemap, если он генерируется плагином или темой.
Шаг 3. Если страница не нужна — делайте 301, а не «мягкое удаление»
Если у страницы есть замена, настройте редирект 301 на ближайший релевантный URL. Это безопаснее, чем оставлять 404, и лучше, чем редиректить всё на главную. Главная — не универсальная замена, и поисковым системам такой сигнал обычно бесполезен.
<?php
// Пример редиректа для конкретного URL через template_redirect.
add_action('template_redirect', function () {
if (is_page('old-guide')) {
wp_redirect(home_url('/new-guide/'), 301);
exit;
}
});
Если удаляемая страница не имеет аналога, оставляйте корректный 404 или 410 в зависимости от сценария. Для старого контента, который точно больше не должен существовать, 410 часто честнее, но применять его стоит осознанно и только когда вы уверены, что замены не будет.
Как проверить, что решение сработало
После правок не ограничивайтесь визуальной проверкой в браузере. Нужна техническая валидация.
- Откройте страницу-источник и убедитесь, что на целевой URL действительно есть внутренняя ссылка.
- Проверьте HTTP-статус удалённого URL: 301 для редиректа, 404 или 410 для удаления без замены.
- Запустите повторный краул сайта и посмотрите, исчез ли orphan из отчёта.
- Проверьте, обновился ли sitemap и не остался ли там лишний URL.
- Если страница была в индексе, убедитесь, что поисковик видит новый статус не сразу, а после повторного обхода.
Для быстрой проверки статуса можно использовать curl:
curl -I https://example.com/old-guide/В ответе смотрите на строку HTTP/2 301, HTTP/1.1 404 или HTTP/1.1 410. Если вместо этого приходит 200, значит редирект или удаление настроены неверно.
Частые ошибки и как их исправить
Удаляют полезную страницу только потому, что на неё нет ссылок
Это самая частая ошибка. Страница может быть важной для рекламы, email-рассылки или внешних ссылок. Перед удалением проверьте аналитику и входящие ссылки, иначе можно потерять рабочий URL.
Ставят редирект на главную
Такой редирект почти всегда слишком общий. Если у страницы есть тематическая замена, ведите на неё. Если замены нет, лучше отдать 404/410, чем отправлять пользователя в случайную точку сайта.
Не обновляют внутренние ссылки после миграции
После смены домена, структуры URL или темы часть ссылок может остаться старой. В итоге страница формально существует, но связность сайта ломается. После крупных изменений всегда делайте повторный краул.
Путают orphan pages и страницы с noindex
Noindex не решает проблему внутренней перелинковки. Страница может быть закрыта от индексации, но всё равно быть полезной для навигации пользователей. Это разные задачи.
Практические советы по безопасности и производительности
Если вы используете код для диагностики, не оставляйте его в продакшене без необходимости. Временный инструмент лучше вынести в mu-plugin, а после проверки удалить. Не давайте доступ к отчёту пользователям без manage_options.
Для больших сайтов не сканируйте всё через тяжёлые запросы на каждом открытии админки. Лучше:
- запускать отчёт по кнопке вручную;
- кешировать результат на короткое время через
transient; - ограничивать выборку по типам записей и статусам;
- не проверять весь сайт на каждом запросе фронтенда.
Если нужен регулярный аудит без ручной рутины, имеет смысл использовать SEO-инструменты и плагины для чистки структуры сайта. В экосистеме WPShop для таких задач часто смотрят в сторону Clearfy Pro: он помогает закрывать часть технических проблем, связанных с дублями, лишними элементами и общей чисткой сайта, но сам по себе не заменяет аудит внутренней перелинковки. Ссылка: Clearfy Pro.
Если подойти к задаче аккуратно, orphan pages перестают быть скрытой проблемой: полезные материалы возвращаются в структуру сайта, а лишние URL удаляются без хаоса в индексации и без потери логики навигации.