Что ж, лучший способ работы со ссылками Ajax - указывать адрес в тегах, которым могут следовать браузеры, отличные от js (поисковые системы). Приятным побочным эффектом этого (помимо SEO) является то, что создать карту сайта XML так же просто, как если бы не было динамически загружаемого содержимого Ajax ...
Вы должны стремиться к тому, чтобы ваш Ajax-контент работал нормально в отсутствие JavaScript. Тогда большинство подобных проблем исчезнет.
ОБНОВЛЕНИЕ НА ОСНОВЕ КОММЕНТАРИЙ
У вас есть несколько вариантов, основанных на дальнейшем объяснении в комментариях ниже ...
Самым простым было бы реализовать согласованные соглашения об именах среди кэшированных версий вашего динамического контента. Тогда вы можете просто сканировать каталог кэша, используя glob
документы (или opendir
документы и readdir
docs ) и создайте карту сайта на основе имен файлов, найденных в каталоге.
Другой вариант - создать какой-нибудь «реестр», который будет обновляться всякий раз, когда вы кэшируете динамическую страницу. Это может быть таблица базы данных или простой текстовый файл, который сопоставляет идентификатор файла карты сайта с фактическим именем кэшированного файла. Затем вы добавляете или удаляете записи из этого реестра всякий раз, когда кэшированный файл был сохранен или удален.
В качестве альтернативы простому реестру, как я только что упомянул, вы можете использовать сам XML-карту сайта в качестве реестра. Каждый раз, когда был создан кэшированный файл, вы можете загрузить sitemap.xml
в DOMDocument
документов и манипулировать картой сайта в режиме реального времени, сохраняя ее обратно в диск, когда вы закончите редактирование.
Думаю, все сводится к решению проблем.