Очистка таблицы redirect_links

При создании резервной копии одного из сайтов, работающего на Joomla 3.4, случайно заметил, что файл дампа базы данных резко вырос с привычного 1 Мб до 7 Мб. Это особенно странно, так как сайт не большой, хотя и с хорошей посещаемостью. Оказалось, распухла таблица redirect_links.

Как выяснилось на практике, в русскоязычном сегмента интернета все только и спрашивают "Подскажите, для чего таблица redirect_links?", "Можно ли почистить таблицу redirect_links?" или "Можно ли восстановить эту таблицу как пустую?"... ответа так и не нашёл. Зато в англоязычном сегменте сразу удалось заполучить отличное решение.

Оказывается, достаточно выполнить запрос через phpMyAdmin

DELETE FROM `префикс_redirect_links` WHERE `published` IN (0,2,-2)

Автор запроса: Dmitry Rekun

Конечно же, "префикс" надо поменять на Ваш префикс для конкретного сайта.

В результате выполнения запроса все снятые с публикации, архивные или помещенные в корзину элементы компонента Redirect (то есть com_redirect) будут сброшены из таблицы redirect_links, а все опубликованные элементы останутся нетронутыми.

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

Общие рекомендации: если не пользуетесь компонентом com_redirect, есть смысл его отключить. А если пользуетесь, то стоит время от времени выполнять указанный волшебный запрос для очистки таблицы.

Заодно рекомендую посмотреть на содержимое и объем finder_links_terms - не слишком ли она раздулась? Можно отключить плагин 'Умного поиска', а потом выполнить очистку в компоненте умного поиска, для чего заходим в админку и выбираем Компоненты -> Умный поиск -> Очистка.

Да и вообще, не плохо зайти в Расширения -> Менеджер плагинов, строке поиска набрать "Умный" и отключить всё, что только попадает в поле зрения. Кстати, с детства не люблю названия программных продуктов или плагинов, которые содержат прилагательное "Умный"!

Ну а раз мы взялись за уборку, не пора ли почистить jos_session? Периодически я выполняю запрос TRUNCATE TABLE имя_таблицы. Сбрасывается информация о сессиях.

6 комментарии

  • Роман

    написал Роман

    Суббота, 15 Апрель 2017 08:40

    Подскажите где отключить компонент com_redirect. Не нашел такого, а таблица в БД 900 МБ.

  • Владимир Драч

    написал Владимир Драч

    Суббота, 15 Апрель 2017 17:45

    Зайдите в админку и пройдите по ссылке
    /administrator/index.php?option=com_redirect

  • Юрий

    написал Юрий

    Понедельник, 23 Октябрь 2017 09:55

    Спасибо, информация оказалась полезной!
    Успехов Автору!

  • Ютрй

    написал Ютрй

    Среда, 11 Апрель 2018 11:50

    День добрый!
    Joomla 2.5
    Зашел в админку как вы рекомендовали :
    "Зайдите в админку и пройдите по ссылке
    /administrator/index.php?option=com_redirect" -
    белый экран.
    То есть не могу зайти в компонент "перенапраление"

  • Анатолий

    написал Анатолий

    Среда, 11 Апрель 2018 23:03

    Ютрй, Вы что-то не то делаете. Я только что попробовал на своей Джумле 2.5 - всё прекрасно работает, хотя статья и написана для версии 3.
    Через меню зайдите, наконец. А можно просто не заходить, а выполнить SQL-запрос, всё сработает.

  • Ютрй

    написал Ютрй

    Четверг, 12 Апрель 2018 16:30

    Спасибо за ответ. Не знаю что вчера было.... Сегодня работает...

Авторизуйтесь, чтобы получить возможность оставлять комментарии
Go to top