Практичные SQL запросы к базе данных WordPress

0 382

Вступление

SQL запросы к базе данных WordPress позволяют без лишних плагинов осуществить действие применимое ко всему содержанию сайта. Кроме копирования, удаления отдельных таблиц и всей базы в целом, SQL запросы позволяют менять URL страниц, менять автора, менять пароли, удалять устаревшую информацию и т.п.

Важно! Любое «общение» с базой данных WordPress, начните с создания резервной копии базы данных  для восстановления сайта в случае фатальных ошибок.

Как сделать SQL запрос

SQL это специальный структурированный язык запросов ((Structured Query Language) для работы с реляционными базами данных.

Сделать SQL запрос у БД можно в панели управления базой данных, phpMyAdmin. Для этого войдите в    phpMyAdmin из административной панели хостинга, используя имя и пароль пользователя этой базы данных. Панель откроется в браузере.

Далее откройте нужную базу данных, нажав на  кнопку «Структура». Чтобы сделать SQL запрос воспользуйтесь кнопкой SQL запрос.

Практичные SQL запросы к базе данных WordPress

SQL запросы к базе данных WordPress

Во всех приведенных примерах Полезные SQL запросы к базе данных WordPress, делаются к базе данных с префиксом wp_. Чтобы использовать приведенные запросы к своей базе данных, измените префикс wp_ на префикс своей БД. На некоторых фото префикс wp_ заменен на wop_.

Важно! На phpmyadmin, много полезных кнопок. Для проверки правильности введенного SQL запроса есть отличная кнопка “Имитировать запрос”, пользуйтесь ей, прежде чем делать Не проверенный ранее запросы к базе данных. Еще одно, запрос ко всей базе данных отличается от запроса к таблице. Будьте внимательны.

Запрос 1. Удалить все ревизии статей

При редактировании статей WordPress, система сохраняет в базе данных все ревизии статей. Парой их скапливается до нескольких тысяч.

Практичные SQL запросы к базе данных WordPress

Удалить ревизии статей из панели сайта нельзя. Поэтому, чтобы удалить все ревизии статей, которые скопились на данный момент, делаем следующий SQL запрос (вверху код):

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'

После нажатия «ОК» видим результаты выполненного SQL запроса.

Практичные SQL запросы к базе данных WordPress

Изменить URL главной страницы и URL сайта

При переносе сайта WordPress с локального сервера меняется URL главной страницы и URL сайта. Система WordPress сохраняет эти абсолютные URL в базе данных. После переноса сайта старые URL нужно удалить. Для этого сделайте следующий SQL запрос:

UPDATE wp_options SET option_value = replace(option_value,  'http://www.СТАРЫЙУРЛ.com', 'http://www.НОВЫЙУРЛ.com')  WHERE option_name = 'home' OR option_name = 'siteurl';

Изменить индетификатор URL (GUID)

Каждый URL в базе данных имеет свой уникальный идентификатор (GUID -Globally Unique Identifier). После переноса сайта с локального компьютера или смене домена, нужно изменить URL в поле GUID в таблице wp_posts, сделав следующий SQL запрос

UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.СТАРЫЙУРЛ.com',  'http://www.НОВЫЙУРЛ.com');

Изменить URL в контенте

Система WordPress сохраняет в базе данных и старые абсолютные пути ссылок сайта в базе данных. Их также нужно изменить:

UPDATE wp_posts SET post_content = REPLACE  (post_content, 'http://www.СТАРЫЙУРЛ.com', 'http://www.НОВЫЙУРЛ.com');

Изменить URL картинок

После миграции сайта меняются и URL картинок в медиа библиотеке. Чтобы их поменять делаем следующий SQL запрос.

UPDATE wp_posts SET post_content = REPLACE (post_content,  'src="http://www.СТАРЫЙУРЛ.com', 'src="http://www.НОВЫЙУРЛ.com');

Не забываем про GUID прикрепленных файлов.

UPDATE wp_posts SET  guid = REPLACE (guid,  'http://www.СТАРЫЙУРЛ.com', 'http://www.НОВЫЙУРЛ.com')  WHERE post_type = 'attachment';

Смена Meta информации сообщений

Все аналогично смене URL

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value,  'http://www.СТАРЫЙУРЛ.com','http://www.НОВЫЙУРЛ.com');

Изменение имени пользователя “Admin”

При установке WordPress вы задаете имя и пароль для владельца сайта, администратора. Ранее по – умолчанию, система предлагала имя  «Admin». Чтобы поменять имя «Admin», которое просто подарок взломщику, сделайте следующий SQL запросы к базе данных WordPress.

UPDATE wp_users SET user_login = 'НОВОЕ ИМЯ' WHERE user_login = 'Admin';

Смена пароля WordPress

Потеряли пароль для авторизации, не беда. Можно сменить пароль user (администратора) WordPress, делая следующий запрос SQL.

Примечание: MD5- способ кодирования. Новый пароль вписывается в простом, не закодированном виде. 

UPDATE wp_users SET user_pass = MD5( 'НОВЫЙ ПАРОЛЬ' ) WHERE user_login = 'ВАШ ЛОГИН';

 Поменять автора статей

Чтобы поменять автора  “А” на автора  “Б”, сразу на всем сайте и не заниматься этим вручную, достаточно сделать следующие SQL запросы к базе данных WordPress.

UPDATE wp_posts SET post_author = 'НОВЫЙ АВТОР-id' WHERE  post_author = 'СТАРЫЙ АВТОР-id';

Чтобы определить “Имя автора_id”  в  профиле автора наведите курсор на поле “Изменить” и внизу в адресной строке, посмотрите “user_id” (смотрим фото).

Практичные SQL запросы к базе данных WordPress

Удаление следов плагинов WordPress

Некоторые плагины после удаления плагина оставляют записи в таблице post_meta. Чтобы их удалить, сделайте следующий SQL запрос к БД:

DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';

Удаление всех пингбеков (pingback)

Пинкбек это уведомление о ссылке на веб-документ. В админке пинкбеки по умолчанию не выводятся. Однако  записываются в базе данных. Большое количество пинкбеков, загружают базу данных, и чтобы их  удалить делаем SQL запрос:

DELETE FROM wp_comments WHERE comment_type = 'pingback';

Удаление всех СПАМ комментариев

Спам комментарии тоже пишутся в базу данных. Если вы пользуетесь плагином Akismet, то об удалении спам комментариев можно не беспокоиться. Однако их можно удалить и из панели phpMyAdmin, сделав следующий SQL запрос (ставим spam -удаляем спам; вместо spam ставим 0 – удаляем комментарии на одобрении; ставим  1 – удаляем одобренные комментарии):

DELETE FROM wp_comments WHERE comment_approved = 'spam';

 Найти неиспользуемые теги

Теги к статьям одновременно помогают и вредят в  оптимизации сайта WordPress. Основной вред от тегов, создание дублей страниц. Именно из- за этого, теги закрывают от поисковиков, прописывая соответствующее правило в файле robots.txt или устанавливая SEO плагин WP.

Кроме этого теги не удаляются с удалением статей сайта. Чтобы найти не используемые теги сделайте следующий SQL запрос

SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id  WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

Практичные SQL запросы к базе данных WordPress

Практичные SQL запросы к базе данных WordPress

После этого удалите неиспользуемые теги, войдя в административную панель сайта и сделайте повторный запрос для контроля:

Практичные SQL запросы к базе данных WordPress

Удалить пустые метки

DELETE a,b,c FROM wp_terms a 	LEFT JOIN wp_term_taxonomy c ON a.term_id = c.term_id 	LEFT JOIN wp_term_relationships b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE ( 	c.taxonomy = 'post_tag' AND 	c.count = 0 	) 

параметр: c.count = 0 означает, что удаляем пустые метки.

Изменить тему сайта из phpmyadmin

Twenty Fourteen тема взятая для примера.

UPDATE wop_options SET option_value = ' Twenty Fourteen' WHERE option_name = 'template'; UPDATE wop_options SET option_value = ' twentyfourteen ' WHERE option_name = 'stylesheet'; UPDATE wop_options SET option_value = ' twentyfourteen ' WHERE option_name = 'current_theme';

Источник: www.wordpress-abc.ru

Оставьте ответ

Ваш электронный адрес не будет опубликован.