PHP - Создание XML-карты сайта, которая включает в себя динамический контент - PullRequest
3 голосов
/ 27 января 2012

Возможно ли это? У меня есть 4 страницы, которые загружаются динамически с PHP / AJAX при нажатии на соответствующие пункты меню.

Какова оптимальная практика для оптимизации содержимого, динамически загружаемого с помощью PHP? Я попытался сгенерировать базовый XML-файл сайта, но единственная страница, которая показывает, - это обработчик серверной части с относительными путями к страницам, а не сами страницы.

Ценю ответы, спасибо.

1 Ответ

2 голосов
/ 27 января 2012

Что ж, лучший способ работы со ссылками Ajax - указывать адрес в тегах, которым могут следовать браузеры, отличные от js (поисковые системы). Приятным побочным эффектом этого (помимо SEO) является то, что создать карту сайта XML так же просто, как если бы не было динамически загружаемого содержимого Ajax ...

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

ОБНОВЛЕНИЕ НА ОСНОВЕ КОММЕНТАРИЙ

У вас есть несколько вариантов, основанных на дальнейшем объяснении в комментариях ниже ...

Самым простым было бы реализовать согласованные соглашения об именах среди кэшированных версий вашего динамического контента. Тогда вы можете просто сканировать каталог кэша, используя glob документы (или opendir документы и readdir docs ) и создайте карту сайта на основе имен файлов, найденных в каталоге.

Другой вариант - создать какой-нибудь «реестр», который будет обновляться всякий раз, когда вы кэшируете динамическую страницу. Это может быть таблица базы данных или простой текстовый файл, который сопоставляет идентификатор файла карты сайта с фактическим именем кэшированного файла. Затем вы добавляете или удаляете записи из этого реестра всякий раз, когда кэшированный файл был сохранен или удален.

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

Думаю, все сводится к решению проблем.

...