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

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 задач.

41 Ответ(а)
  1. сергей Ответ для сергей

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

  2. andcrew Ответ для andcrew

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

    • 9SEO Ответ для 9SEO

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

      • Tamber Ответ для Tamber

        This «free sharing» of ionfmration seems too good to be true. Like communism.

  3. andcrew Ответ для andcrew

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

  4. Андрей Ответ для Андрей

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

  5. Светлана Ответ для Светлана

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

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

    • 9SEO Ответ для 9SEO

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

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

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

      DELETE FROM wp_posts WHERE post_type = «revision»;

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

      • Светлана Ответ для Светлана

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

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

        • Светлана Ответ для Светлана

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

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

  6. gettuned Ответ для gettuned

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

  7. Julia Ответ для Julia

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

  8. Мексиканец Ответ для Мексиканец

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

  9. Денис Ответ для Денис

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

  10. Ирина Ответ для Ирина

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

  11. Таня Ответ для Таня

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

  12. порно ссылки Ответ для порно

    порно почти

  13. Тамара Ответ для Тамара

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

  14. Разработчик Ответ для Разработчик

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

  15. Виктор Ответ для Виктор

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

  16. AlexeyChop Ответ для AlexeyChop

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

  17. Строитель Ответ для Строитель

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

  18. denaie Ответ для denaie

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

  19. Санкт Петербург Ответ для Санкт

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

  20. webamator Ответ для webamator

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

    UPDATE wp_posts SET comment_count='0'

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

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

  21. Инна Ответ для Инна

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

    • Андрей Лем Ответ для Андрей

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

    • Андрей Лем Ответ для Андрей

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

  22. Геннадий Ответ для Геннадий

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

  23. Александр Ответ для Александр

    Здравствуйте, хорошая статья, узнал много чего интересного, но у меня есть вопрос: У меня много рубрик получилось и я решил многие поудалять, а записи из этих рубрик перенести в другие. Что будет с ссылками и реттвитами, они пропадут или останутся? И вообще как сделать удаление рубрик наиболее правильно и безболезненно?

  24. Серж Ответ для Серж

    Спасибо огромное за полезные команды… А то у меня комментирование вообще закрылось, хотя в админке я его открывал)))

  25. Gitaros Ответ для Gitaros

    Как массово перенести выбранные рубрики в под рубрику.

  26. Десятин Ответ для Десятин

    Спасибо! Таким образом быстро удалил все посты после кривого автопостинга! 🙂

  27. Irina Ответ для Irina

    Добрый день!

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

    очень нужно!

    спасибо! 🙂

    • Irina Ответ для Irina

      тег написать здесь невозможно. поэтому напишу его на русском: ноуиндекс

  28. Олег Ответ для Олег

    Спасибо огромное как раз искал

  29. Володя Ответ для Володя

    Как изменить названия комментария? Хочу вместо вместо «Комментарии» поставить «Рецензии». Помогите пожалуйста!!!

  30. Александр Ответ для Александр

    A как разрешить комментировать отдельную страницу/запись только администратору?

  31. Олег Ответ для Олег

    Спасибо за статью. Напишите еще, пожалуйста, как открыть сайдбар для всех сразу записей.

  32. Алексей Ответ для Алексей

    Очень интересная статья. Подскажите, можно ли каким-либо образом скопировать страницы в записи или наоборот на одном блоге.

  33. Иван Ответ для Иван

    Как раз искал способ перенести весь блог на другой домен.Кстити у вас самая информативная статья как это зделать.Спасибо.

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

Ваш e-mail не будет опубликован.