Click

Генерация XML для импорта в wordpress – создаем сателлит

Схема XMLВ своей записи о размножении контента для создания сателлитов или продвижения сайта с использованием бесплатной программы для клонирования статейArticle Clone Easy” я отмечал теги, которыми размечаю размноженные статьи и обещал рассказать, для чего мне это нужно, а также выложить скрипт, которым в дальнейшем обрабатываю результаты клонирования:

“Вы наверняка обратили внимание на теги, которыми я оформляю заголовок, тело, порядковый номер и метки стать. Остановлюсь на них…”

С удовольствием исполняю обещанное :)
Итак, исходная статья успешно размножена (шаблон с примером по-прежнему доступен) и из нее получено N новых уникальных статей. WordPress правильной сборки установлен и настроен. Дело за малым – загрузить наш свежесозданный контент в слог и наслаждаться результатом!

В одиночный сателлит (скрипт для массовой публикации в блоги wordpress тоже будет опубликован, не пропусти!) контент проще всего, по-моему, загрузать, используя импорт XML, встроенный в движок wordpress. Именно этим путем я и намерен двигаться.

Что мы имеем на входе? На входе мы имеем файл, состоящий из множества записей вида:

<article_id>1</article_id>
<header>Yandex</header>
<body>Яndex — IT-фирма из Росии, являющая владельцем одноимённой системой поиска в Сети и интернет-порталом. <strong>Поисковая</strong> <strong>система</strong> «Яндекс» является 2-м по значимости неанглоязычным поисковым сервером после китайского Baidu и восьмой среди крупнейших <strong>поисковых</strong> <strong>сайтов</strong> мира по количеству обработанных <strong>поисковых</strong> запросов.</body>
<tags>yandex,поиск,яндекс,поисковая система</tags>
<category>Поиск,СЕО</category>

Примечание: тег “<article_id>” в данном способе массовой загрузки статей в wordpress не используется, но удалять его не слудует. Он нам ещё понадобится.

Данный файл, а точнее – записи из него нам нужно импортировать в наш wordpress-сателлит. Для решения указанной задачи и предназначен мой бесплатный скрипт под названием ACE-WPXMLCreator (домашняя страница).

Порядок работы с ним таков:


  1. Перекодировать исходный файл со статьями в Юникод  без использования BOM (UTF-8 without BOM). Под *nix это естественней всего будет сделать при помощи iconv:

    1
    iconv FILE -f CP1251 -t UTF8 -o utf8-FILE

    ну а под windows рекомендую использовать бесплатный текстовый редктор “Notepad++“.

  2. Запускаем скрипт, указав в опциях вызова путь до исходного файла, а также, при желании, некоторые необязательные параметры:
    $./ACE-WPXMLCreator.pl articles_example.txt example_satellit.xml 2 open close (на опциях запуска подробней остановлюсь дальше).
  3. Импортируем получившийся в результате работы скрипта xml-файл при помощи штатного инструмента импорта wordpress.

А теперь – подробности.

Опции запуска следует указывать в таком порядке:

1. Обязательные опции:

articles_example.txt – имя исходного файла со статьями для сателлита;

2. Необязательные опции:

example_satellit.xml – имя выходного файла, называйте как захочется;
2 – количество статей, которые должны быть опубликованы за одни сутки, время публикации берется случайным образом. Данная опция позволит придать “человечность” вашему сателлиту, т.к. встроенный механизм отложенной публикации wordpress будет публиковать все запланированные статьи при наступлении указанного времени публикации.
Например, если у вас 5 статей и вы укажете публиковать по 2 за сутки, то на первые сутки будут запланированы к публикации 2 статьи, на вторые сутки – 2 статьи, на третьи сутки – оставшаяся 1 статья;
open – статус комментариев. open – разрешены, close – запрещены;
close – статус “пингбеков”. аналогично предыдущему.

Импорт статей в сателлит тоже несложно сделать:

1. Заходим в админку, далее Инструменты – Импорт – WordPress;
2. Выбираем созданный скриптом xml-файл со статьями для сателлита, жмём “Загрузить и импортировать файл“:

Загрузка XML3. Указываем, за чьим авторством будут числиться импортированные статьи. Можно создать нового автора, можно назначить уже существующего. Поддержки импорта вложений пока нет – соответственно галку можно не ставить. Нажимаем “Подтвердить“:

Назначение автора4. Вопреки радостной надписи, советующей “наслаждаться”, мы ещенемного поработаем :)

Блог успешно импортированА именно – идём в “Записи – Редактировать“. Необходимости в этом нет, но лично я предпочитаю лишний раз убедиться в правильности произведенных манипуляций. Убеждаемся, посмотрев на дату публикации записей:

Проверяем записиЗаписи запланированы для публикации и будут опубликованы автоматически, ваше участии более не требуется :)

Фактически, мы только что создали сателлит на wordpress за 5 минут!

В чём минус такого подхода (разового импорта контента в wordpress через xml)? Да в том, что весь контент (по крайней мере – большая его чатсть) должен быть готов заранее. Второй скрипт массовой публикации в блоги, который я обещал опубликовать, избавлен от этого недостатка.

В планах:

  1. Импорт картинок, находящихся в одной директории с исходным файлом;
  2. Разбивка итоговых файлов на части размером менее 2-х Мб (столько максимально позволяет за один раз импортировать движок wordpress);
  3. Заставить работать раскладку по категориям.

И как обычно, в завершение вы можете скачать сам скрипт для создания XML-шаблонов wordpress. В архиве находятся три файла:
ACE-WPXMLCreator.pl - исполняемый файл скрипта, для работы требует установленного интерпретатора Perl (например ActivePerl). Не забудьте выставить правильные права доступа к исполняемому файлу, в случае *nix-систем;
articles_example.txt – пример исходного файла со статьями для сателлита;
wp-satellit.xml – результат работы скрипта.

Онлайн-версия WPXMLCreator!
Удачи! :)

Еще на похожие темы:

Category Рубрики: seo, WPXMLCreator, Кодинг | Tag Метки: , , , , | Comments 58 комментариев

Comments

58 комментариев to “Генерация XML для импорта в wordpress – создаем сателлит”

  1. Dmitriy пишет:

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

    заранее спасибо за помощь ;)

    • dimio пишет:

      Я не очень понял вопрос.

      • Dmitriy пишет:

        Может в ЛС? аську, скайп можешь оставить?

        • Dmitriy пишет:

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

        • dimio пишет:

          Контакты указаны в разделе “Контакты”, что конечно не совсем очевидно.

  2. Misha пишет:

    Ну так что кто мне поможет?

    админ подскажи как указать в xml файле категорию в которую и необходимо импортировать пост из xml файла???

    при условии что рубрика уже создана

    • dimio пишет:
      1
      2
      <category>Полезное</category>
      <category domain="category" nicename="poleznoe">Полезное</category>

      Как-то так может?

      • Misha пишет:

        Вот спасибо, это работает!

        Только зачем писать это? nicename=”" ?

        И еще один вопрос как добавить пост в подрубрику? такое возможно?

        • dimio пишет:

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

  3. Виктория пишет:

    Здравствуйте! очень интересно, но у меня проблема, даже стыдно: Где проверяется окончания строк (LF – Unix)? В этом выдает ошибку и бьюсь, не могу найти.
    Спасибо заранее))

    • dimio пишет:

      Под Windows удобно использовать редактор Notepad++ – там можно менять формат файла.

      • Виктория пишет:

        Спасибо! Вы знаете, нашла ошибку – были лишние пробелы после
        Работает здорово, очень благодарна, только еще картинки не пробовала добавлять таким образом.

        • dimio пишет:

          Не за что. Пишите, если будут вопросы. А вообще рекомендую онлайн-версию (ссылка есть в конце этой заметки), она свежее и справка там вроде достаточно подробная.

  4. STen Smith пишет:

    я когда нажимаю на ссилку Worldpress в меню импорта у меня вилазит: При исполнении API-запроса возникла неизвесная ошибка HTTP
    і всьо дальше ничево нету(

    • dimio пишет:

      Для начала:
      1. Что вы пытаетесь импортировать?
      2. Версия WordPress?

      • STen Smith пишет:

        1.Импортирую файл .xml
        2.WordPress Uk 3.1.1

        • dimio пишет:

          1. Чем этот xml создан? Если онлайн-версией – имеет смысл разбираться, иначе – бесполезно, скрипт из этой заметки я давно забросил.
          2. Uk – это украинский язык или какая-то украинская сборка специальная? Если есть возможность – сделайте экпорт какой-нибудь записи из блога и скиньте на почту мне например.

          • STen Smith пишет:

            1.xml взял готовий из шаблона которий скачал ([ссылка] )
            2.Uk? да ето украинская версия worldpress.може ви не поняли но уменя другая проблема
            и она не в файле импортирования(а скорей всего в сборке…

            • dimio пишет:

              Там вообще про шаблон оформления, никакого отношения не имеет к импорту записей через XML. Я вам ничем не помогу – никогда не пользовался такими шаблонами, а с установкой тем оформления через админку никогда проблем не испытывал.

Leave a Reply