Translating Your Website
SitePack lets you offer your website in more than one language without rebuilding it. You design and write your site once in your main language, and then translate only the words (the headings, paragraphs, buttons, page details, and web addresses) into each additional language you offer.
This guide walks through the whole process: turning a language on, translating your content, keeping translations up to date, and understanding how everything appears to visitors and search engines.
The big idea: translate the words, keep the design
Most website builders make a full copy of your site for every language, which quickly becomes hard to maintain. Change a design in one language and you have to repeat it everywhere. SitePack works differently:
- Your master design lives in one place, the page you built in your main language.
- A translation is just an overlay of text on top of that same design. You translate the text; the layout, colours, images, and structure come straight from the original.
- Because there is only one design, every language automatically stays consistent. Improve a page once and all languages benefit.
What you translate for each item:
- Headings and text from the page (the actual words visitors read).
- The page title and meta description used by search engines and social media.
- The slug: the readable part of the web address (for example
become-a-member). - For products, the product description as well.
What you do not translate: images, colours, layout, buttons' links, and anything visual. Those are shared from your master design.
Before you start: turn on a language
Translating becomes available once you have added at least one extra language. If you have not done that yet:
- Go to Settings → Translations.
- Add the language you want (for example English or German).
See the Translations settings guide for pricing and options. Once a language is active, come back here.
Finding the Translations page
Go to Content → Translations. Along the top of the page you will find:
- Search: type part of a name or web address to narrow the list. It matches both the original and the translated version, so you can find a page by either language.
- Language: pick which language you are translating into (only languages you have added appear here).
- Content type: choose what you are translating: Pages, Blog, Products, or Categories. Products and Categories only appear when your website has the Online Store feature.
Below that is a list of everything of that type on your site, each with a progress bar and a status badge:
- Complete: every translatable piece of text has a translation.
- Incomplete: some text is still untranslated (it will fall back to your main language until you fill it in).
- Outdated: you changed the original text after translating it, so those pieces need another look (more on this below).
Click Translate next to any item to open its translation editor.
Showing only what still needs work
Next to the page heading is a row of filters (All, Incomplete, Outdated, Complete), each with a count of how many items it covers. Selecting one narrows the list to just those items, which is the quickest way to work through a large site: pick Incomplete to see only what has never been translated, or Outdated to catch up after editing your original pages.
The counts follow whatever you typed in the search box, so they always match what selecting that filter will show you.
Long lists are split into pages of 25, with the total shown underneath (for example "Showing 1-25 of 500"). Combine the Incomplete filter with the search box to work through one section of your website at a time instead of scrolling through everything.
Using the translation editor
The editor shows your content as a list of side-by-side pairs:
- On the left is the original text in your main language (read-only, for reference).
- On the right is where you type your translation.
The editor is organised into two parts:
- Page details: the slug (web address), title, meta title, meta description, social description, and focus keyword.
- Content: every heading, paragraph, button label, and section of text extracted from the page, in the order it appears.
A few things worth knowing:
- Empty fields fall back to the original. You do not have to translate everything at once. Anything you leave blank simply shows your main-language text on the live site. Translate what matters most first and come back later.
- Translated slugs are yours to choose. For a page that lives at
/lid-wordenin Dutch, you might set the English slug tobecome-a-member, so the English page is served atyourdomain.com/en/become-a-member. Keep slugs short, lowercase, and descriptive. - Click Save when you are done. Your progress is stored per item and per language, so you can work in stages.
Auto-translate (optional)
If you connected a translation provider (DeepL or Google Translate) in Settings → Translations, an Auto-translate button appears at the top of the editor. Click it to have the untranslated (and outdated) text filled in with suggestions. Nothing is saved automatically, the suggestions appear in the right-hand fields for you to review, adjust, and then Save. This gives you a fast first draft while keeping the final wording under your control.
Slugs are never auto-translated, because the web address is your choice and affects your links.
Keeping translations up to date
When you edit the original page and change a piece of text, SitePack notices that the source no longer matches what you translated earlier. That translation is then flagged as outdated:
- The item shows an "outdated" badge and count in the list.
- Inside the editor, each affected line is marked outdated, so you can see exactly which sentences changed.
Your old translation is kept, not deleted. Nothing disappears from your live site. The flag is simply a reminder to review those specific lines and update them if needed. Once you save, the flag clears.
This is why the workflow scales: you never have to re-check an entire page after a small edit. SitePack points you straight to the few lines that changed.
Translating products and categories
If your site has the Online Store, choose Products or Categories as the content type to translate them the same way as pages:
- Products: translate the name, description, slug, and the meta/social details.
- Categories: translate the name, slug, meta details, and any text you added above or below the product listing.
Everything else about the product or category (images, prices, stock, and which category it belongs to) is shared across all languages, so you only ever manage those once.
How translated pages appear to visitors
With the default subfolder setting, translated pages live under a short language prefix on your normal domain:
| Main language (Dutch) | English translation |
|---|---|
yourdomain.com/lid-worden | yourdomain.com/en/become-a-member |
yourdomain.com/blog/mijn-post | yourdomain.com/en/blog/my-post |
yourdomain.com/categories/schoenen | yourdomain.com/en/categories/shoes |
Each language has its own prefix (en, de, fr, and so on) and you decide what it is. Use just the language (/de/) or language and country (/de-de/), whichever suits your website; you can also run two regions of the same language side by side, such as /de/ for Germany and /de-ch/ for Switzerland. See choosing how a language appears in the web address.
Visitors on a translated page see your translated text where you provided it, and your original text everywhere you have not, always inside your original design.
A language switcher for visitors
So that visitors can move between languages, most SitePack themes can display a language menu that links each page to its equivalent in the other languages. It shows the language the visitor is reading (a flag followed by the language in its own name, for example 🇳🇱 Nederlands) and opens the full list of languages the page exists in, with the one being read marked as current. The links point directly to the matching translated page.
Languages are named in their own language (Deutsch, Français, Ελληνικά) because that is what a visitor recognises. If you offer two regions of the same language, the country is added so they stay apart: Deutsch (Deutschland) and Deutsch (Schweiz).
If you build your own custom theme, you have three ways to add a switcher to your template:
{{ sitepack_language_switcher() }}renders the complete dropdown: the flag, the language name and the list of other languages. It opens and closes on its own, so it works without any JavaScript, and you can style it through itssitepack-language-switcherclasses. Pass your own class or label if you like:{{ sitepack_language_switcher({class: 'my-languages', label: 'Language', flag_size: 'l'}) }}.{% for language in sitepack_languages() %}gives you the raw data to build your own markup:language.name,language.flag,language.url,language.hreflangandlanguage.is_active.{{ sitepack_translations() }}is the older plain list of links, labelled by the uppercase language code.
All three output nothing when the page has only one language, so you can drop them in unconditionally.
Built for search engines (SEO)
Translations are set up to be found correctly by Google and other search engines out of the box:
- Every page carries the correct
hreflangtags (on your main pages and on the translated ones), telling search engines which languages a page is available in and linking them together. This helps Google show the right language to the right visitor. - The
hreflangvalue always matches the web address prefix you chose:/de/is published ashreflang="de"and/de-ch/ashreflang="de-CH", so you never claim a country you are not actually targeting. - An
x-defaulttag points at the full address of the page in your main language, which is what search engines fall back to for visitors whose language you do not offer. - Each language gets its own canonical URL, so pages are not treated as duplicates.
- Your translated titles and meta descriptions are used on the translated pages, and the page declares the same language it advertises: a page served at
/de/is marked asde, one served at/de-ch/asde-CH. - Your sitemap automatically lists the language alternates for every page, using each page's own translated web address, so the sitemap and the page itself always agree, and neither points at an address that redirects.
You do not need to configure any of this. Providing translations is all that is required for the SEO signals to be generated.
A recommended workflow
- Add the language in Settings → Translations.
- Start with your most important pages (home, key landing pages, contact) and give each a clear translated slug, title, and meta description.
- Translate the body text, or use Auto-translate for a first draft and refine it.
- Move on to blog posts, and (for stores) products and categories.
- When you edit an original page later, revisit anything flagged outdated. SitePack will show you exactly what changed.
Because unfinished translations gracefully fall back to your main language, you can publish a language early and keep improving it over time without ever showing an empty page.