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-файл зі статтями для сателіта, тиснемо "Завантажити та імпортувати файл":

Загрузка XML 3. Зазначаємо, за чиїм авторством будуть числитися імпортовані статті. Можна створити нового автора, можна призначити вже існуючого. Підтримки імпорту вкладень поки немає - відповідно галку можна не ставити. Натискаємо "Підтвердити":

Назначение автора 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. Анонім пише:

    Круто!

  2. BoлкBepнyлcя пише:

    Дійсно, як люди кажуть, цікаве поруч! :)

  3. fuchfliliag пише:

    Привіт! Із задоволенням почитав Ваш блог. Хочу також привітати Вас і всіх читачів цього блогу з новим 2010 роком. Удачі всім, нових життєвих перемог і виконання всіх ваших задумів. :)

  4. Webma пише:

    Вітаю автора блогу. Трохи не розібралася зі скриптом, а саме з форматом вказуються опцій (
    Заповнювала по-різному:
    $ Infile = shift '\ articles_example.txt';
    $ Infile = shift 'articles_example.txt';
    $ Infile = shift | | '\ articles_example.txt'; і др.варіанти, ПРОТЕ НА ЖАЛЬ

    але ніяк не виходить
    наприклад якщо файл лежить на робочому столі, то в якому форматі в настройках вказувати шлях?
    Або може запускаю скрипт не через ту прогграмму, я в цьому в принципі нуб :)
    запускаю через ActivePerl (вірніше намагаюся)
    що я роблю не так?

    • dimio пише:

      У самому файлі скрипта цього вказувати не потрібно. Якщо на робочому столі - досить зробити так:

      1
      wpxmlcreator.pl "c: \ documents and settings \% username% \ Робочий стіл \ імя_файла.txt"

      А взагалі для простоти раджу онлайн-версію генератора спробувати, у неї і можливостей більше.
      PS А якщо доп. можливості не потрібні, а з зазначенням шляху розібратися не виходить - покладіть скрипт і потрібний файл зі статтями в одну папку і запускайте так:

      1
      wpxmlcreator.pl імя_файла.txt
  5. Webma пише:

    Прошу вибачення за можливо архіглупий питання, але що значить:
    "Запускайте так:
    WPXMLCreator.pl articles_example.txt "?

    де вказувати цей ... парметри чтоли

    • dimio пише:

      В консолі запускати. "Пуск-Виконати-ввести cmd".
      Якщо покладіть скрипт і файл зі статтями в одну папку, то можете і всередині скрипта поміняти:
      $ Infile = shift | | 'articles_example.txt';
      і запускати подвійним клацанням.

      З консолі краще тим, що після виконання вікно не закриється і можна буде побачити, чи всі успішно пройшло.

  6. Webma пише:

    Дякую автора за терпіння.
    Скрипт вже генерує xml файлик :)
    правда на жаль з файлу з 20 постами він чомусь бере тільки перший для запису в xml : (
    Підозрюю, що справа тут в якомусь розмежувачами між постами, який я упускаю:

    "

    ? Що повинно бути тут?

    "

    • Webma пише:

      в повідомленні не відобразився код:

      "Header / header
      body / body
      tags / ags
      categorycategory
      ? Що повинно бути тут?
      header / header
      body / body
      tags / ags
      categorycategory "

  7. vredin пише:

    Malformed multipart POST - помилку видає онлайн скрипт. помилка в скрипті чи особливість мого файлу на імпорт?

    • dimio пише:

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

  8. vredin пише:

    підкажіть, якщо я генеруючи файл, який буде входять для вашого скрипта, як краще вказати перехід на новий рядок? чи це не важливо і можна кидати один рядок head, body, tags, categories?

    • dimio пише:

      Кидати в один рядок не можна - переклад рядків між блоками статті, укладеними в теги, повинен бути.
      Першу частину питання я не зрозумів. Технічно переклад рядка повинен бути в unix-стилі - "\ n", без повернення Картек.
      Якщо що - подивіться довідку до онлайн-версії генератора . Там же є вихідний файл з прикладом розбивки.

      • vredin пише:

        ви відповіли на моє запитання :)
        у мене якраз була попередня помилка через те (як мені здається) що в мене переклад був з поверненням каретки \ n \ r

        • dimio пише:

          Так, повернення каретки не обробляється (може і даремно, але звичка роботи в linux сильна :) ).
          Прекрасно, що проблема вирішена.

          • vredin пише:

            щодо роботи - ще перевіримо .. я вам лист відіслав, хочу спробувати advanced версію ;)

  9. Макс пише:

    Привіт. Вчора придбав прогу. не можу розібратися як її запустити. пораюся вже 2 год. хелп!

    працюю з вихідними файлами.
    програму намагаюся запустити через пуск-виконати-cmd
    прописую повний шлях.

    натискаю ентер. процесу немає

  10. Макс пише:

    Процес.
    1. Заходжу в total com.
    [Посилання]

    2. Запускаю.
    [Посилання]

    3. Запускаю cmd
    [Посилання]

    4. Намагаюся запустити в cmd файл pl
    [Посилання]

    5. Натискаю інтер.
    він мені відкриває блок нот
    [Посилання]

    Як запустити файл pl?

  11. Макс пише:

    У мене xp

  12. Макс пише:

    Начебто чучуть наздогнав зараз відпишуся.)

  13. Макс пише:

    немає не вийшло

  14. Макс пише:

    Я твій он лайн сервіс трошки грузанул)

  15. Макс пише:

    ні, але намагаюся встановити (

  16. Макс пише:

    зараз буду побувати через Денвер

  17. Макс пише:

    Де є мануал по установці?

    • dimio пише:

      Мануал по установці ActivePerl? Не знаю навіть. По-моєму там досить періодично натискати "Далі" в процесі установки й годі.

  18. Макс пише:

    Дякуємо я розібрався)

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

    Доброго дня! Підкажіть, пліз, ось у мене є файл HML, отриманий на готовому Вордпресс блозі шляхом Інструменти - експорт. За ідеєю його можна використовувати для створення аліаса, але при дії Інструменти-імпорт в новому шаблоні нічого не відбувається?

    • dimio пише:

      Ніколи не пробував експорт в HTML. Проблема може бути і в різних настройках імпорту-експорту, і в відмінних версіях wordpress, і в якихось плагінах для wordpress.

  20. Євген пише:

    а можна в скрипті (в імпорті) вказати slug записи?

    • dimio пише:

      Давайте детальніше. Поки питання не зрозумів.

      • Євген пише:

        проблема була в тому, що
        є один запис, яка посилається на десяток
        міняти в цьому записі посилання здалося важкою справою
        в результаті - поміняв у створеному xml файлі теги посилальні

Leave a Reply