It is very true that apps (App Parts) load in an iFrame. That as you say will affect the SEO of the site.
In classic Webparts it is up to you how you render the view (by rendering server side you will have all information on the page for the search engines to find)
Regarding SEO and iFrames:
Can Content in iframes Help My SEO?
The short answer is no, not really. Once again, the content and links
within iframes are not typically crawled and index, and credit is
definitely not attributed to the page where iframes are embedded.
Because the content within the iframe is attributed to the source URL
and not your own page, iframes to not offer any inherent SEO value for
your on-page optimization. When it comes to SEO, iframes appear to
neither directly help nor hurt your on-page search engine
optimization.
Source
The problem in a SharePoint App scenario is that you most likely would like the Search Engines to crawl the content also in iframes, which most of them do not do.
Workaround (not App specific, but iframe specific):
Despite the mentioned SEO-limiting qualities of Iframe, there are
other solutions to Iframe which are friendlier with search engine
crawlers. If you are using Iframes to present the information on your
site, use content from another source. Search engine crawlers can
detect the source of the information and they are not labeled
duplicate by the crawlers. Instead, they will give the credit to the
original source.
Another way to counter the SEO limitation is by
writing your own keyword-rich, relevant and useful content, and post
it on your website using a tag which can be customized with a
scrolling function to look just like the Iframe that was there before.
Instead of pulling content from another website to the Iframe, you can
use your unique content posted on your own website. Your visitors will
barely notice the difference but Google’s engine crawlers will
suddenly see you as a valuable source of unique and interesting topics
and Google will rank you accordingly for that.
For web developers or programmers, they can use server-side or client-side programming,
which requires a more advance understanding of programming principles.
Using this solution, the content will appear as though it originated
from the page even if it is being pulled from another source. In
effect, the content will be crawled and it could improve the page’s
rankings with Google. While this solution is possible, it is
considered a Black Hat SEO technique and therefore not recommended.
To sum it up, if the foremost interest is SEO, Iframes should be avoided
by all means. It can only help with your SEO efforts if you are
pulling the content from your own website or domain to display on
other pages. This can be useful if you want to share info on multiple
pages without the risk of getting labeled as duplicate content. It is
also important to make sure that you maintain keyword-rich and
crawl-able content on your site. If you are using Iframes on your
site, you should always check to see if the pages have been crawled.
You should remove the content from the Iframes if they have not been
indexed. Place the removed content from Iframes on the web page (out
of the Iframe). As everybody knows, strong on-page content will help
boost the site’s rankings. Source