Как найти все страницы на сайте?
Парсите все доступные ссылки с сайтаЗатем данные с robots.txt и sitemap.xml (если есть)А затем поисковую выдачу site:адрес_сайта. У яндекса для этого есть xml.yandex.ru
п.2,3 можно обнаружить разные страницы на которые не проставлены ссылки со страниц сайта.
1. docs.guzzlephp.org/en/latest
2. symfony.com/doc/current/components/dom_crawler.html
3. ИЛИ готовое решение https://github.com/spatie/crawler (они любят Laravel)
Если переход на страницу делается через JavaScript то единственный адекватный вариант на PHP - это парсить этот JS и добывать из него ссылку. Но проще забить на этои редкие ссылки на JS