HTML Import 2 — руководство пользователя

Как пользоваться плагином HTML Import 2 для wordpress. Плагин может пригодиться, если вы, например, выкачали сайт из вебархива и получили груду html-файлов, и теперь вам нужно перенести всё это барахло на wordpress.

Внятного мануала по этому плагину на русском я не встретил, поэтому решил сделать свой.

Скачать сам плагин можно по ссылке (официальный wordpress — репозиторий).

Этот мануал является переводом статьи http://stephanieleary.com/code/wordpress/html-import/html-import-2-user-guide/. Что-то я корректировал, добавлял от себя, удалял и т.д.

Мануал читать от лица автора плагина.

Итак, начнем.

Как работает плагин HTML Import 2

Плагин работает путем чтения HTML как XML и копирования содержимого указанных тегов в различные поля WordPress. Поэтому он лучше всего работает с хорошо сформированным HTML. Ваши файлы не обязательно должны быть проверены в соответствии со спецификацией W3C, но они, по крайней мере, должны содержать правильно вложенные теги. Плагин попытается импортировать HTML с неправильной вложенностью, но это может сработать не так, как вы ожидаете!

Файлы, которые вы импортируете, должны находиться на том же сервере, что и ваша установка WordPress. Если у вас нет доступа (S)FTP к старому сайту, вы можете использовать wget или приложение типа SiteSucker для загрузки файлов. (Я делал это несколько раз для клиентов, которые забыли свои пароли).

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

Этот сайт, после импорта:

Сайт после импорта
Иерархия категорий после импорта

Перед импортом

Импорт может быть непростым делом, и не всегда все получается с первого раза. Поэтому важно установить плагин резервного копирования на случай, если придется начинать все сначала. Мне нравится DB Backup за его простоту, и я рекомендую его, если у вас еще нет плагина для резервного копирования.

После этого вам, вероятно, потребуется выполнить небольшую работу по очистке, поэтому вам также нужно будет установить плагин Search and Replace.

Если вы импортируете контент на сайт WordPress, который уже содержит контент, перед началом импорта сделайте резервную копию базы данных и переведите сайт в режим обслуживания. Серьезно, прекратите читать и сделайте резервную копию прямо сейчас.

Если вы установили плагин, который делает перепост вашего контента на другой сайт (например, Facebook или LiveJournal) или автоматически уведомляет другой сайт о ваших новых сообщениях (например, Twitter), обязательно деактивируйте эти плагины перед импортом. В противном случае вы завалите свою социальную сеть импортированными постами!

Очистка от лишнего

Перед запуском плагина HTML Import 2 рекомендуется просмотреть ваши HTML-файлы и убедиться, что все в них единообразно.

Например, плагин предоставит вам возможность удалить повторяющуюся фразу из заголовков страниц. (Большинство тем WordPress автоматически вставляют название сайта в тег <title>, поэтому вы же не хотите, чтобы оно было частью заголовка каждого поста, иначе оно будет дублироваться).

Для того, чтобы это сработало, фраза должна быть абсолютно одинаковой во всех ваших файлах. Конечно, вы можете изменить названия страниц после импорта файлов, но обычно быстрее отредактировать файлы, чем редактировать и сохранять каждую запись WordPress. (Функция Bulk Edit не работает с заголовками).

Еще более важно: вы должны убедиться, что содержимое, которое вы хотите импортировать из каждого файла, окружено одним и тем же HTML-тегом.

И наконец, если вы хотите, чтобы плагин скопировал ваши связанные изображения и документы в медиатеку, убедитесь, что пути к изображениям правильные! Плагин может обрабатывать все следующие стили путей, если они работают:

<img src="http://example.com/images/foo.jpg" />
<img src="/images/foo.jpg" />
<img src="../../images/foo.jpg" />
<img src="foo.jpg" />

Импорт HTML-файлов

Это сложный плагин с большим количеством опций.

Страница настроек (Настройки → Импорт HTML) разбита на шесть разделов.

Перед запуском плагина необходимо просмотреть первые пять вкладок. Шестой раздел (Инструменты) содержит ссылки на некоторые инструменты, которые могут пригодиться после импорта, а также позволяет регенерировать правила перезаписи для импортированных документов — полезно, если после завершения импорта вы измените структуру пермалинков.

Вкладка Files

Скриншот вкладки Files
Скриншот вкладки Files

Поле Directory to import (каталог для импорта)

Найдите абсолютный путь к корневой директории (не относящийся к сайту или файлу).

Например, в Windows этот путь начинается с буквы диска (например, C:\sites\public_html). На сервере на базе UNIX (включая Mac) путь будет начинаться со слэша (например, /users/username/home/public_html или /Library/WebServer/mysite).

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

Не думайте о том, включать или не включать косую черту. Плагин сам разберется.

Не вводите URL-адрес каталога для импорта. Это ДОЛЖЕН быть путь к директории на том же сервере, где установлен WordPress.

Поле Old site URL (URL старого сайта)

Старый URL будет использоваться только для создания редиректов в .htaccess и поиска изображений. Плагин не будет искать там файлы для импорта, они должны быть указаны с помощью опции каталога выше.

Если вы импортируете подкаталог, а не весь сайт, обновите этот URL, чтобы включить подкаталог. Например, если вы импортируете

/Sites/old_site/public_html/about/,

то URL должен быть

http://example.com/about/.

Поле Default file (файл по умолчанию)

Имя индексных файлов, через запятую с пробелом. Обычно это index.html на серверах Apache и default.htm на IIS. Плагин принимает несколько имен файлов, просто перечислите их все.

Поле File extensions to include (расширения файлов)

Плагин просканирует ваш начальный каталог в поисках файлов для импорта. Вы должны указать типы файлов, которые вы хотите импортировать (чтобы плагин не пытался считать HTML из MP3, например). Все типы файлов, НЕ указанные здесь, будут проигнорированы.

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

Поле Directories to exclude (исключенные каталоги)

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

Пути к определенным каталогам не работают, вам нужно просто добавить имя вашего каталога в этот список. Таким образом, если у вас есть двенадцать каталогов с названием images на разных уровнях иерархии каталогов, вы можете пропустить их все.

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

Сохраняйте имена файлов

WordPress обычно генерирует slug (уникальную часть URL-адреса поста/страницы), используя заголовок. Если ваши старые файлы имеют короткие имена, например about.html, а заголовки страниц очень длинные, например «О нашей компании, наших основателях и наших ценностях», вы можете отметить эту опцию, чтобы использовать «about» вместо «about-our-company-our-founders-our-values» в качестве slug импортируемой страницы.

Вкладка Content

Вкладка Content
Скриншот вкладки Content

Чтобы выбрать часть файла, содержащую нужный нам контент (то, что станет содержимым поста или страницы в WordPress), вы можете указать HTML-тег или область шаблона Dreamweaver.

Если ваши страницы основаны на шаблонах Dreamweaver, выберите опцию Dreamweaver и введите название области содержимого (например, «Main Content») в поле области шаблона.

Если вы используете тег без атрибутов или когда атрибуты не имеют значения, просто введите тег (без скобок) в поле tag, а поля attribute и value оставьте пустыми. Например, если вам нужно импортировать весь тег <body>, ваши поля будут выглядеть следующим образом:

Заполнено только поле Tag
Когда тега body хватает для определения основного контента

Если у вашего тега есть атрибут, который делает его уникальным, введите имя атрибута (например, class или id) в поле attribute и значение в поле value. Например, если ваш контент содержится в теге <div id="spotlight">, ваша настройка импорта будет выглядеть следующим образом:

Ячейки таблицы тоже будут работать, даже если у них нет класса или ID — при условии, что у них есть атрибут width с уникальным значением.

Например: Тег: table, Атрибут: width, Значение: 730 будет работать отлично.

Любая пара атрибут/значение будет работать, если значение уникально.

Firebug (или devtools в хроме) позволяет легко найти нужный тег. Откройте его, нажмите кнопку со стрелкой и наведите курсор мыши на раздел, который вы хотите импортировать. Он выделит соответствующий тег в представлении HTML:

Для этой страницы параметры содержимого должны быть следующими:

Тег: div
Атрибут: id
Значение: spotlight

Раздел More content options

Если вы выберете импорт тегов мета-описания (seo дескрипшн) в виде выдержек (excerpts, отрывки в вордпресс), то эти выдержки будут сохранены как для постов, так и для страниц.

Однако страницы WordPress обычно не имеют выдержек. Чтобы редактировать и/или отображать выдержки для страниц, вам необходимо установить плагин, например, PJW Page Excerpt.

Если ваши исходные файлы использовали набор символов, отличный от UTF-8, вам следует проверить опцию преобразования специальных символов.

Чекбокс Import linked images

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

Связанные изображения будут импортированы независимо от того, где они расположены. Можно оставить images в списке пропущенных каталогов, поскольку этот параметр просто указывает плагину, где искать HTML-файлы.

Чекбокс Import linked documents

Этот параметр можно использовать для импорта файлов, отличных от изображений, например PDF-файлов и документов Word. В медиатеку будут импортированы только указанные вами расширения файлов. Импортер обновит ссылки на файлы. После завершения работы все ссылки на файлы должны быть перенаправлены на файлы в медиатеке.

Чекбокс Cleaning up HTML

При желании плагин может удалить весь ненужный HTML-код.

Например, если ваши файлы взяты из Microsoft Word или Frontpage, они, вероятно, замусорены посторонними тегами <div>, смарт-тегами и атрибутами класса.

Чтобы очистить их, установите флажок «Очистить плохой (Word, Frontpage) HTML», затем укажите HTML-теги и атрибуты, которые должны быть разрешены. Любые теги и атрибуты, которых нет в этих списках, будут удалены.

Заранее прописаны возможные теги и атрибуты, а также дополнительный набор, который следует включить, если ваш контент содержит таблицы данных. Перед импортом внимательно просмотрите оба списка. Обратите внимание, что style и align не входят в число атрибутов, разрешенных по умолчанию, что может быть важно для вас, если вы импортируете изображения.

Вкладка Title & Metadata

Вы можете выбрать тег заголовка так же, как Вы выбирали область основного контента.

В строке Phrase to remove from page title Вы можете попросить плагин удалить из заголовков общие слова или фразы.

Помните, что заголовок вашего сайта будет автоматически добавлен к вашим постам и страницам WordPress (в зависимости от вашей темы или настроек плагина Yoast). Если он есть в тегах <title> ваших HTML-файлов, то его лучше удалить сейчас, чтобы избежать дублирования на вашем сайте WordPress.

Плагин будет кодировать HTML-сущности за вас.

Например, если ваш заголовок содержит амперсанд («&»), вам не нужно вводить его как "&amp;".

Чекбокс Title Position

Если бы вы импортировали title-заголовок с помощью тега <title>, а содержимое поста/страницы — с помощью тега <body>, то у вас не было бы проблем с дублированием заголовков, поскольку между этими тегами нет перекрытия.

Но допустим, вы импортируете <div id="content">, и ваш заголовок — это <h2> внутри этого <div>. Когда плагин запустится, то он будет использовать содержимое этого <h2> в качестве заголовка поста. Но <h2> по-прежнему будет отображаться в содержимом записи, что означает, что он будет отображаться дважды на странице вашего сайта WordPress.

Чтобы предотвратить это дублирование, плагин предлагает эту опцию для удаления заголовка из импортированного контента.

Остальные данные (Metadata)

Также Вам предлагаются такие настройки:

  • импортировать ли файлы как посты, страницы или пользовательский тип поста;
  • какой статус должны иметь импортированные посты (черновик может быть полезен, если вы знаете, что после импорта вам потребуется дополнительное редактирование);
  • какой пользователь должен быть указан как автор;
  • и (для страниц и других иерархических типов постов) какой должен быть родитель и шаблон страницы.

Хорошо, а что если вам нужно импортировать некоторые каталоги как посты, а другие — как страницы? Тогда просто запустите плагин дважды с разными начальными каталогами.

Например, если на импортируемом сайте есть раздел новостей, вы можете импортировать этот подкаталог как посты, затем добавить «news» в список пропущенных каталогов и импортировать родительский каталог как страницы.

«Set timestamps to» and Custom Fields

Если вам нужно установить временные метки импортированных постов в соответствии с датой, которая находится где-то в вашем HTML, выберите custom field в этом разделе. А уже на вкладке Custom Fields вы сможете указать HTML-тег или область Dreamweaver, содержащую дату.

Вкладка Custom Fields

Вы можете указать любое количество пользовательских полей.

Для каждого поля вы должны указать:

  • имя поля (meta_key);
  • HTML-тег или область Dreamweaver;
  • следует ли сохранять HTML в пользовательском поле.

Если поставить галочку Allow HTML (разрешить HTML в имени поля custom field name), то будут применяться разрешенные теги из вкладки Content строки Allowed HTML, а все остальные теги HTML будут удалены. Использовать другие теги, кроме разрешенных, не получится.

Импорта даты

Чтобы импортировать дату из custom field, просто укажите HTML-тег или область Dreamweaver, содержащую дату.

Вам не нужно указывать имя custom field name, поскольку плагин не будет создавать поле Custom Field, а попытается интерпретировать дату как временную метку с помощью функции PHP strtotime().

Главное, убедитесь, чтобы на вкладке Title & Metadata напротив Set timestamps to было выбрано custom field.

Импорт тегов постов

Вы можете импортировать теги из своих файлов!

Добавьте еще один custom field и дайте ему имя post_tag. Затем укажите HTML-тег или область Dreamweaver, содержащую имена тегов. Плагин будет использовать их имена в том виде, в котором они встречаются в тексте. Если у вас окажутся дубликаты (например, «tag» и «tags«), вы можете использовать плагин Term Management Tools, чтобы объединить их после завершения импорта.

Вкладка Categories & Tags

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

На этом скриншоте показаны иерархические таксономии из Content Audit, а также сайт книжных обзоров с набором таксономий, связанных с жанрами, и плоские таксономии для сайта исследовательского института, посвященного видам животных и финансирующим учреждениям. (Моя тестовая установка может иногда немного путаться).

Готовы к импорту?

После сохранения всех настроек, должна появиться кнопка импорта файлов. Вы можете вернуться, чтобы что-то подкорректировать или сделать это позже.

Если вы готовы, то идём в ИнструментыИмпорт и выбрать HTML из списка.

Когда вы нажмете на кнопку Запустить импорт, вы покинете экран настроек и перейдете к плагину:

Если вы импортируете каталог с большим количеством файлов — скажем, более сотни — это займет несколько минут. По окончании работы плагин отобразит список импортированных файлов с указанием всех ошибок.

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

Если в настройках на первой вкладке Files вы указали Old site URL — url старого сайта, тогда скорее всего правила будут годными. В противном случае вместо URL будет использоваться путь к файловой системе. Но Вы сможете исправить их с помощью простого поиска и замены.

Плагин не записывает новые правила в ваш файл .htaccess, вам нужно скопировать их и вставить в файл самостоятельно.

Эти редиректы можно получить позже, ищите ссылку в на вкладке Tools в настройках плагина.

Если вы выбрали импорт изображений и/или других медиафайлов, эти отчеты будут показаны после редиректов.

Все файлы, которые не удалось найти, будут перечислены (оранжевым цветом), чтобы вы могли добавить их вручную позже.

В самом конце отчета (потому что это происходит в последнюю очередь) плагин сообщает вам, что он обновил ваши внутренние ссылки, если вы в настройках поставили галочку напротив Update internal links вкладка Content.

После импорта: исправление того, что сломалось

Независимо от того, насколько тщательно вы выполняли настройки, существует большая вероятность того, что вы увидите некоторые ошибки в недавно импортированном контенте. Посетите раздел Tools на странице настроек, чтобы найти список дополнительных плагинов, которые помогут вам очистить импортированный контент. В частности, очень полезными являются Broken Link Checker и Search and Replace.

Траблшутинг

Я импортирую несколько файлов, а затем страница результатов просто обрывается. Что я могу сделать?

Плагин будет пытаться работать максимально разрешенное время на вашем сервере — max_execution_time для PHP (обычно 30 секунд), но некоторые серверы этого не позволяют. Вы можете попытаться увеличить это значение, добавив строку в ваш файл .htaccess:

php_value max_execution_time 160

Если это поможет вам продвинуться дальше, но все равно не закончит работу, просто увеличьте это число (оно в секундах). Однако имейте в виду, что ваш хостер может рассердиться на вас за то, что вы перегружаете ресурсы сервера.

Если у вас много файлов для импорта, лучше всего установить WordPress на рабочем столе (XAMPP для Windows/Linux и MAMP для Mac делают это довольно просто) и выполнить импорт там.

Также вполне возможно, что скрипт пытается использовать больше памяти, чем позволяет ваш сервер. Вы можете попробовать изменить эту настройку в .htaccess:

php_value memory_limit 1024M

Поддержка плагина

Если у вас возникли проблемы с работой, пожалуйста, задавайте свои вопросы на форуме поддержки плагина wordpress.org. Вас много, а я всего один. Если я смогу ответить на ваш вопрос на форуме, то кто-то еще может увидеть ответ. Если вы напишете мне лично, а) я не отвечу, и б) если я отвечу, вы будете единственным человеком, которому будет полезен ответ. Будьте добры к сообществу и моему здравомыслию.

Вот таким получился перевод. Надеюсь, окажется Вам полезным.

Пишите в комментариях о своих успехах.

19010cookie-checkHTML Import 2 — руководство пользователя
Оцените статью
Техдокументация вебмастера
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии