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

Вступление

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 запрос (вверху код):

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 после чистки

Изменить 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” (смотрим фото).

user id

Удаление следов плагинов 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

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

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

Еще статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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