7 WordPress задач и их решение

Большинство блоггеров используют в качестве движка WordPress. Не только потому что  этот движок распространен, но и потому что он почти идеален для блоггинга.  Работа с WordPress легка и не требует каких-либо навыков, но иногда перед веб-мастером / блоггером встают задачи, которые сложно решить, без дополнительных знаний. В этом посте я написал 7 задач, с которыми я сталкивался и их решение.

Задача 1. Открыть или закрыть комментирование в блоге для всех постов
Я сталкивался с ситуацией, когда на одном моем WordPress сайте было 107 записей. Во всех записях комментирование было закрыто, а я захотел, чтобы посетители оставляли свое мнение о записях, т.е. возникла необходимость открыть комментирование. Чтобы не изменять по отдельности каждую запись и сэкономить время нужно сделать следующие шаги.

Решение:
1) Войти в панель управления хостинга (Direct Admin, CPanel и др.);
2) Далее зайти в PHPMyAdmin, выбрать нужную базу данных и перейти на вкладку “SQL”, где можно выполнять SQL-запросы к базе данных.
3) Ввести в поле один из запросов:

Если нужно массово запретить комментирование во всех постах:

UPDATE wp_posts SET comment_status='close';

Если нужно массово разрешить комментирование во всех постах:

UPDATE wp_posts SET comment_status='open';

Если необходимо разрешить комментирование во всех постах только зарегистрированным посетителям блога:

UPDATE wp_posts SET comment_status='registered_only';

Задача 2. Разрешить или запретить трэкбеки и пинги для всех постов
Решение:
1) Войти в панель управления хостинга (Direct Admin, CPanel и др.);
2) Далее зайти в PHPMyAdmin, выбрать нужную базу данных и перейти на вкладку “SQL”, где можно выполнять SQL-запросы к базе данных.
3) Ввести в поле один из запросов:
Если нужно массово запретить трэкбеки и пинги для всех постов:

UPDATE wp_posts SET ping_status = 'close';

Массово разрешить трэкбеки и пинги для всех постов:

UPDATE wp_posts SET ping_status = 'open';

Задача 3. Массово удалить все посты из блога.
Если вам по каким-то причинам необходимо удалить все записи из блога и записей довольно много, чтобы делать это вручную, то можно вновь обратиться к SQL.

Решение:
1) Войти в панель управления хостинга (Direct Admin, CPanel и др.);
2) Далее зайти в PHPMyAdmin, выбрать нужную базу данных и перейти на вкладку “SQL”, где можно выполнять SQL-запросы к базе данных.
3) Ввести в поле следующий запрос:

DELETE FROM wp_posts WHERE post_type = "post";

Задача 4. Массово удалить все комментарии либо еще не одобренные комментарии.
На одном своем «сайте» я забыл поставить плагин, который борется со спамом. В итоге за неделю спамерами было оставлено около 400 сообщений, которые ожидают одобрения. Естественно, удалять комментарии по одному – это слишком долго и тяжело. Проще вновь воспользоваться SQL – запросом.

Решение:
1) Войти в панель управления хостинга (Direct Admin, CPanel и др.);
2) Далее зайти в PHPMyAdmin, выбрать нужную базу данных и перейти на вкладку “SQL”, где можно выполнять SQL-запросы к базе данных.
3) Ввести в поле один их запросов:
Если необходимо удалить не одобренные комментарии во всех записях:

DELETE from wp_comments WHERE comment_approved = '0';

Если необходимо удалить одобренные комментарии:

DELETE from wp_comments WHERE comment_approved = '1';

Задача 5. Перенести все записи из одной рубрики в другую.
Решение:
Для этой цели уже написан WordPress плагин Mass Post Manager.
Кроме переноса записей из одной категории в другую (Move all posts to a new category), этот плагин может:
- Удалять все записи из определенной категории (Delete all posts in category)
- Удалять все комментарии во всех записях определенной категории (Remove all comments in all posts from category, where state is)

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

Решение:
1) Зайти в админку блога, с которого необходимо перенести/скопировать записи (blog.ru/wp-admin)
2) Перейти в «Инструменты» – «Экспорт», выбрать: экспортировать всё или записи только определенного автора и нажать кнопку «Ок». После этого на жесткий диск(в указанное место) будет скопирован файл экспорта.
3) Зайти в админку блога на который необходимо перенести/скопировать записи
4) Перейти в «Инструменты» – «Импорт», далее выбрать:

WordPress Импорт записей, комментариев, произвольных полей, страниц, рубрик и меток из файла экспорта WordPress.

5) Кликнуть “Обзор“, выбрать файл, который был сохранен на пункте 2 и нажать на кнопку «Загрузить и импортировать файл».
Готово.

Задача 7. Перенести WordPress блог на другой домен.
Предположим, нужно изменить имя домена блога. Новый домен уже есть. Теперь нужно перенести все файлы и базу данных блога на новый домен так, чтобы все настройки и данные сохранились.

Решение:
1) Перенести все файлы WordPress на новый домен.
2) Сделать бэкап(резервное копирование) базы данных блога. Для этого в phpMyAdmin кликнуть на вкладке «Экспорт». Далее поставить галочку напротив «Сохранить как файл» и нажать «Ок». (Если база данных слишком большая желательно упаковать базу в zip, gzip). После этого файл базы данных будет сохранен на диск.
3) Создать новую базу данных MySQL для нового домена. В phpMyAdmin кликнуть на вкладке «Импорт». Выбрать файл, который получили на первом пункте и нажать «Ок». Дальше должна появиться надпись, сообщающая об успешном импорте:

Ваш SQL-запрос был успешно выполнен:
Содержимое файла было импортировано.

4) Изменить файл wp-config.php (изменить имя базы, если требуется – имя пользователя и пароль).
5) Теперь необходимо поменять все старые url в базе данных на новые. Для этого нужно зайти в phpMyAdmin на вкладку SQL и в поле ввода ввести следующие запросы.

*oldsite.com – url старого домена, newsite.com – url нового домена

Заменяется url/адрес блога в настройках:

UPDATE wp_options SET option_value = replace(option_value, 'http://oldsite.com', 'http://newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';

Заменяется URL (guid) каждого поста:

UPDATE wp_posts SET guid = replace(guid, 'http://oldsite.com','http://newsite.com');

Заменяется url во всех постах:

UPDATE wp_posts SET post_content = replace(post_content, 'http://oldsite.com', 'http://newsite.com');

Готово. Перенос сайта состоялся – все должно корректно работать на новом домене.

Надеюсь, вам пригодились или пригодятся в будущем данные решения этих 7 задач.

Схожие по теме записи, измышлизмы и посты:

29 комментариев

  1. сергей | комментариев: 1
    08.03.2009, 08:53 | Ссылка

    вот спасибо. как раз занимаюсь переездом на другой домен. полезный пост. спасибо !

  2. andcrew | комментариев: 24
    10.03.2009, 16:15 | Ссылка

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

    • 9SEO | комментариев: 104
      11.03.2009, 13:13 | Ссылка

      Если я правильно понял, то Вам нужно удалить ссылку с изображения. Для этого, когда пишите пост, в режиме визуального редактора кликните левой кнопкой мыши на картинку и нажмите кнопку удаления ссылки:

      • Tamber | комментариев: 1
        15.12.2011, 16:01 | Ссылка

        This “free sharing” of ionfmration seems too good to be true. Like communism.

  3. andcrew | комментариев: 24
    11.03.2009, 18:26 | Ссылка

    9SEO, спасибо огромное. Как я только не догадался(

  4. Андрей | комментариев: 1
    12.03.2009, 01:24 | Ссылка

    Спасибо за инфу. Полезно для меня. Особенно мне пригодилась решение задачки 4. Спама накопилось море :(

  5. Светлана | комментариев: 150
    22.03.2009, 14:14 | Ссылка

    Подскажите, пожалуйста: вывод списка”Схожие по теме записи” на этом блоге делается каким-то плагином?

    И еще, накопилось много “мусора”, сохраненные ревизии к записям (через сохранение черновиков), и надо сделать уборку. Увидела плагин, позволяющий стереть лишние ревизии (del_revisions.php). У меня он почему-то не встал. Действительно ли удаление ревизий существенно ускоряет работу WP?

    • 9SEO | комментариев: 104
      26.03.2009, 05:04 | Ссылка

      Плагин, который выводит схожие записи называется WordPress Related Posts.

      Насчет удаления ревизий…Не рискуйте ставить какой-то плагин, лучше делайте все сами. А именно:

      - Зайти в PHPMyAdmin, выбрать нужную базу данных и перейти на вкладку “SQL”
      - Ввести в поле запрос на удаление всех ревизий:

      DELETE FROM wp_posts WHERE post_type = “revision”;

      Не знаю, ускорит ли это работу, но база данных может стать меньше в разы…

      • Светлана | комментариев: 150
        26.03.2009, 05:42 | Ссылка

        Я все-таки установила плагин, и база облегчилась на 50% (видно из объема присылаемого резерва).
        На следующем (планируемом) блоге попробую больше работать “ручками”.

        WordPress Related Posts будет отбирать сам, что показывать? А если первоначально я не совсем правильно прописывала метки? Можно ли по ходу дела исправить?

        • Светлана | комментариев: 150
          26.03.2009, 06:31 | Ссылка

          Прекрасно установился WordPress Related Posts, показывывает то, что хочет, то есть демонстрирует, как непредусмотрительно я раньше ставила метки. :(
          Кошмар!
          Хорошо, что постов не много, буду править потихоньку.

          Спасибо за помощь.

  6. gettuned | комментариев: 1
    29.07.2009, 08:57 | Ссылка

    Интернет-магазин автотюнинга GetTuned.ru. Продажа, поиск, подбор доставка новых и б/у оригинальных тюнинг-запчастей на японские авто. Покупка любых товаров с аукционов Японии и США. Изготовление и ремонт изделий из стеклопластика и карбона. Разработка тюнинг-проектов. Поиск и покупка эксклюзивных авто в Японии и США Продажа литья и резины. Прошивка мозгов на Nissan и Toyota. Покупка любых товаров с аукциона Yahoo.

  7. Julia | комментариев: 1
    23.09.2009, 08:35 | Ссылка

    ДА, спасибо, полезная запись, может напишите еще какие то функции для БД ? =)

  8. Мексиканец | комментариев: 2
    22.10.2009, 09:41 | Ссылка

    Отличный пост! Была проблема поменять имя домена на wordpress – sql запросом я все сделал!

  9. Денис | комментариев: 1
    25.11.2009, 17:29 | Ссылка

    Подскажите, как массово перераспределить посты по рубрикам, чтобы при этом ссылки остались целыми, чтобы страницы не выпали из поисковиков?

  10. Ирина | комментариев: 1
    19.12.2009, 14:40 | Ссылка

    Перенесла блог на новый домен по вашей инструкции.Спасибо.Но у меня проблема с поддоменом.Поменяла все url,но выводит сообщение ‘Сервер не найден’.Помогите пожалуйста.

  11. Таня | комментариев: 1
    28.12.2009, 13:43 | Ссылка

    Очень приятно, что остались ещё такие как вы!

  12. порно ссылки | комментариев: 1
    02.01.2010, 17:51 | Ссылка
  13. Тамара | комментариев: 1
    02.01.2010, 21:58 | Ссылка

    Попробуем так, спасибо!

  14. Разработчик | комментариев: 1
    23.01.2010, 11:16 | Ссылка

    По №1. Т.е. получается, что галка “Разрешить оставлять комментарии на новые статьи” работает только на статьи, написанные с момента установки/снятия этой галки? А я мучился, как комментирование закрыть для всех постов, а то спамеры замучали.

  15. Виктор | комментариев: 6
    16.02.2010, 02:07 | Ссылка

    Всем хорош WP, но его последние версии жрут довольно таки много ресов хостинга((

  16. AlexeyChop | комментариев: 5
    20.02.2010, 16:25 | Ссылка

    Доброе время суток! Я работаю журналистом в одном из новых издательств и как раз ныне пишу статью по подобной Вашей тематике! Не могли бы Вы дать разрешение на публикацию Вашего материала в нашем печатном изданииб естественно с указанием ссылки на данную статью! Заранее благодарен!

  17. Строитель | комментариев: 1
    21.03.2010, 17:09 | Ссылка

    Сменил урл в базе с помощью запросов, как вы написали. Всё прошло гладко и быстро. Большое спасибо!

  18. denaie | комментариев: 9
    22.05.2010, 16:07 | Ссылка

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

  19. Санкт Петербург | комментариев: 1
    29.06.2010, 22:32 | Ссылка

    Как сделать данный вариант для нашёго сайта?

  20. webamator | комментариев: 1
    11.01.2011, 22:17 | Ссылка

    автор, 7 конечно хорошее число но тема удаления комментов раскрыта не полностью – допишите 8-ое решение ))
    если просто выполнить такой запрос как вы пишите, под каждым постом будет показываться кол-во комментов (хотя самих комментов уже не будет)
    лечится еще одним запросом:

    UPDATE wp_posts SET comment_count='0'

    и по-русски, если блог вырежет код:

    АПДЕЙТ вп_пост СЕТ коммент_каунт=’0′

  21. Инна | комментариев: 1
    06.12.2011, 13:35 | Ссылка

    А что нужно сделать в админке – или с помощью плагина, чтобы получать на свою почту резервные копии блога? И как, если что, из последней потом восстанавливать блог?

    • Андрей Лем | комментариев: 3
      09.12.2011, 01:44 | Ссылка

      Инна, здесь есть подробный ответ ht_tp://bit.ly/eUUYyq. Только уберите подчеркивание.

    • Андрей Лем | комментариев: 3
      09.12.2011, 01:47 | Ссылка

      А еще спасибо за пост. Реально помог быстро удалить 6к спам комментов. В ручную бы я долго их удалял.

  22. Геннадий | комментариев: 1
    15.01.2012, 14:05 | Ссылка

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

Оставить комментарий

*
*

Вы можете использовать следующие HTML-тэги и атрибуты:  <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>