Как удалить старый slug в WordPress

Slug в WordPressДобрый день! Уважаемые читатели блога. Я продолжаю цикл статей, где я стараюсь делиться опытом по оптимизации работы блога, скорости и внедрение разных улучшений призванных привнести улучшения. В сегодняшней ситуации я разберу, что такое slug, как он работает, для чего он нужен, можно ли его отключить и главное будет ли от этого положительный эффект. Так же рассмотрим, что еще в базе данных WordPress можно почистить и ускорить.

Что такое slug

В WordPress "slug" — это часть URL, которая идентифицирует конкретный пост, страницу или категорию. Slug обычно состоит из латинских букв, цифр и дефисов, и он используется для создания удобочитаемых и SEO-дружественных адресов страниц. Если показать нагляднее, то в WordPress он задается вот тут.

Просмотр slug в WordPress

Если вы поменяете данный кусочек URL на новый, то WordPress при обращении на старое значение slug, будет вас перекидывать на новое значение, делая такой редирект. Можете посмотреть как это работает, перейдя по адресу:

/kak-nastroit-kms-dlya-aktivatsii-windows-10-2014-r2/ в итоге вас перекинет на /kak-nastroit-kms-server-v-active-directory/

На сколько полезны или вредны старые slug

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

Со временем количество неактуальных slug может быть существенным, что приведет к замусориванию базы данных, и как следствие снижение скорости работы сайта. Как по мне лучше человеку отдать код 404 если страницы нет, а не перекидывать его неизвестно куда.

Напомню ранее мы уже производили тюнинг WordPress, чтобы он отсекал несуществующие суффиксы, но вот те которые могли остаться из-за slug в базе данных нужно дочистить

Как очистить базу данных от старых ссылок через phpMyAdmin

Думаю это самый правильный метод, так как мне не придется устанавливать сторонние плагины. Иду в веб-панель на своем хостинге. Находим там базу данных "wp_postmeta" и делаем к ней SQL запрос.

SELECT * FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug'

Поиск wp_old_slug в wp_postmeta

На выходе вы получите свой список.

Обратите внимание, что здесь очень много старых обрезанных адресов. С ними я боролся уже в статье "Страница с переадресацией в Search Console"

Устаревшие slug в базе данных

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

Удаление записей _wp_old_slug в базе данных WordPress

Подтверждаем удаление записей.

Подтверждение удаления записей из БД WordPress

Если хотите удалить все одним запросом, то выполните такую команду;

DELETE FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug'

Если нужно удалить определенный slug, можно воспользоваться такой конструкцией:

DELETE FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug' AND `meta_value` = 'текст slug"

Как очистить старые slug с помощью плагинов

Существует плагин "Slugs Manager: Delete Old Permalinks from WordPress Database", который может проанализировать ваш сайт на предмет старых slug, после чего удалить. Данный метод подходит если у вас нет доступа к phpMyAdmin.

Ссылка на плагин - https://ru.wordpress.org/plugins/remove-old-slugspermalinks/

Установка и активация плагина тривиальная.

Установка Slugs Manager Delete Old Permalinks from WordPress Database

Далее в разделе "Инструменты" находим менеджер ярлыков. Тут вы сразу увидите список всех устаревших slug и куда они ведут.

Плагин Slugs Manager Delete Old Permalinks from WordPress Database

Если хотите, то можно настроить поиск старых slug по расписанию, у плагина есть такой функционал.

Поиск slug по расписанию

Как полностью отключить функцию wp_old_slug

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

Disable "old slug" redirection remove_action( 'template_redirect', 'wp_old_slug_redirect' );

Я это прописываю в файле profunctions.php, так как для этого использую специальный плагин. Для включения удаляем строку указанную выше.

Как еще улучшить работу сайта WordPress

Проведите анализ других баз данных. например у меня есть плагин Hide My WP, то там есть таблица hmwp_ip_countries. У меня в ней за годы использования записалось больше миллиона записей. Из содержимого там мало что интересного.

Размер базы данных hmwp_ip_countries

Можно сделать SQL запрос, и удалить например все. что старее 2025 года. Посмотреть текущие записи можно запросом.

SELECT *
FROM wp_hmwp_ip_countries
WHERE created < '2025-01-01';

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

DELETE FROM wp_hmwp_ip_countries
WHERE created < '2025-05-25';

Удаление записей из таблицы MySQL

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

Оптимизированная база данных MySQL

Какой эффект оптимизации старых slug

Тут буду добавлять информацию, но предварительно вижу. что количество редиректов, которые видит Google уменьшилось.

Страницы с переадресацией

Скорость ответа для ботов Google так же стала быстрее

Скорость ответа на сканирование

Буду дальше наблюдать. На этом у меня все, с вами был Иван Сёмин. автор и создатель портала Pyatilistnik.org.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий