Как удалить битые ссылки в WordPress: автоматические и ручные методы

Битые ссылки (broken links) — частая проблема на сайтах WordPress, которая негативно влияет на SEO, снижает доверие пользователей и ухудшает поведенческие факторы. В этой статье мы подробно разберём, как найти и удалить битые ссылки на вашем сайте с помощью автоматических инструментов и собственных решений на PHP.

Почему важно удалять битые ссылки в WordPress

Каждая битая ссылка — это неработающая переходная точка, которая ведёт пользователя в никуда. Поисковые системы фиксируют такие ошибки и снижают рейтинг сайта в выдаче. Кроме того, пользователи, столкнувшись с такими ссылками, уходят с сайта, что повышает показатель отказов.

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

Как найти битые ссылки на сайте WordPress

Существует несколько способов обнаружить неработающие ссылки:

  • Плагины для WordPress — самый простой и удобный метод.
  • Внешние сервисы — например, Broken Link Checker, Ahrefs, Screaming Frog.
  • Ручные проверки — менее эффективны, но могут пригодиться для точечного анализа.

Популярные плагины для поиска битых ссылок

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

Скачать Broken Link Checker

WP Broken Link Status Checker — более легковесный плагин с возможностью экспорта отчётов и гибкой настройкой проверки.

Для установки плагина, зайдите в админку WordPress, выберите "Плагины" > "Добавить новый", введите в поиске название плагина и нажмите "Установить" и "Активировать".

Как автоматически удалить битые ссылки в WordPress с помощью плагина

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

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

Пример кода для поиска и удаления битых ссылок в контенте

Рассмотрим, как с помощью PHP и WP HTTP API можно проверить ссылки в постах и удалить битые.

function wprus_check_and_remove_broken_links() {
    $args = [
        'post_type' => 'post',
        'posts_per_page' => -1,
        'post_status' => 'publish',
    ];
    $posts = get_posts($args);
    foreach ($posts as $post) {
        $content = $post->post_content;
        preg_match_all('/href=[\'\"]([^\'\"]+)[\'\"]/i', $content, $matches);
        $links = $matches[1];
        $updated_content = $content;
        foreach ($links as $link) {
            $response = wp_remote_head($link);
            if (is_wp_error($response) || wp_remote_retrieve_response_code($response) >= 400) {
                // Удаляем битую ссылку из контента
                $updated_content = str_replace('href="' . $link . '"', '', $updated_content);
            }
        }
        if ($updated_content !== $content) {
            wp_update_post([
                'ID' => $post->ID,
                'post_content' => $updated_content
            ]);
        }
    }
}

Этот код проходит по всем опубликованным постам, ищет ссылки и проверяет их доступность. Если ссылка битая (код ответа 400 и выше или ошибка соединения), она удаляется из атрибута href. После чего обновляется контент поста.

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

Автоматизация проверки битых ссылок с помощью WP Cron

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

function wprus_schedule_broken_link_check() {
    if (!wp_next_scheduled('wprus_broken_link_check_event')) {
        wp_schedule_event(time(), 'daily', 'wprus_broken_link_check_event');
    }
}
add_action('wp', 'wprus_schedule_broken_link_check');

add_action('wprus_broken_link_check_event', 'wprus_check_and_remove_broken_links');

Этот код добавляет ежедневное задание, которое вызывает функцию проверки и удаления битых ссылок.

Дополнительные советы по работе с битами ссылками

Используйте редиректы вместо удаления

Иногда лучше не удалять ссылку, а настроить 301 редирект на рабочую страницу. Это сохранит SEO вес и не ухудшит пользовательский опыт. Для этого можно использовать плагин Clearfy, который включает удобный менеджер редиректов.

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

Битые ссылки могут появляться не только в основных постах, но и в комментариях. Broken Link Checker и другие плагины умеют проверять и их.

Оптимизируйте частоту проверок

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

Заключение

Удаление битых ссылок — важная задача для поддержания качества сайта на WordPress. Используйте проверенные плагины для быстрого обнаружения, а для автоматизации и комплексной работы применяйте кастомные решения на PHP и WP Cron. Это поможет улучшить SEO и сделать сайт удобнее для посетителей.

Как автоматизировать удаление старых ревизий в WordPress
09.01.2026
WordPress изменение URL в Ajax без перезагрузки страницы: практическое руководство
10.12.2025
Как удалить загруженные файлы из медиатеки WordPress по ссылке
06.12.2025
WooCommerce: автоматическое удаление неоплаченных заказов с подробной настройкой
25.05.2026
Как установить и настроить WPGPT в WordPress для автописания контента
21.02.2026
×

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

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

пишет статьи

готовит SEO

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

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