Внутренние ссылки — важный элемент структуры любого сайта на WordPress, они помогают улучшить SEO и удобство навигации для пользователей. Но при большом количестве записей и страниц управлять ими вручную становится сложно. В этой статье мы подробно разберём, как автоматизировать просмотр и анализ внутренних ссылок в WordPress с помощью плагина WP Links и кастомных функций.
Почему важен автоматизированный просмотр внутренних ссылок
Если у вас много контента, ручной анализ ссылок занимает много времени и подвержен ошибкам. Автоматизация позволяет:
- Получать отчёты по количеству внутренних ссылок на каждую страницу;
- Определять битые или устаревшие ссылки;
- Отслеживать изменения в структуре ссылок при редактировании контента;
- Ускорять SEO-оптимизацию и улучшать пользовательский опыт.
Плагин WP Links, доступный на wpshop.ru, предоставляет удобный интерфейс и API для работы с внутренними ссылками.
Установка и базовая настройка плагина WP Links
Для начала установим WP Links через админку WordPress или вручную загрузим архив в директорию wp-content/plugins/wp-links и активируем плагин.
После активации перейдите в раздел «WP Links» в меню админки. Здесь можно задать параметры, например:
- Автоматическое создание внутренних ссылок по ключевым словам;
- Настройка максимального количества ссылок на страницу;
- Включение отслеживания кликов по ссылкам;
- Формат отображения ссылок — подсвечивание, всплывающие подсказки и т.д.
Эти настройки помогут вам контролировать и автоматизировать добавление внутренних ссылок в контент.
Пример кода: Получение отчёта по внутренним ссылкам для каждой записи
WP Links предоставляет функции для работы с внутренними ссылками через PHP. Например, чтобы получить список всех внутренних ссылок для конкретной записи, используйте такой код:
function wplinks_get_internal_links_for_post($post_id) {
if (!function_exists('wp_links_get_links')) {
return [];
}
// Получаем все ссылки, связанные с записью
$links = wp_links_get_links($post_id);
$internal_links = [];
foreach ($links as $link) {
// Фильтруем только внутренние ссылки
if (strpos($link->url, home_url()) === 0) {
$internal_links[] = $link->url;
}
}
return $internal_links;
}
Этот код можно использовать в шаблонах или в админке для построения отчётов. Например, вывести список внутренних ссылок для текущей записи:
global $post;
$links = wplinks_get_internal_links_for_post($post->ID);
echo '<ul>';
foreach ($links as $url) {
echo '<li><a href="' . esc_url($url) . '">' . esc_html($url) . '</a></li>';
}
echo '</ul>';
Автоматический аудит и исправление битых внутренних ссылок
Для поддержания качества ссылочной структуры важно регулярно проверять ссылки на битые URL. WP Links может интегрироваться с плагинами для проверки ссылок или вы можете написать свой простой аудит:
function wplinks_check_broken_links($post_id) {
$links = wplinks_get_internal_links_for_post($post_id);
$broken_links = [];
foreach ($links as $url) {
$response = wp_remote_head($url);
if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) {
$broken_links[] = $url;
}
}
return $broken_links;
}
Данный код отправляет быстрый HEAD-запрос к каждой внутренней ссылке и собирает те, что возвращают ошибку. В админке можно вывести результаты и предложить варианты исправления.
Автоматическое обновление ссылок при смене URL
Если на сайте часто меняются URL, можно написать функцию, которая при сохранении записи обновляет внутренние ссылки в её содержимом:
function wplinks_update_internal_links_on_save($post_id) {
if (wp_is_post_revision($post_id)) {
return;
}
$post = get_post($post_id);
$content = $post->post_content;
// Пример: меняем старый URL на новый
$old_url = 'https://example.com/old-page';
$new_url = 'https://example.com/new-page';
if (strpos($content, $old_url) !== false) {
$updated_content = str_replace($old_url, $new_url, $content);
remove_action('save_post', 'wplinks_update_internal_links_on_save');
wp_update_post([
'ID' => $post_id,
'post_content' => $updated_content
]);
add_action('save_post', 'wplinks_update_internal_links_on_save');
}
}
add_action('save_post', 'wplinks_update_internal_links_on_save');
Этот пример демонстрирует базовый подход и требует доработки под конкретные нужды, например, динамическое определение старых и новых URL.
Дополнительные рекомендации по работе с WP Links
Для лучшей автоматизации рекомендуем:
- Использовать WP Links в связке с плагином Clearfy Pro (wpshop.ru) для оптимизации и очистки ссылочной структуры;
- Настроить регулярное резервное копирование базы данных перед массовыми изменениями ссылок;
- Использовать пользовательские фильтры WP Links для расширения функционала, например, чтобы добавлять атрибуты к ссылкам или интегрировать с аналитикой;
- Обучить редакторов работать с системой внутренних ссылок через удобный интерфейс WP Links, чтобы минимизировать ошибки при добавлении ссылок вручную.
Использование фильтров WP Links для кастомизации ссылок
WP Links поддерживает фильтры, которые позволяют изменять поведение плагина. Например, чтобы добавить атрибут rel="nofollow" к некоторым внутренним ссылкам, можно использовать такой фильтр:
add_filter('wp_links_link_attributes', function($attributes, $link) {
if (strpos($link->url, home_url('/special-section/')) === 0) {
$attributes['rel'] = 'nofollow';
}
return $attributes;
}, 10, 2);
Это удобно для SEO-управления разными разделами сайта.