We’re experiencing an issue where fallbackLocales are prioritized over locale in the Content Delivery API in the _seoMetaTags field.
For context: we’re running a bilingual site - featuring most pages in both German and English, with German being the default language. As English translations usually happen after German pages are published, we require the fallbacks to work.
This query for us, on a content item that has both German and English SEO fields filled out, returns only the German version at all times:
{
page(filter: {id: {eq: 122980163}}, locale: en, fallbackLocales: [de]) {
_seoMetaTags {
attributes
content
tag
}
}
}
This also happens if we do not set a locale, but only fallback locales, setting English as the first fallback:
{
page(filter: {id: {eq: 122980163}}, fallbackLocales: [en, de]) {
_seoMetaTags {
attributes
content
tag
}
}
}
This also happens if we set fallbackLocales as ‘en, de’ as above, but also include the locale as ‘en’:
{
page(filter: {id: {eq: 122980163}}, locale: en, fallbackLocales: [en, de]) {
_seoMetaTags {
attributes
content
tag
}
}
}
The only time it does not happen is if we do not query for ‘de’ at all - like here where we have no de fallback locale:
{
page(filter: {id: {eq: 122980163}}, locale: en) {
_seoMetaTags {
attributes
content
tag
}
}
}
And here where english is listed as its own fallback locale:
{
page(filter: {id: {eq: 122980163}}, locale: en, fallbackLocales: [en]) {
_seoMetaTags {
attributes
content
tag
}
}
}
But curiously does not work here, where we have no locale defined, but fallbackLocale array that includes only ‘en’. This returns german content.
{
page(filter: {id: {eq: 122980163}}, fallbackLocales: [en]) {
_seoMetaTags {
attributes
content
tag
}
}
}
This seems to be a platform bug - and seems probably new, as we’ve had our bilingual site setup for a fairly long time at this point (though maybe we just haven’t noticed it because it only seems to be affecting SEO).
Please advise if we’re doing something very wrong with our data querying, or if this does in fact seem like a platform bug.