SEO Project Structure for Multi-language

Hello everyone,

I want to bring my company’s website to Webflow, but as far as I’ve understood, Webflow is still not a 100% compatible with multi-language websites, and there is a “few” manual tweaks that have to be done in order for it to happen if you decide that you don’t want to pay an extra 50 dollars per month for a third party integration tool to translate it for you (in my case I need the slugs in each language, so the price of the translation tool goes to US$299 a month :exploding_head:).

Even with the down sides, I still believe that Webflow will be a better pick than Wordpress for us, so I want to make this happen, but I have a few questions about SEO.

So my current website composition is, we have a main mycompany.com in English, and then we have a my.company/es in Spanish and a mycompany.com/pt in Portuguese, and in each one of these pages we have multiple subpages (pricing, legal, about, contact, etc.). In a subdomain, blog.mycompany.com, we have our blog, together with the […]/es and […]/pt for the translated versions of it.

To make sense for my team to make this change (and so we don’t have to pay for two website hosting in Webflow - since Webflow don’t support subdomains under the same website), we are willing to remove the blog from the subdomain and bring it under the subpages as mycompany.com/blog and […]/es/blog and […]/pt/blog and deal with the proper redirects so all links are properly dealt with (I believe Webflow can help me with this part, but haven’t gone full in the matter yet).

My question is how can I set up manually in each page the hreflangs and any other details so Google won’t penalize us for duplicated content in different languages? Is there any best practices on how do do it? Any other aspects that I should be aware of in terms of SEO?

Thank you if you read until here :heart:

Hi Joao, what’s your current website link?
I need to check a few things, because it sounds like you may have some added barriers transitioning this particular site to Webflow.

Here are a few things to know;

  • Webflow has recently announced that Multilingual capabilities is a focus this year, so you may want to wait until that’s detailed out a bit, so that you can use those new features properly.

  • If you’re looking for any form of automated translation now, you’ll need some processes for this, or Weglot. I usually setup processes for my translators, because English → Chinese doesn’t automate well at all.

  • The total static page count on a Webflow site is capped to 100 pages.
    Your described site structure will fit fine, at say 30 pages per translated site max, + homepage and a few general pages, but plan for that.

  • Your blog setup will be interesting, prototype this first. You’ll likely want a language flag so that it’s easy to group translations, e.g.

/es/blog would show all of the Spanish translations, but clicking on any article would take the user to the individual article at /blog/hola-amigos.

You’ll need to think through how you want navigation to work, but you have a lot of options on how to make that work smoothly.

Happy to walk you through some of these discussions, if you want to Meet or Zoom.

The multilingual capability is planned for next year, right? I hope we can get some news about this soon, excited to test it out.

I’m fine with manual translations, since we have dedicated teams in Portuguese, English and Spanish, and considering that the automated solutions charge $299 a month for the slugs, which is a deal breaker for me.

The total static page count of a 100 doesn’t count each blog post page generated, correct? Since those are not static. That number is fine with me.

About the blog, I was thinking of having 3 different collections in the CMS for the blog posts, one for each language, because using the same CMS for all blog posts will force us to use the same slug for all translations.

About the navigation, can you think of a work around to have the individual article nested in /es/blog/article_name or even add a category, /es/blog/category/article_name.

Thank you for all the help, and I’m definitely available for a quick call.

Yes you have the right approach overall. If the slugs are important to you, I’d also separate the Collections as you’re planning, even though that’s a bit annoying administratively.

Unfortunately your best option is e.g. /es-blog/... for those. You could use redirects and scripts to support alternative path structures, but it likely will not improve your SEO.

Thank you for the video.

I believe that having the link to your blog start in a 404 page won’t be the best idea for google crawing bots haha…

I was looking into this now, I can’t have a /es/blog/, just a /es-blog/, so annoying haha…

Based on your feedback, the website structure would look something like this then? I made this table below to compare what would be the ideal scenario vs the reality:

Does that look reasonable and doable?

Also, now that I built this comparison, it got me thinking about how can I, for example, if a user is reading a blog post in english and click in the drowdown to change the language to Spanish, if I could redirect the person to the right URL.

Thanks again :heart:

Exactly, but if you know your URL patterns in advance, you can probably bypass that with wildcard redirects.

You’re close on the site map, however you cannot put Collection Pages inside of folders.
I have a wishlist item for that.

This means these both have to start at /

/es
/blog-es/article-slug

Yes it’s possible to cross reference your translations, and it’s easiest if you maintain identical slugs ( no translated variations ). If you must, you can use Reference fields to point to the other variations.

However unless you have 100% coverage ( every article has every translation ), you’ll have to generate your hreflang links with script.

Having a 100% coverage, how do I setup the hreflangs for all blog post pages?

Thinking in something like for a blog post in English, to have the hreflang in Spanish and Portuguese of that blog post.

It depends entirely on how you set up your collections to reference each other, and how you track translations- but I’ve always needed to program some scripts to generate those hreflang links.

You may need to hire a dev if you want to do that.

For future reference for anyone interested in pursue something close to what I’m trying to achieve here and also having blog posts in different languages under the same project, this is the final structure that I decided to go with:

image

So since Webflow doesn’t allow an CMS collection under a specific folder (mywebsite.com/es/ for example), I’m having my blog pages in the root of the project under [...]/blog-es/ and [...]/blog-pt/ and to cross reference the same blog post in different languages and allow the user to toggle between different translations, I created a new custom field ID in each blog post where I use the same value for the same blog post under different languages.
I haven’t gone to the part where I will use this custom field ID to transition between the translations and to create the href langs for SEO purpose, but once I get there and I figure it out, I will post here the solution or if anyone have already done that and would like to pitch in, please do so :heart:.

Looks good!

Your last question regarding linking brings some interesting challenges-
Rather than sharing an ID across the 3 translations, you may find a Ref field much easier to utilize later when you create your hreflang links.

I’ve been thinking about this structure as well, and had some whiteboard fun here;

1 Like

Did you guys have a look at Polyflow?
I have just finished a demo call with them and it seems that they solve all the issues raised here and the blockers from Weglot.

I am no SEO expert but based on the chart shared by Joao it seems they can easily handle all aspects of it:
image

One thing might be different if ou wish to handle different versions of your blog in each language but they told me that you can exclude the CMS from it and then indicate which url is a translation of the original blog post, if you have some blog posts that are translated and other that are not.
Otherwise if you want to translate all the posts, you can use their solution to handle also natively the CMS collections

What do you think?
I am considering switching to their solution but I would greatly appreciate your feedback if you see it a good solution or if you see blockers.

Thanks!

I’m pretty impressed with polyflow’s setup, and it looks very promising, but I haven’t tried implementing it on a project yet.

Three things to check;

  • Setup. Their solution appears to rely on a reverse proxy approach, so make sure you’re OK with / able to follow their setup instructions.
  • Paths. It appears your default language e.g. English must also be placed in a language subdir e.g. /en/. You can’t have / as your default language home, it will redirect.
  • Redirects. In my initial tests they don’t use a manifest.json which raises the question, are Webflow’s 301 redirects supported.

Overall though they are the most promising solution I’ve seen for multilingual Webflow sites.

I’ve made some notes here, but have a lot more testing to do.