So, yes, using that plugin is a part of it. With respect to cleanly optimizing the site for SEO, we have to consider:
what are the different types of static pages that we have?: blog-post, normal, landing-page
what are the dynamically generated pages that we have?: user-profile, events, job-postings, etc
Because we want all of those different PageTypes to be SEO-optimized, we gotta do a little bit of design work to figure out how to cleanly address that problem.
Perhaps if every Gatsby page or template that were wrapped in a <Layout/> component, we might be able to provide some props to the <Layout/> and do all the SEO-setup in one place (Layout).
Yeah for sure!
So, yes, using that plugin is a part of it. With respect to cleanly optimizing the site for SEO, we have to consider:
blog-post
,normal
,landing-page
user-profile
,events
,job-postings
, etcBecause we want all of those different
PageType
s to be SEO-optimized, we gotta do a little bit of design work to figure out how to cleanly address that problem.Perhaps if every Gatsby page or template that were wrapped in a
<Layout/>
component, we might be able to provide some props to the<Layout/>
and do all the SEO-setup in one place (Layout).Also, if we were to setup JSON-LD, that would probably be different for each
PageType
(blog post JSON-LD vs. breadcrumb JSON-LD).So there's a lot of things to consider about how to cleanly structure your SEO.
I wrote an article about this a while back, but it's a bit outdated now. Here's how I'm currently doing it on my blog.