Генерація карти сайту в HTML з XML - WNS

html

Допомагаємо ботам знайти усі сторінки сайту

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

Найпростіший спосіб - створення сторінки, в якій будуть перераховані всі сторінки сайту та розміщення на неї посилання з підвалу сайту. Ідеальний кандидат на таку сторінку – карта сайту у форматі XML. Проблема в тому, що не всі роботи турбують себе аналізом XML-карт. Для таких роботів карту потрібно перетворювати на формат HTML.

Як і в іншому схожому випадку, на допомогу приходить перетворення XSL.

Приклад шаблону стилів XML:

Перетворення виконується так:

Можна виконувати xsltproc повісити на крон і насолоджуватися результатом.

Як зробити не більше N посилань на файл

Продовження статті«Генерація карти сайту в HTML із XML».

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

Нам знадобляться додатково:

та трохи фантазії

Алгоритм роботи простий:

Пункти 3 і 4 можна поєднати: замість генерації файлу XML можна відразу генерувати HTML. Але про всяк випадок генеруватимемо і XML, і HTML.

Отримаємо такий скрипт:

Автоматизація: перекладаємо роботу на Google XML Sitemaps

У першій частині статті ми розглядали варіант, заснований на використанні утиліти xsltproc. Передбачалося, що генерація HTML-версії карти сайту здійснюється за допомогою cron . Створення картки за розкладом означає, що побудова HTML-картки будезапізнюватися на деякий час; а якщо не порівнювати час модифікації XML- та HTML-версій карток, отримаємо даремні виклики xsltproc.

Ті, хто використовують WordPress, дуже часто для автоматичної побудови карти сайту використовують плагін Google XML Sitemaps; їм пропонується варіант з модифікацією коду плагіна для автоматичної генерації HTML-карти.

Плагін дозволяє задавати свою таблицю стилів XSLT:

Ми змінимо плагін таким чином, щоб за заданої таблиці стилів XSL плагін створював HTML-файл з результатами перетворень XSL.

У файлі sitemap-core.php шукаємо такий шматок коду:

Після нього додаємо такий:

Тепер при кожній побудові карти сайту створюватиметься і HTML-версія.

Тим, хто любить патчі (кумулятивний патч, виправляє і деякі інші недоліки плагіна):