Yes, single-page sites appear in search engines, but in general a great deal of additional effort is required.
Traditional vs. Dynamic Pages
Search engines index various types of content, especially HTML, which is the traditional web base.
This means that if the content is not readily available in the HTML code it will not guess where it is, nor will it interpret your scripts and know what content you can upload dynamically.
To solve this problem, there are some techniques that can be used:
Include all hidden dynamic content in HTML so that the user does not see, but the indexing robot does. This way the site navigation is to change the visibility of the elements.
Show an alternative page for search engines. You can identify if an indexing robot is reading your site through HTTP headers. You can configure Apache or any web server to display a page in pure HTML for it with all the content of the site.
Use a site map and create several alternate URLs that render their content, however if the user accesses one of them then it is redirected to the main application. li>
Note: I did not mean to be exhaustive. There may be numerous other techniques.
It's perfectly possible to optimize a Single Page Application for SEO, but take the additional effort into account before adopting a solution like this.
Particularly for the web in general I prefer a traditional template with separate pages.