Генерація XML для імпорту в wordpress - створюємо сателіт
У своєму записі про розмноження контенту для створення сателітів або просування сайту з використанням безкоштовної програми для клонування статей "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 ( домашня сторінка ).
Порядок роботи з ним такий:
Перекодувати вихідний файл зі статтями в Юникод без використання BOM (UTF-8 without BOM). Під * nix це природніше всього буде зробити за допомогою iconv:1iconv FILE-f CP1251-t UTF8-o utf8-FILEну а під windows рекомендую використовувати безкоштовний текстовий редктор "Notepad + +".
- Запускаємо скрипт, вказавши в опціях виклику шлях до вихідного файлу, а також, при бажанні, деякі необов'язкові параметри:
$. / ACE-WPXMLCreator.pl articles_example.txt example_satellit.xml 2 open close (на опціях запуску детальніше зупинюся далі). - Імпортуємо вийшов в результаті роботи скрипта 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-файл зі статтями для сателіта, тиснемо "Завантажити та імпортувати файл":
3. Зазначаємо, за чиїм авторством будуть числитися імпортовані статті. Можна створити нового автора, можна призначити вже існуючого. Підтримки імпорту вкладень поки немає - відповідно галку можна не ставити. Натискаємо "Підтвердити":
4. Всупереч радісною написи, радить "насолоджуватися", ми ещенемного попрацюємо ![]()
А саме - йдемо в "Записи - Редагувати". Необхідності в цьому немає, але особисто я віддаю перевагу зайвий раз переконатися в правильності зроблених маніпуляцій. Переконуємося, подивившись на дату публікації записів:
Записи заплановані для публікації і будуть опубліковані автоматично, ваше участю більше не потрібно ![]()
Фактично, ми тільки що створили сателіт на wordpress за 5 хвилин!
У чому мінус такого підходу (разового імпорту контенту в wordpress через xml)? Та в тому, що весь контент (принаймні - більша його чатсть) повинен бути готовий заздалегідь. Другий скрипт масової публікації в блоги, який я обіцяв опублікувати, позбавлений від цього недоліку.
В планах:
- Імпорт картинок, що знаходяться в одній директорії з вихідним файлом;
- Розбивка підсумкових файлів на частини розміром менше 2-х Мб (стільки максимально дозволяє за один раз імпортувати движок wordpress);
- Змусити працювати розкладку по категоріям.
І як завжди, на завершення ви можете скачати сам скрипт для створення XML-шаблонів wordpress. У архіві знаходяться три файли:
ACE-WPXMLCreator.pl - виконуваний файл скрипта, для роботи вимагає встановленого інтерпретатора Perl (наприклад ActivePerl). Не забудьте виставити правильні права доступу до виконуваного файлу, в разі * nix-систем;
articles_example.txt - приклад вихідного файлу до статей для сателіта;
wp-satellit.xml - результат роботи скрипта.
Онлайн-версія WPXMLCreator !
Удачи! ![]()
Ще на схожі теми:
Рубрики: seo , WPXMLCreator , Кодинг |
Мітки: seo , wordpress , WPXMLCreator , програмінг , сателіт |
58 Коментар 

Круто!
Дійсно, як люди кажуть, цікаве поруч!
Привіт! Із задоволенням почитав Ваш блог. Хочу також привітати Вас і всіх читачів цього блогу з новим 2010 роком. Удачі всім, нових життєвих перемог і виконання всіх ваших задумів.
Вітаю автора блогу. Трохи не розібралася зі скриптом, а саме з форматом вказуються опцій (
Заповнювала по-різному:
$ Infile = shift '\ articles_example.txt';
$ Infile = shift 'articles_example.txt';
$ Infile = shift | | '\ articles_example.txt'; і др.варіанти, ПРОТЕ НА ЖАЛЬ
але ніяк не виходить
наприклад якщо файл лежить на робочому столі, то в якому форматі в настройках вказувати шлях?
Або може запускаю скрипт не через ту прогграмму, я в цьому в принципі нуб
запускаю через ActivePerl (вірніше намагаюся)
що я роблю не так?
У самому файлі скрипта цього вказувати не потрібно. Якщо на робочому столі - досить зробити так:
А взагалі для простоти раджу онлайн-версію генератора спробувати, у неї і можливостей більше.
PS А якщо доп. можливості не потрібні, а з зазначенням шляху розібратися не виходить - покладіть скрипт і потрібний файл зі статтями в одну папку і запускайте так:
Прошу вибачення за можливо архіглупий питання, але що значить:
"Запускайте так:
WPXMLCreator.pl articles_example.txt "?
де вказувати цей ... парметри чтоли
В консолі запускати. "Пуск-Виконати-ввести cmd".
Якщо покладіть скрипт і файл зі статтями в одну папку, то можете і всередині скрипта поміняти:
$ Infile = shift | | 'articles_example.txt';
і запускати подвійним клацанням.
З консолі краще тим, що після виконання вікно не закриється і можна буде побачити, чи всі успішно пройшло.
Дякую автора за терпіння.

Скрипт вже генерує xml файлик
правда на жаль з файлу з 20 постами він чомусь бере тільки перший для запису в xml
Підозрюю, що справа тут в якомусь розмежувачами між постами, який я упускаю:
"
? Що повинно бути тут?
"
в повідомленні не відобразився код:
"Header / header
body / body
tags / ags
categorycategory
? Що повинно бути тут?
header / header
body / body
tags / ags
categorycategory "
Проблема вирішилась)
Це радує
А то я з учорашнього вечора голову ламаю, в чому справа може бути і що взагалі у вас збивається.
Malformed multipart POST - помилку видає онлайн скрипт. помилка в скрипті чи особливість мого файлу на імпорт?
В принципі це помилка скрипта і апача, але якщо вона разова, то її можна віднести на рахунок випадкового збою. Мені таку помилку у скрипта викликати не вдається, тому що якщо у вас вона зустрічається постійно - проблема може бути в тому числі і у вашому файлі.
підкажіть, якщо я генеруючи файл, який буде входять для вашого скрипта, як краще вказати перехід на новий рядок? чи це не важливо і можна кидати один рядок head, body, tags, categories?
Кидати в один рядок не можна - переклад рядків між блоками статті, укладеними в теги, повинен бути.
Першу частину питання я не зрозумів. Технічно переклад рядка повинен бути в unix-стилі - "\ n", без повернення Картек.
Якщо що - подивіться довідку до онлайн-версії генератора . Там же є вихідний файл з прикладом розбивки.
ви відповіли на моє запитання
у мене якраз була попередня помилка через те (як мені здається) що в мене переклад був з поверненням каретки \ n \ r
Так, повернення каретки не обробляється (може і даремно, але звичка роботи в linux сильна
).
Прекрасно, що проблема вирішена.
щодо роботи - ще перевіримо .. я вам лист відіслав, хочу спробувати advanced версію
Привіт. Вчора придбав прогу. не можу розібратися як її запустити. пораюся вже 2 год. хелп!
працюю з вихідними файлами.
програму намагаюся запустити через пуск-виконати-cmd
прописую повний шлях.
натискаю ентер. процесу немає
http://www.dimio.org/wp-content/uploads/2010/04/wpxmlcreator_example.jpg
Скріншот з прикладом запуску.
Процес.
1. Заходжу в total com.
2. Запускаю.
3. Запускаю cmd
4. Намагаюся запустити в cmd файл pl
5. Натискаю інтер.
він мені відкриває блок нот
Як запустити файл pl?
У мене xp
У мене теж.
Perl-то встановлений?
Начебто чучуть наздогнав зараз відпишуся.)
немає не вийшло
Я твій он лайн сервіс трошки грузанул)
ні, але намагаюся встановити (
зараз буду побувати через Денвер
Де є мануал по установці?
Мануал по установці ActivePerl? Не знаю навіть. По-моєму там досить періодично натискати "Далі" в процесі установки й годі.
Дякуємо я розібрався)
Доброго дня! Підкажіть, пліз, ось у мене є файл HML, отриманий на готовому Вордпресс блозі шляхом Інструменти - експорт. За ідеєю його можна використовувати для створення аліаса, але при дії Інструменти-імпорт в новому шаблоні нічого не відбувається?
Ніколи не пробував експорт в HTML. Проблема може бути і в різних настройках імпорту-експорту, і в відмінних версіях wordpress, і в якихось плагінах для wordpress.
а можна в скрипті (в імпорті) вказати slug записи?
Давайте детальніше. Поки питання не зрозумів.
проблема була в тому, що
є один запис, яка посилається на десяток
міняти в цьому записі посилання здалося важкою справою
в результаті - поміняв у створеному xml файлі теги посилальні