Как импортировать записи в wordpress
Экспорт и импорт WordPress штатными средствами CMS
Всем доброго времени суток! Тех, кому не часто приходится заходить в панель настроек собственного сайта, пусть не пугает малопонятный заголовок этой статьи, речь в ней пойдет о встроенной функции популярнейшего блогового движка, знать о которой необходимо каждому блогеру и вебмастеру – экспорт/импорт WordPress.
Не так давно я рассказывал о том, что после некоторых раздумий все-таки объединил два блога (основной и на поддомене) в один. С того времени прошло уже больше месяца, трафик, идущий на перенесенные статьи не пропал. Поэтому могу рекомендовать этот шаг тем, кто устал вести несколько личных блогов разных тематик одновременно, объединив все статьи «под общей крышей» единственного блога с продуманной структурой, а также тем, у кого один или несколько блогов находятся уже долгое время под фильтрами Яндекса и Гугла, занимая место на хостинге, но не получая трафика.
Думаю, многим приходилось сталкиваться с необходимостью переноса статьи (записи, страницы) со всеми медиафайлами (фотографиями, аудио- и видеофайлами) и комментариями с одного блога на другой. Перенести даже единственную средне иллюстрированную статью с несколькими десятками комментариев вручную – уже непростая задача. А если требуется перенести все без исключения записи WordPress с одного блога в другой?
Спешу вас порадовать: для этого имеются встроенные в систему (штатные) инструменты, позволяющие сделать импорт WordPress быстро и безболезненно ) Заодно расскажу о том, какую последовательность действий необходимо совершить, с чем можно столкнуться в процессе переноса, и что необходимо сделать после.
Как сделать перенос записей WordPress
1. Экспортируем данные из сайта-источника
Чтобы облегчить перенос содержимого блога в другое место, рекомендую провести небольшую предварительную работу на блоге, который вы собрались переносить, иными словами, удалить весь мусор: очистить папки со спамом (если таковой имеется), удалить черновики, неиспользуемые рубрики и теги, возможно, сразу удалить какие-то ненужные записи и страницы.
Встроенными в движок средствами можно сделать выгрузку содержимого с различными настройками. Для этого в консоли WordPress того блога, из которого вы хотите перенести статьи, необходимо перейти в меню Инструменты — Экспорт.
Как видим, при экспорте можно задействовать, как минимум, 3 варианта: экспортировать записи, экспортировать страницы, экспортировать все содержимое. Рекомендую использовать последний вариант, при котором в WordPress выгрузит в XML-файл все страницы, записи, комментарии к ним, а также все рубрики и метки.
Если же вам необходимо перенести только записи, можно выбрать соответствующий пункт и настроить фильтры: есть возможность сделать выгрузку записей по отдельной категории, автору, времени публикации и статусу (например, выбрать только все опубликованные записи).
То же, с небольшими поправками, относится и к страницам. Здесь присутствуют все те же фильтры, кроме рубрик.
При нажатии на кнопку Скачать файл экспорта всплывет стандартное окно открытия/сохранения файла. В зависимости от браузера, папка назначения для сохранения файлов может меняться. Кто хоть раз скачивал и сохранял на жесткий диск своего компьютера картинки, аудио и видеофайлы, знает, куда браузер сохраняет файлы. Иначе нужно будет посмотреть в настройках своего браузера путь сохранения для медиафайлов.
2. Загружаем данные на сайт-получатель
Перед осуществлением процедуры сделайте полный бэкап (резервное сохранение) принимающего блога и его базы у себя на хостинге — на случай, если импорт сайта WordPress завершится неудачей или результат импорта вас не устроит, тогда у вас будет возможность в течение нескольких минут вернуть все «как было».
Следующий шаг, который также рекомендую сделать перед тем как будет запущен импорт из XML-файла — отключить на время импорта все работающие плагины. Иногда плагины WordPress конфликтуют друг с другом, и заранее предугадать, с каким из включенных на блоге плагинов может возникнуть конфликт с плагином импорта, вряд ли возможно. Тем более, что плагин из официального репозитория, которым мы будем пользоваться, достаточно долго не обновлялся.
Доступ к функции импортирования данных находится там же, в консоли WordPress: Инструменты — Импорт. Только все последующие действия выполняются уже из консоли принимающего сайта (блога), в который осуществляется перенос.
Прежде всего, система управления контентом сама предложит установить плагин для импорта того типа данных, который требуется в каждом конкретном случае. Как видим, WordPress способен принимать записи даже из RSS и таких бесплатных блоговых платформ как Blogger и Livejournal. Нас же сейчас интересует только импорт страниц, записей и медиафайлов из блогового движка WordPress, нажимаем на соответствующую ссылку.
В открывшемся окне подтверждаем установку плагина импорта WordPress, затем активируем плагин. Вновь переходим к меню консоли Инструменты — Импорт и еще раз нажимаем на ссылку WordPress. Затем нажатием на кнопку Обзор показываем путь к ранее сохраненному файлу импорта на своем компьютере и нажимаем кнопку Загрузить и импортировать файл.
Бывает, что при нажатии этой кнопки в браузере слетает кодировка и кириллица перестает отображаться корректно, при этом на вновь открывшейся странице прочесть текст не представляется возможным:
В таком случае достаточно зайти в меню своего браузера Вид — Кодировка текста и выбрать Юникод.
На открывшейся странице можем выбрать вариант переноса авторов статей (они же — пользователи в консоли WordPress) из предложенных:
Поставив галочку в пункте Скачать и импортировать файлы вложений, мы даем добро и на импорт медиафайлов, которые, как правило, присутствуют в каждой статье.
Нажатие кнопки Отправить запускает процесс, иногда сопровождаемый сообщениями, подобными представленным на скриншоте ниже:
Приведенный выше скриншот показывает неудачный импорт нескольких галерей изображений, созданных используемым на исходном блоге плагином NextGen Gallery. Проблема довольно быстро была решена копированием файлов галерей на блог вручную, пересозданием миниатюр к ним и прописыванием новых ID галерей в постах. Выводимые движком сообщения в каждом конкретном случае будут различаться, поскольку конфигурации (версия WordPress, установленная тема, подключенные шаблоны) у всех разные.
Настройка редиректа (перенаправления)
Дальнейшие действия
Перенос множества статей на новое место сопряжен с дополнительными необходимыми работами на блоге-получателе контента. Как минимум, придется сделать следующее:
Остается лишь добавить, что перенос статей из одного блога на WordPress в другой — не такая уж и сложная процедура, как может показаться при чтении этой статьи. Всё у вас должно получиться с первого раза. Главное, не забывайте о предварительном резервном копировании блога-получателя.
WordPress импорт записей, рубрик и тегов — плагин WordPress Importer
Процедура импорта (будь то wordpress) или любая другая CMS позволяет добавить в базу данных определенную информацию — заметки, страницы, новости и т.п. В нашем случае мы будем говорить об импорте из специального файла формата eXtended RSS который также называется WXR файл. По счастливой случайности он содержит все, что есть в классическом вордпресс блоге — постры, страницы, пользовательские типы записей, комментарии, пользовательские поля (custom fields), категории, теги и пользователей. Если у вас имеется WXR файл, то импорт будет простым и эффективным — рассмотрим всю нюансы этого процесса.
Для начала пару слов, как получить такой WXR файл. Обычно он создается с помощью процедуры экспорта в wordpress в одноименном разделе меню. Вообще, по идее, нужно было бы с этого начинать, но там и рассказывать нечего — зайдите в раздел админки «Инструменты» — «Экспорт» и сами все увидите. Под разные задачи есть свои форматы, например, недавно рассказывал про экспорт в YML из Woocommerce в Яндекс Маркет для продукции магазина.
Также этот WXR файл можно получить из специальных программ, скажем тот же Зеброид или другие парсперы-постеры могут «на выходе» отдавать нужный вам формат (у вебмастеров вообще много интересного софта). Кстати, импортировать в wordpress можно с очень многих движков — на этой странице найдете полный их список. Кроме стандартных и популярных Blogger, Drupal, e107, Joomla, LiveJournal, Movable Type, PostNuke, Twitter, TypePad есть возможность «обрабатывать» RSS feed, [X]HTML и CSV файлы, а также статические страницы! Для каждого варианта имеется плагин или описание нужных действий по импорту.
Но вернемся все же к импорту из wordpress файла. Для этого заходим в раздел админки «Инструменты» — «Импорт«. Здесь располагаются некоторые базовые варианты, в том числе WordPress. Кликнув по нему в большинстве случае увидите всплывающее окно с просьбой установить специальный плагины — WordPress Importer.
Данный модуль можно загрузить отсюда. Он позволяет импортировать все содержимое блога — от записей и страниц до тегов и комментариев из специального файла экспорта WXR. Установка плагина занимает считанные минуты — вам нужно скачать, разархивировать модуль и загрузить его на ФТП блога в директорию /wp-content/plugins/. Либо же из самой админки WP в разделе плагинов находите WordPress Importer и устанавливаете там.
Как только модуль WordPress Importer будет подключен в разделе «Импорт» при клике по ссылке Wodpress вы будете попадать на специальную страницу.
Внимание, первым делом перед импортом советую сделать бэкап базы данных. Все может быть: и процесс пойти не так, и окончательный результат вас не устроить — в любом случае для того чтобы быстро вернуться к «начальной версии сайта» пригодится этот бэкап.
Когда резервная копия сохранена на компьютере, приступаем непосредственно к процессу импорта. На этой же странице кликаете по кнопке «Обзор» и выбираете исходный WXR файл импорта. Дальше жмете на «Загрузить и импортировать файл».
На следующем шаге вас попросят уточнить две вещи:
Для нового пользователя, кстати, требуется будет потом установить пароль, почту и его права доступа. Как только файл будет импортирован, нужно проверить сам блог — все ли загрузилось, корректно ли отображаются новые посты, категории, метки и т.п..
Кстати, для загрузки файлов, выполнения скриптов в разных хостингах выделяются разные ресурсы, у меня например, загружаются файлы до 8Мб. Что касается времени выполнения скрипта импорта, то для него может не хватить значения PHP memory limit. В посте про то как увеличить memory_limit для wordpress можете найти решение проблемы или обратиться к своему хостеру с просьбой помочь. Также есть вариант разбить импортируемый файл на несколько штук поменьше. В целом задача импорта не такая уж и сложная, если у вас есть подходящий и рабочий WXR файл со всем нужным контентом.
Как быстро наполнить сайт на Вордпресс с помощью плагина «WP All Import»
Никогда не понимал людей, усложняющих свою жизнь. Всё таки любое разумное существо стремится получить максимальный результат с минимальными затратами. Причем существа с более высоким уровнем развития ценят своё время намного выше, как мне кажется.
В век стремительного роста информационных технологий и их проникновения буквально во все сферы жизнедеятельности, всё более странно выглядят рутинные действия, выполняемые человеком. Нам на помощь пришли машины для упрощения нашей жизни. И нам остаётся лишь делегировать им максимально возможный объём работ и грамотно управлять процессами.
Одной из таких рутин является процесс наполнения сайта контентом. Не его генерация, а именно наполнение, особенно большим количеством сложно структурированного контента. О том как упростить работу контент-менеджера, сократить их штат, и пойдет сегодня речь.
Как не надо наполнять сайт
Возьмём конкретный случай, с которым сталкиваются многие владельцы сайтов. Допустим, вы написали для сайта статьи или заказали их копирайтерам на Адвего. Их происхождение по-сути неважно. Понятно, добавить десяток статей, отформатировать, присвоить им миниатюры и рубрики не так уж и сложно. Вопросы начинают появляться когда статей не 10, а 100, допустим, или 1000, а то и более.
Или другой более сложный пример — наполнение каталога некими товарами или объектами. Что часто бывает необходимо в интернет-магазинах, на сайтах с базами недвижимости, различным медиа-контентом, радиостанциями, расписаниями и прочим. Задача может сильно усложниться, если объекты содержат метаданные с описаниями, характеристиками, координатами, ценами, фотографиями и прочим. Не стоит забывать и про таксономии, без которых сложно представить любой каталог. Чтобы внимательно заполнить и проверить один сложный объект каталога или карточку товара, я думаю, потребуется не менее 15 минут. Хорошо, если объектов не много. За восьмичасовой рабочий день вполне можно добавить около 30 единиц, а за рабочую неделю аж 150. А если элементов несколько тысяч — уже могут уйти годы. И это без учёта времени на внесение текущих изменений.
К сожалению, мне в моей практике много раз приходилось видеть, как владельцы сайтов тратили огромные средства на зарплаты контент-менеджерам, каким-то мнимым программистам, которые изо дня в день вручную, пребывая в абсолютном трансе, забивали, перебивали огромные массивы данных.
Это не правильно, необходима оптимизация труда, оптимизация трудовых процессов.
Как нужно наполнять сайт
Как уже говорилось выше, все рутинные действия должны выполняться компьютером, а контент-менеджер, оператор должны заниматься подготовкой контента, его проверкой, управлением.
Технически это выглядит следующим образом: есть некая таблица, где каждая строка соответствует записи, а в колонках хранятся её параметры и метаданные.
Согласитесь, ведь куда проще внести 100 правок в 100 ячейках таблицы, например, чем 100 раз открыть редактор страниц вашей CMS, внести изменения, сохранить и т.д. А если задействовать всю мощь Excel с его умными фильтрами, поиском, заменами и прочим, решение может быть вообще в паре-тройке кликов.
Наполнение WordPress
WordPress мало чем отличается от большинства других CMS в своём классе, его штатные средства импорта/экспорта данных так же очень примитивны.
Но как часто бывает, для WordPress существует целый класс плагинов импорта табличных данных популярных форматов, таких как: CSV, XLS, XML и т.д. Есть даже такие монстры, которые могут с какой-то периодичностью осуществлять их синхронизацию.
Из бесплатных плагинов импортирования я бы выделил следующие:
Выбор коммерческих плагинов гораздо шире, как обычно. Равно как и их функционал.
Все выше представленные плагины проверены и заслуживают внимания. Но я, пожалуй, остановлюсь подробнее на WP All Import, а точнее на его коммерческой версии WP All Import Pro. С помощью него мы сегодня и попробуем импортировать небольшую таблицу.
Мощный плагин WordPress импортирования контента из CSV/XML и других популярных форматов. Умеет загружать метаданные, изображения, поддерживает синхронизацию, работу по расписанию и многое другое.
На данный момент стоимость плагина составляет 99 USD, c поддержкой WooCommerce — 139 USD, т.н. элитный бандл со всеми аддонами обойдётся в 199 USD. Да, цена заметно выше конкурентов, но всё равно несравнимо ниже зарплаты контент-менеджера или стоимости услуг фрилансеров.
Рассмотрим рабочий пример
Имеется некий информационный ресурс с каталогом музыкальных дисков.
Все диски вынесены в произвольный тип записей (CPT) «Релизы» (releases), где каждый из релизов имеет в качестве заголовка записи название и 4 произвольных поля:
Открываем Excel, создаём таблицу с 5-ю соответствующими колонками: 1 — заголовок и 4 колонки с метаданными. Не забываем дать колонкам осмысленные имена, потом с ними будет проще ориентироваться.
Сохраняем таблицу в формате Книга Excel 97-2004 (.xls).
Я не очень хорошо разбираюсь в форматах Excel. Из всех имеющихся выходных форматов Microsoft Excel for Mac 15.25.1, который я использовал в примере, самым безболезненным оказался именно Excel 97-2004. Более традиционный CSV/XML почему-то некорректно работал с дефолтными кодировками. Я не разбирался в причинах — скорее всего Excel выдает не UTF-8. Менять же кодировку на данном этапе каким-то дополнительным софтом в мои планы не входило. Не исключено, что проблема решается какой-то одной галочкой в настройках Excel.
Импорт XLS в WordPress
Открываем администраторскую консоль WordPress и переходим в раздел «All Import».
Шаг 1
Загружаем ранее созданную таблицу (Upload a file), выбираем нужный тип записей, в нашем случае это «Релизы» и переходим ко второму шагу.
Шаг 2
На втором этапе редактировать ничего не будем. Если структура вашей таблицы стандартная, оставляем всё как есть — node.
На данном этапе также можно отфильтровать записи, исключив из импорта ненужные или, наоборот, включив в импорт только записи содержащие какой-то маркер.
Шаг 3
Третий шаг самый сложный и самый ответственный, именно на данном этапе задаются все правила импорта, именно сейчас мы определяем куда будет сохранена каждая колонка таблицы.
Для этого просто перетаскиваем (drag-and-drop) мышкой необходимые колонки таблицы в соответствующие поля записи. В нашем случае это заголовок и 4 произвольных поля: artist, release_date, cover_front и cover_back.
Тело записи, анонс, миниатюра, изображения при необходимости задаются аналогичным образом. На данном этапе можно сохранить шаблон распределения данных для будущих импортов.
Шаг 4
Задаем уникальный идентификатор. Постарайтесь на допускать совпадения идентификаторов, иначе импортируемые данные могут быть перезаписаны и потеряны.
Сейчас также нужно решить, будем ли перезаписывать существующие записи при их совпадении, нужно ли удалять записи, если их нет в импортируемой таблице, а также определяемся каким образом будем обновлять существующие записи: создавая новые или перезаписывая старые.
Это очень важный момент, который ведет к принципиально разным результатам импортирования. Затем кликаем на кнопку «Continue» и переходим непосредственно к импорту.
Импорт
Ещё раз все проверяем и если нет никаких ошибок и предупреждением, кликаем по кнопке «Confirm and Run Import»
Если же у вас свой или арендованный сервер, не забудьте перед импортом увеличить максимально допустимое время выполнения скрипта, т.к. процесс может затянуться.
В случае успешного импорта, получим соответствующее уведомление: Import Complete! WP All Import successfully imported your file Releases.xls into your WordPress installation!
Чтобы удостовериться, что все прошло успешно, открываем список соответствующего типа записей, в нашем случае «Релизы». Все 15 записей импортированы.
Управление импортом
Огромным плюсом плагина WP All Import Pro является то, что все ранее произведенные импортирования сохраняются в разделе «Manage Imports». Если процедура импорта записей носит регулярный характер, вовсе необязательно каждый раз её настраивать заново. Достаточно нажать «Run Import» и загрузить новую табличку по ранее заданным правилам. Это делается буквально в один клик.
В заключение
Как видим, благодаря плагинам, в WordPress можно наладить вполне рабочий механизм импорта, экспорта и синхронизации данных. Поддерживая таким образом актуальность данных в соответствии с источником, которым могут служить любые табличные данные. Например, выгрузки из 1С, различные данные, полученные из других специализированных приложений, показания каких-то приборов, собранную вручную информацию и многое другое. Продолжать можно бесконечно.
На примере плагина WP All Import Pro мы убедились, что механизм работает, отлично справляется с поставленными задачами и существенно упрощает работу контент-менеджера. Скорее даже полностью меняет принцип, подход, концепцию.
А всё это открывает совершенно новые горизонты использования WordPress.
Делаю сайты на Вордпресс с 2008 года. Не просто сайты, а уникальные инструменты для решения сложных бизнес‑задач с оптимизацией и поддержкой.
Добрый день, WP All Import — платный же плагин для импорта?!
Добрый день, насколько я помню бесплатная версия не умеет работать с произвольными полями, а товары вряд ли без них. Более того, для Вукомерс у них продается отдельный аддон. Дороговато, но оно того стоит, один раз настроил и забыл. На варезниках все есть, попробуйте.
Михаил, добрый день! В примерах PRO версия, она поддерживает импорт метаданных, внешних файлов, изображений, есть крон, поддержка PHP-функций. Для импорта товаров бесплатной версии не хватит. Более того, если речь идет о Вукомерсе, для него есть дополнение стоимостью 139$ (включая стоимость PRO версии). К сожалению, бесплатных плагинов, которые могли бы в полном объеме заменить WP All Import Pro, я не встречал.
Если хотите, могу вам для экспериментов выслать PRO версию.
Иван, добрый день!
Подскажите могу ли я у Вас приобрести копию плагина WP All Import Pro — мне необходимо импортировать вариативные товары. К сожалению у официального продавца купить не могу — вот что они мне пишут: «Мы сожалеем, но американские правила в настоящее время мешают нам обслуживать пользователей в Крыму. Пожалуйста, свяжитесь support@stripe.com если вам нужна помощь.»
Согласен, по вариативным товарам на сайте разработчика есть хорошая статья с примерами и видеоинструкцией — http://www.wpallimport.com/documentation/woocommerce/variable-products/
В крайнем случае можно ведь поиском с заменой по всему файлу перед каждым тегом поставить этот слеш.
Спасибо тебе за труды.
Твои статьи одни из самых полезных, на которые я натыкался в интернете (в частности статья про «Мультисайт», сейчас по ней делаю сайт).
Буду тебе признателен, если подскажешь.
У меня мультисайт с региональными поддоменами, и есть XML-база товаров по каждому региону (в отдельном столбце прописано название региона).
Возможно ли как-то разово импортировать базу (через тот же All Import Pro), сразу во все поддомены?
Разбивать базу под каждый регион и отдельно импортировать — невероятно трудозатратно (регионов больше 100).
Александр, привет!
Благодарю за добрые слова.
Насколько я помню, WP All Import не умеет работать с мультисайтом.
Можно импортировать их все на один из сайтов сети, присвоить метку/категорию региона, а потом с помощью какого-нибудь Multisite Post Duplicator по этим меткам их пачками раскидать по своим сайтам. Или через нативный экспорт/импорт.
А на полном автомате даже не знаю.
Наверное, только писать свой скрипт прямого импорта в БД, идентифицировать у каждого товара регион и раскидывать по заранее определенным таблицам.
Требуется загрузить файл JSON с таким содержанием (около 700 элементов:
Антон, прочтите статью со слов «Рассмотрим рабочий пример…», там рассмотрен пример, схожий с вашим
JSON, XML поддерживаются, да
Михаил, добрый день! С простыми товарами должен справиться Product Import Export for WC и ему подобные.
По вариативным затрудняюсь ответить — бесплатных не встречал.
Может быть кто-то из читателей знает, напишите плиз
Все зависит от объема импортируемых данных, скорости соединения с донором (если загружаются изображения)
Смотрите какое максимальное время на выполнение скриптов (max_execution_time) доступно на тарифе. Еще встречаются хостинги, где максимум 30 сек.
Но если нужно спарсить весь условный АлиЭкспресс, тут однозначно потребуется свой сервер.