Wp postmeta как почистить

 

Как почистить базу данных WordPress

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

Как обычно, перед тем как производить любые действия, сделайте бэкап и скачайте его к себе на компьютер.
Если база большая и есть доступ к сайту только по ftp, можно воспользоваться вот этим скриптом — https://sypex. net/ Отлично справился даже с базой в полтора гигабайта.

Из интереса можно предварительно попробовать найти все дублирующиеся мета поля

SELECT *,COUNT(*) AS keycount
FROM wp_postmeta
GROUP BY post_id, meta_key
HAVING (COUNT(*) > 1)

А затем удалить эти дубликаты мета полей

DELETE FROM wp_postmeta
WHERE (meta_id IN (
SELECT * FROM (
SELECT meta_id
FROM wp_postmeta tmp
GROUP BY post_id, meta_key
HAVING (COUNT(*) > 1)
) AS tmp
))

Бывает, некоторые плагины не удаляют лишнее после себя. Мета поля остаются у записей. Этот запрос покажет, какие мета поля у вас есть вообще. Если будет что-то лишнее, можно будет удалить.

SELECT DISTINCT meta_key FROM wp_postmeta

Так же вполне безопасно удалить и вот эти мета поля
DELETE FROM wp_postmeta
WHERE meta_key IN (‘_edit_lock’,’_edit_last’)

А бывает наоборот, запись с сайта удалена, а мета поля остались.
Этот запрос поможет найти забытые мета поля.

SELECT * FROM wp_postmeta
LEFT JOIN wp_posts ON (wp_postmeta. post_id = wp_posts. ID)
WHERE (wp_posts. ID IS NULL)

А этот сможет их удалить.
DELETE wp_postmeta FROM wp_postmeta
LEFT JOIN wp_posts ON (wp_postmeta. post_id = wp_posts. ID)
WHERE (wp_posts. ID IS NULL)

Удаляем кэш transient api. Из-за специфики работы, этот кэш отчищается только при повторном запросе.
То есть, если данным был установлен срок жизни в час, а за 30 минут до конца срока вы удалили плагин, записавший в кэш эти данные, они останутся там.

DELETE FROM wp_options
WHERE option_name LIKE ‘%transient%’

Удаляем те ревизии постов, которые старше 15 дней

DELETE FROM wp_posts
WHERE
(post_type = ‘revision’) AND
(post_modified_gmt

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

Источник: http://odminstudios. ru/892-kak-pochistit-bazu-dannyx-wordpress/

Как почистить и оптимизировать базу данных Вордпресс

Со временем в базе данных Вордпресс накапливается много лишней информации. Её объём иногда достигает таких размеров, что сайт начинает спотыкаться и может даже упасть. Сегодня я покажу несколько приёмов по очистке и оптимизации БД Вордпресс.

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

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

Для Вордпресс существует несколько различных способов оптимизации БД, я покажу несколько полезных запросов MySQL, которые можно выполнить в phpMyAdmin, например. А также расскажу про пару полезных плагинов, которые помогут упростить задачу.

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

Оптимизация базы данных Вордпресс с помощью phpMyAdmin

Существует несколько способов выполнения SQL-запросов в БД. Самым простым вариантом является phpMyAdmin. Получить к нему доступ обычно можно в панели управления хостингом в разделе «Базы данных».

Внутри phphMyAdmin сразу переходим в раздел SQL.

Здесь мы и будем выполнять все SQL-запросы.

Сразу обращаю внимание, в примерах ниже используется дефолтный префикс таблиц Вордпресс — «wp_» Поэтому, прежде убедитесь, что префиксы таблиц вашей БД такие же. Если нет — просто меняйте их в запросах на свои.

Удалить старые плагины и данные

Начнем с удаления оставшихся данных от удалённых плагинов. В таблице wp_postmeta также можно обнаружить много других ненужных данных, которые можно почистить этим же запросом.

Вместо META-KEY-NAME нужно указать ключи удаляемых плагинов. Их можно найти в таблицах БД.

Удалить все ревизии

Ревизии в Вордпресс очень полезная функция. Но если авторы активно ей пользуются, в БД сохраняется очень много копий постов, которые хранятся и после его публикации.

Удалить разом все ревизии можно таким запросом:

Удалить все комментарии со спамом

Иногда комментариев со спамом становится столько, что вручную их удалить уже не удаётся. С помощью одного SQL-запроса можно удалить сразу все комментарии помеченные как «Спам».

Удалить все неподтвержденные комментарии

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

Удалить все неиспользуемые теги

Удалить все теги, которые не связаны ни с одним постом можно следующим запросом:

Удалить старые шорткоды

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

Где YOUR-SHORTCODE — удаляемый шорткод.

Удалить пингбеки и трекбеки

Интересно, кто-нибудь вообще ими пользуется?

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

Удалить временные опции

Временные опции в Вордпресс позволяют кешировать часть данных в БД. Но иногда этот кеш тоже может сильно раздуться. Очистить его можно одним запросом.

Оптимизировать таблицы

Раз уж мы зашли в phpMyAdmin, можно заодно проверить и оптимизировать таблицы. Делается это очень просто.

Выбираем все таблицы и нажимаем «Optimize table»

Оптимизация базы данных Вордпресс с помощью плагинов

Для Вордпресс существует ряд плагинов, с помощью которых можно почистить и оптимизировать базу данных. Самые эффективные из них: WP-Optimize и WP-Sweep.

WP-Optimize

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

В разделе «Table Information» выводится информация по текущим размерам таблиц базы данных и объем, который плагин сможет освободить. В «Настройках» можно запланировать автоматическую оптимизацию БД. Например, каждую неделю, две недели или месяц.

Плагин WP-Optimize очень прост в использовании. Главное, не забудьте перед его использованием создать резервную копию сайта или хотя бы БД.

WP-Sweep

Набирающий обороты плагин от Лестера Чена — известного разработчика Вордпресс.

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

В отличие от WP-Optimize, WP-Sweet для удаления использует функции Вордпресс, а не прямые запросы к базе данных. Это снижает вероятность пропуска каких-то ненужных данных. Однако, в WP-Sweep пока нет никакой автоматизации процессов.

В заключение

Я надеюсь, эта статья поможет вам оптимизировать и ускорить работу базы данных вашего сайта. Не забывайте перед внесением изменений в базу данных, всегда делать резервную копию сайта.

Подпишитесь на мой телеграм и первыми получайте новые материалы, в том числе которых нет на сайте.

200 бесплатных наборов кистей для Фотошопа
487

Как отправить большое видео в Ватсап
370

Как в Фотошопе сменить русский язык на английский
272

Как быстро наполнить сайт на Вордпресс с помощью плагина «WP All Import»
149

25 лучших шаблонов для создания интернет-магазина на Опенкарт
139

5 лучших книг по Вордпресс на русском языке
132

Как принять в друзья все входящие заявки во Вконтакте
129

Топ 12 Вордпресс шаблонов для сайта доставки еды
121

Как скачать приватное видео из фейсбука
120

Как использовать Media Query в JavaScript
117

Как быстро удалить все исходящие заявки в друзья во Вконтакте
109

Установка временнОй зоны в PHP
94

10 бесплатных шаблонов лендингов в PSD
84

 

Как импортировать большую базу данных MySQL в обход ограничений phpMyAdmin
82

Как открыть *.CDR в Adobe Illustrator
81

Как посмотреть, кто кого лайкает в Инстаграм
74

10 рекомендуемых книг-бестселлеров по PHP
65

20 лучших шаблонов Вордпресс для сферы услуг
65

FontAwesome и ещё 25 бесплатных иконочных шрифтов
63

Боремся с «AdBlock» и другими блокировщиками рекламы в Вордпресс
61

Практикующий веб-разработчик, специализируюсь на платформе Вордпресс.

Источник: http://danilin. biz/wordpress-db-clean-optimize. htm

WordPress. org

Русский

Чистка базы данных

Имеется новостной сайт на вордпрессе, который за 10 лет вырос до более 3 гигов БД. Скажите, как удалить все материалы в БД, которые были опубликованы к примеру за 2015 год. Спасибо.

Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

можете этим аккуратно ( и сделав бэкап ! ) почистить базу

спасибо. а есть способ чистки в самой БД (phpmyadmin) используя какую то из команд?

  • Ответ изменён 1 месяц, 1 неделя назад пользователем dmitriyvasyura .

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

средствами mysql можно только сделать оптимизацию таблиц

Источник: http://ru. wordpress. org/support/topic/%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B0-%D0%B1%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-2/

Мета-данные в WordPress: введение

Один из факторов, который делает WordPress мощным CMS инструментом — это возможность использовать таблицу wp_postmeta для хранения собственных полей. Эти поля могут содержать дополнительную информацию, например SEO-поля, добавленные SEO плагином, или могут быть использованы для отображения дополнительного контента клиентской части.

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

Обучение работе с этими данными — хороший способ выучить базовые понятия PHP, такие как массивы, циклы и объекты. Чтобы полностью овладеть мета-данными WordPress, вы должны овладеть всеми видами массивов.

В этом руководстве я покажу вам разные способы работы с мета-данными WordPress записей, а также с мета-данными пользователей в качестве примеров работы с массивами.

Что такое мета-данные записи?

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

Также собственными полями могут быть дополнены профили пользователей WordPress. И как для таблицы wp_posts есть таблица wp_postmeta , так данные для пользователей хранятся в таблице wp_usermeta , а не в таблице wp_user .

В этой серии статей мы не будем говорить о том, как добавлять собственные поля в WordPress — это отдельная тема. Собственные поля могут быть добавлены в редакторе записи с помощью мета-блока » Произвольные поля «, могут быть добавлены напрямую плагином или темой, а также через использование специального фреймворка, по типу Pods или Advanced Custom Fields.

Технически, мета-данные записи — это любая информация, хранящаяся в таблице wp_postmeta . Как мы упоминали ранее, хороший пример мета-данных записи — поле мета-описания, которое добавляется плагинами типа WordPress SEO.

Методы получения мета-данных

Использование get_post_meta()

WordPress предоставляет множество способов получения мета-данных для записи.

С помощью get_post_meta() мы можем получить только одно поле, указав его. Например, чтобы получить поле под названием ‘ foo ‘ из текущей записи в цикле, мы можем сделать:

Обратите внимание, что последний переданный нами аргумент — true . Этот аргумент под названием » single » определяет, хотим мы получить в ответ отдельное значение или массив значений.

Использование WP_Query

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

Например, представьте, что у нас есть поле под названием » author_name » и мы хотим вернуть все записи, где в поле author_name содержится значение ‘ Tolkien ‘. WP_Query позволяет нам делать это очень просто — мы рассмотрим это подробнее в следующем руководстве этой серии.

Не записями едиными

Мета-данные есть не только у записей. Например, вы знаете все поля, которые доступны в профиле пользователя? Это мета-поля, но хранятся они не в wp_postmeta , а в таблице wp_usermeta .

В результате, у нас есть отдельные функции и классы для мета-данных пользователя. Функции get_user_meta() и get_author_meta() — эквивалент аналогичным командам записей. У WP_Query тоже есть свой эквивалент для пользователей — WP_User_Query .

Объекты или массивы

Когда вы используете функции типа get_post_meta() для получения более чем одного поля, вы, скорее всего, получите то, что называется многомерным массивом . Многомерный массив также известен как массив массивов. Каждый массив внутри многомерного массива может в свою очередь тоже быть многомерным.

Звучит страшно? Не бойтесь! В этой серии статей мы расскажем о том, как читать многомерные массивы для того, чтобы получить нужную вам информацию.

И наконец, как мы упоминали ранее, другой метод получения информации о записи — это использование WP_Query . Когда вы используете класс WP_Query, вы используете то, что называется объектно-ориентированным PHP, и в результате вы получаете не массив — вы получаете объект.

В некотором роде объекты похожи на массивы — они могут содержать массивы данных. Но к объекту вы можете применять любую функцию класса. То есть, мы можем не только использовать объект WP_Query для возвращения значения мета-поля, но также можем использовать его внутренние методы, самый популярный из которых — the_post() .

В следующем выпуске…

В данный момент мы рассмотрели разные типы мета-данных, способ их хранения и представления, а также способы их получения.

В продолжение этой серии статей мы рассмотрим подробнее каждый аспект таблиц мета-данных, связанные с ними API, а также как мы можем использовать их для внедрения новых функций в наши проекты.

Источник: http://hostenko. com/wpcafe/tutorials/wordpress-i-meta-dannyie-vvedenie/

Структура и таблицы базы данных WordPress

Приветствую своих читателей в новом году, пора приступать к работе! Рано или поздно вебмастеру пригодятся технические знания об устройстве WordPress, из каких файлов состоит тема и для каких функций они предназначены, как организована структура базы данных.

Сегодня моя новая статья будет посвящена базе данных MySQL, которая является неотъемлемой частью платформы WordPress. Поскольку WordPress самостоятельно взаимодействует с базой данных, то обычные пользователи не должны сильно волноваться о её структуре. Однако, вам может быть интересно узнать, как WordPress хранит свои данные и зависимости, если пишете свой плагин.

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

Поэтому я решил исправить ситуацию и перенести комментарий на другую релевантную страницу 😉 В базе данных в таблице wp_comments я нашёл этот комментарий и отредактировал строку таблицы, изменив значение поля comment_post_ID . Просто сменил ID записи к которой был отправлен комментарий на ID другой записи. После сохранения изменений в базе данных комментарий был успешно перенесён на другую страницу.

Таблицы, из которых состоит база данных WordPress

Сразу после установки WordPress база данных содержит таблицы, имена которых начинаются с префикса. При установке CMS появляется возможность задать свой префикс — это рекомендуется в целях повышения безопасности сайта.

Стандартный префикс wp_ при установке WordPress допускается не изменять. Если планируете создавать несколько сайтов с использованием одной общей базой данных, то обязательно для каждой установки задавайте разный префикс для таблиц 💡

  1. wp_commentmeta
  2. wp_comments
  3. wp_links
  4. wp_options
  5. wp_postmeta
  6. wp_posts
  7. wp_termmeta
  8. wp_terms
  9. wp_term_relationships
  10. wp_term_taxonomy
  11. wp_usermeta
  12. wp_users

Обратите внимание, если ваши таблицы не совпадают с моим списком, их больше или, наоборот, меньше, то причиной может оказаться несколько вариантов:

  • Установлена другая версия WordPress. На момент последнего редактирования текущей статьи актуальной версией является 5.0. Настоятельно рекомендую своевременно обновлять CMS.
  • Установлены плагины, которые создали в базе данных свои таблицы. Плагины также меняют содержимое таблиц, добавляя новые поля, строки и т. д.
  • В процессе установки WordPress был изменён стандартный префикс таблиц.

Итак, после чистой установки WordPress база данных будет содержать 12 таблиц. Давайте с ними познакомимся и узнаем для чего они предназначены, какую хранят информацию.

Описание и предназначение таблиц базы данных

Работая с базой данных в целях администрирования я использую панель phpMyAdmin. На вашем хостинге или сервере может быть установлено другое программное обеспечение.

Таблица wp_commentmeta

Каждый комментарий, оставленный на сайте, содержит метаданные — эта информация хранится в этой таблице. Например, если установлен плагин Akismet для защиты от спама, то он будет записывать в неё свои данные: одобрен комментарий или нет, имеется ли пометка о спаме.

Таблица wp_comments

Название этой таблицы говорит само за себя — здесь хранятся оставленные к записям комментарии. Именно в этой таблице я переносил комментарий с одной страницы на другую, о чём писал в начале статьи.

Помимо текста комментария в таблице хранится дополнительная информация, включая имя, электронную почту и сайт автора, IP-адрес с которого бы отправлен комментарий, дату, время и многое другое.

Таблица wp_links

Эта таблица раньше хранила ссылки блогролла на Кодекс, wordpress. org и другие ресурсы. На блоге у меня были удалены все ссылки из консоли, поэтому на скриншоте ниже есть надпись «Ссылок не найдено», а таблица пуста.

Теперь эта функция устарела, но при необходимости её можно включить с помощью плагина Links Manager.

Таблица wp_options

Хранит основные настройки WordPress, в том числе параметры, доступные для изменения в консоли администрирования. Кстати, таблица wp_options очень интересна для изучения, но зачастую после установки и последующего удаления плагинов содержит лишние строки. У меня есть отличное руководство по чистке базы данных от «мусора».

Таблица wp_postmeta

Хранит огромное количество данных о записях и страницах сайта: информацию о прикреплённых файлах (изображения, документы, видео), данные заполняемых полей при создании или редактировании записей. Некоторые плагины могут добавлять свою собственную информацию в эту таблицу. Например, плагин All in One SEO Pack хранит здесь Title, Description и Keywords.

Таблица wp_posts

Самое ценное — контент — сосредоточено в таблице wp_posts. В ней хранятся сведения об авторе статьи, дата и время публикации, дата и время последнего изменения, непосредственно тексты, статус записи (опубликовано, черновик, на утверждении) и ещё очень много информации.

Таблица wp_termmeta

Каждый термин (категории, метки и термины пользовательских таксономий) содержит информацию, называемую метаданными, и хранится в этой таблице. Скриншот не прилагаю, так как у меня эта таблица оказалась пустой. Метки и пользовательские таксономии при этом не использую.

Таблица wp_terms

Таблица содержит категории, метки и термины пользовательских таксономий.

Таблица wp_term_relationships

Сообщения связаны с категориями и метками из таблицы wp_terms и эта связь здесь поддерживается. Ассоциация ссылок на соответствующие категории также хранится в этой таблице.

Таблица wp_term_taxonomy

В этой таблице описаны таксономии (категории, теги) для записей в таблице wp_terms. Устанавливается очередность и вложенность категорий, которые могут быть родительскими и дочерними, вот таблица wp_term_taxonomy и отслеживает иерархию между ними.

Таблица wp_usermeta

Эта таблица хранит метаданные зарегистрированных пользователей, их персональные настройки и данные профиля, такие как цветовая схема, контактные данные, биография, никнейм и другие.

Таблица wp_users

И, наконец, на очереди последняя таблица — wp_users. Она содержит список зарегистрированных пользователей, их логин и пароль в зашифрованном виде, e-mail адрес, дату регистрации и другие сведения.

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

Источник: http://webliberty. ru/baza-dannyih-wordpress-ee-struktura-i-tablitsyi/