Oh I just tried this to solve point 1, I didn’t think of this before. Fetching multiple content types is possible based on the slug, then maybe I can iterate through them to find the one which returns data, and output that data. So in fact we could query just the slug across multiple content types.
Although I do think point 2 above may be better, so we can define our website pages separate to how the company data is stored in Strapi.
query multiple_types
{
products(filters: {slug: {eq: "my/page/slug"}}, locale: "en")
{
data
{
id
attributes
{
content1
}
}
}
pages(filters: {slug: {eq: "my/page/slug"}}, locale: "en")
{
data
{
id
attributes
{
content2
}
}
}
}