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

Допомагаємо ботам знайти усі сторінки сайту
Проблема: є досить великий сайт, який має карту у форматі 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-версія.
Тим, хто любить патчі (кумулятивний патч, виправляє і деякі інші недоліки плагіна):