If you make most of your content with JavaScript, then yes, it becomes a black hole in the search engine. This is one of the big drawbacks of the thick client application. If you need high visibility in search engines, this is a challenge. There is a midpoint.
You will need a combination of server side rendering and client side rendering. When the page first loads, it should have all the visible content that the user needs, or at least the content that appears “above the fold” (at the top of the page). Links should be descriptive and allow search engines to dive deeper into the site. The main menu of your site should be delivered with a web page, as well as give search engines something to bite.
The content below the summary, or paginated content, can be dynamically pulled out and displayed on the client using any JavaScript infrastructure. This gives you a good combination of server-side rendering for search engine feeds, as well as a performance boost that dynamic content can offer.
source share