иметь полноценный uri статьи, который проиндексирует поисковик
SPA – значит страница генерируется на клиенте, на каждый роут сервер отдает пустой index.html и на клиенте уже собирается. Значит, поисковикам будет проблемно её проиндексировать, потому что не все они выполняют JS после загрузки страницы и они будут видеть просто пустую страницу.
А то, что как бы SPA, но и страница при первой загрузке отдается, называется изоморфным или универсальным. И с бекендом на php это будет достаточно проблематично. Потому что вам придется собирать страницу отдельно и на клиенте, и отдельно на сервере. Много-много копипасты. А модный изоморфный фреймворк сейчас React.
Так что, php, spa, пререндер страницы — выбирайте любые два.