Если архитектура вашего сайта содержится в базе данных (например, CMS) вы можете сделать что-то вроде предложенного Даркио.
Однако есть более простые методы. Существует множество бесплатных сервисов, которые сканируют ваш сайт и создают карту сайта
http://www.xml-sitemaps.com/ или http://sitemapdoc.com/ являются некоторыми примерами, но в Интернете их полно. Просто погуглите "создатель карты сайта".
Если вы хотите создать свой собственный сценарий, существует программа под названием «php sitemap ng» по адресу http://enarion.net/google/phpsitemapng . Это может быть действительно хорошей отправной точкой.
Если у вас сайт, основанный на контенте (как YouTube, например), просто напишите небольшой скрипт, который читает вашу базу данных и генерирует XML-файл для каждого URL.
Поставьте его в качестве задания cron раз в день/неделю. Вы также можете отправить сообщение Google/Yahoo/MSN и т.д., когда ваша карта сайта будет обновлена, чтобы они могли выбрать вашу новую карту сайта и проиндексировать новые URL.
Автоматически очень сложно. Однако вы можете помочь, используя правильную семантику.
Это поможет Google лучше понять структуру вашего сайта.
Если ваш веб-сайт состоит из статических страниц, вы можете сами создать карту сайта. Если он создается с помощью базы данных, вы можете сделать это программно. Это будет непросто, если у вас нет опыта.
Если вы используете CMS, такую как Wordpress или Drupal, или ... вы, вероятно, можете сгенерировать ее с помощью плагина. Используйте для этого Google!
Это действительно зависит от того, как программно построить ваш веб-сайт, если ваш веб-сайт огромен и отражает схему базы данных, лучше всего написать удобный генератор URL-адресов и сохранить его в базе данных.
Благодаря этой системе вы сможете легко управлять извлечением карты сайта
Select CONCAT("http://mysite.com/article/",article.friendly_url) from article
Но, как я уже сказал, это сильно зависит от вашей архитектуры / программирования ....