Сьогодні буде досить практична публікація, У якій ми наведемо кілька готових корисних прикладів sql-запитів, що дозволять очистити чи оптимізувати базу даних вашого сайту на WordPress.
В першу чергу перед будь-якими діями з базою даних необхідно зробити бекап (резервну копію). Для створення резервної копії бази даних сайтів, що розміщені на нашому хостингу – достатньо зайти у вашу хостинг-панель в розділ “Бази даних” і скористатися кнопкою “Завантажити”.
Так ви зможете скопіювати собі на комп’ютер sql-файл, в якому містяться усі дані з бази даних сайту. За потреби, ви завжди можете відновити базу WordPress сайту з цього файлу.
Отже переходимо до конкретики. Зауважте, в усіх командах текст MYPREFIX_ потрібно змінити на актуальний префікс ваших таблиць в базі даних, наприклад на wp_ (цей префікс використовується часто за замовчуванням).
Як змінити пароль адміністратора:
UPDATE `MYPREFIX_users` SET `user_pass` = MD5( 'новий_пароль' ) WHERE `MYPREFIX_users`.`user_login` = "логін_адміна";
Замість слова “новий_пароль” потрібно вказати новий пароль, а замість “логін_адміна” – логін користувача, пароль якого буде змінено.
Активувати шаблон:
UPDATE MYPREFIX_options SET option_value = 'twentynineteen' WHERE option_name = 'template' or option_name = 'stylesheet';
Змініть twentynineteen на назву шаблону, який потрібно зробити активним.
Вимкнути усі плагіни:
UPDATE MYPREFIX_options SET option_value = '' WHERE option_name = 'active_plugins';
Як видалити незрозумілі символи з бази даних:
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, '“', '“');
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, 'â€', '”');
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, '’', '’');
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, '‘', '‘');
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, '—', '–');
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, '–', '—');
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, '•', '-');
UPDATE MYPREFIX_comments SET comment_content = REPLACE(comment_content, '…', '…');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, '“', '“');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, 'â€', '”');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, '’', '’');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, '‘', '‘');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, '—', '–');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, '–', '—');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, '•', '-');
UPDATE MYPREFIX_posts SET post_content = REPLACE(post_content, '…', '…');
Дані команди змінять вказані “незрозумілі” символи в тексті публікацій та коментарях на їх “зрозумілий” аналог.
Видалити усі СПАМ-коментарі одразу:
DELETE FROM MYPREFIX_comments WHERE comment_approved = 'spam';
Змінити посилання з HTTP на HTTPS:
UPDATE MYPREFIX_posts SET post_content = replace(post_content, 'http://yoursite.com', 'https://yoursite.com');
Дана команда змінить посилання http://yoursite.com на https://yoursite.com в тексті публікацій.
Видалити публікації, що старіші за Х днів:
DELETE FROM `MYPREFIX_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > 10
Змініть цифру 10 наприкінці на потрібну кількість днів.
Видалити певні метадані:
DELETE FROM MYPREFIX_postmeta WHERE meta_key = 'YourMetaKey';
Закрити Trackback-и в усіх публікаціях одразу:
UPDATE MYPREFIX_posts SET ping_status = 'closed';
Видалити ревізії публікацій (автозбереження) та їх метадані:
DELETE a,b,c FROM MYPREFIX_posts a WHERE a.post_type = 'revision' LEFT JOIN MYPREFIX_term_relationships b ON (a.ID = b.object_id) LEFT JOIN MYPREFIX_postmeta c ON (a.ID = c.post_id);
Видалити мітки чи теги, що не використовуються в жодній публікації:
DELETE FROM MYPREFIX_terms WHERE term_id IN (SELECT term_id FROM MYPREFIX_term_taxonomy WHERE count = 0 );
DELETE FROM MYPREFIX_term_taxonomy WHERE term_id not IN (SELECT term_id FROM MYPREFIX_terms);
DELETE FROM MYPREFIX_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM MYPREFIX_term_taxonomy);
Як завантажити базу зрозуміло, а як її повернути назад, якщо буде потрібно?
У вашому акаунті доступний інструмент phpmyadmin, через який можна керувати базою та її вмістом, зокрема завантажити “дамп” (той самий файл, що ви зберегли). ЗА потреби, напишіть в нашу підтримку, ми допоможемо
Спасибо за статью. Что такое префикс, в смысле, как найти, какой надо прописать?
Спасибо за вопрос, здесь есть описание, надеюсь поможет https://wordpress.co.ua/posts/secure-your-wordpress-blog-tips.html