Building a multilingual WordPress site becomes much easier when you understand how Polylang works with custom post types, taxonomies, and navigation menus. These three parts of WordPress often power the most important content structures on a site, and translating them properly is key to creating a smooth experience for visitors in every language.
In this guide, you’ll learn how to set up Polylang for custom content, connect translated taxonomies, and manage language-aware menus without losing structure or usability. Whether you run a business site, a portfolio, or a content-heavy publication, the same principles apply: keep your content organized, make translations consistent, and ensure navigation feels natural in each language.
Why Polylang matters for structured multilingual content
Polylang is popular because it integrates well with WordPress content architecture. Instead of treating translations like a separate system, it lets you assign languages to posts, pages, custom post types, categories, tags, and menus. That means your multilingual site can stay organized inside the same WordPress dashboard.
This is especially useful when your site includes content beyond standard blog posts. For example, you may have:
- Custom post types such as products, team members, case studies, events, or testimonials
- Custom taxonomies such as product categories, service types, locations, or event topics
- Navigation menus that need to reflect each language and user journey accurately
When these elements are translated and linked correctly, visitors can browse your site naturally in their preferred language without encountering broken structure or mismatched labels.
How to use Polylang with custom post types
Custom post types are often the backbone of a dynamic WordPress site. Polylang can translate them, but the post type must be registered in a way that allows multilingual support. If your custom post type is not available in Polylang settings, it may need to be enabled by your theme, plugin, or registration code.
Step 1: Make sure the custom post type is translatable
In Polylang, go to the languages or settings area and check whether your custom post type appears in the list of content types that can be translated. If it does, enable it. If it does not, confirm that the post type is publicly accessible and properly registered.
For plugin developers or site builders working with code, the post type should be registered with translation in mind. In many cases, the issue is not Polylang itself but how the custom post type was created.
Step 2: Create a translation for each item
Once enabled, each custom post type entry can be translated separately. For example, if you have a “Services” post type, you might create a French version of each service page and connect it to the original language version using Polylang’s translation controls.
This approach works well because it allows you to adapt the content for each audience, not just translate text literally. You can localize examples, calls to action, and even formatting if needed.
Step 3: Keep slugs and permalinks consistent
Translated custom post types often need language-specific slugs. This helps search engines and users understand the page structure in each language. A clear URL structure also makes your site easier to maintain over time.
For example, a service page might use different URL paths for English and Spanish versions while still representing the same content type. The important thing is consistency across the site so that each language feels intentional and complete.
Best practices for custom post types
- Translate the title, body content, excerpts, and SEO fields for each language
- Use the same content structure across versions to preserve usability
- Check featured images and media captions where relevant
- Link every translated item to its counterpart so users can switch languages easily
- Review archive pages if your custom post type has a listing view
Managing taxonomies in Polylang
Taxonomies help organize content, and in multilingual websites they play a major role in discovery and filtering. Polylang can translate custom taxonomies as well as built-in ones like categories and tags. This is important because taxonomy terms often appear in menus, filters, breadcrumbs, and archive pages.
Translate terms, not just posts
One common mistake is translating the content but leaving taxonomy terms in the default language. That creates a confusing experience. A visitor may land on a translated page and still see category names, filters, or labels in another language.
To avoid this, create translated versions of each term. For example, if your site uses a “Locations” taxonomy, each location should have a translated term where appropriate. If a term is a proper noun or brand name, you may decide to keep it unchanged, but that should be a deliberate choice.
Use taxonomies to improve navigation and search
Translated taxonomies are especially useful for content filtering. If your site includes a portfolio, directory, or product catalog, users may rely on taxonomy archives to browse content quickly. When the taxonomy is translated correctly, filters and archive pages remain intuitive in every language.
This also supports better SEO. Search engines can understand the relationship between content items and their categories or tags, which helps multilingual site structure remain clear and crawlable.
Common taxonomy setup tips
- Translate taxonomy names, descriptions, and term slugs when possible
- Keep taxonomy relationships consistent across languages
- Avoid creating unnecessary duplicate terms
- Check archive templates to ensure translated labels display correctly
- Test filtering and sorting tools in every language version
Using Polylang with navigation menus
Navigation menus are one of the most visible parts of a multilingual site. If menus are not translated properly, even high-quality content can feel hard to use. Polylang gives you the ability to create separate menus for each language and assign them to the correct menu locations.
Create a menu for each language
The most reliable method is to create a dedicated menu per language. That way, each menu can contain translated pages, custom links, and labels that fit the language and audience. You can still keep the overall structure similar, but the wording should be natural for each locale.
For example, an English menu might include “About,” “Services,” and “Contact,” while a French menu may use translated equivalents and possibly a different order if that better suits the audience.
Link translated pages in menus
When adding pages or custom post type items to a menu, make sure you select the translated version for that language. If you accidentally add the default-language item, visitors may be taken to the wrong language version or see inconsistent menu behavior.
Polylang can help you keep translations aligned, but it is still important to review each menu manually after updates. This is especially true when new content types are added or when the site structure changes.
Handle language switchers thoughtfully
A language switcher should be easy to find and should send users to the equivalent page whenever possible. If a translated page does not exist, the behavior should still be clear and predictable. Place the switcher in a visible location such as the header, top bar, or footer, depending on your design.
Good language switcher placement reduces friction and helps visitors stay engaged. It also makes your multilingual site feel polished and intentional.
Menu management checklist
- Create one menu per language
- Assign each menu to the correct theme location
- Use translated labels and translated page links
- Review dropdowns and nested items for consistency
- Test the language switcher on desktop and mobile
Practical workflow for a smooth multilingual setup
The easiest way to manage Polylang on a site with custom post types, taxonomies, and navigation menus is to follow a repeatable workflow. This reduces errors and saves time when you publish new content.
- Register or confirm the custom post types and taxonomies you want to translate
- Enable multilingual support for those content types in Polylang
- Translate core content first, then supporting taxonomy terms
- Build separate menus for each language
- Test every language version on the front end
- Check archives, filters, and switchers after each major update
If you are managing a larger site, document your translation process so editors and content managers follow the same rules. This prevents mixed-language content and keeps the site easier to maintain.
Common mistakes to avoid
Even experienced WordPress users can run into issues when setting up Polylang for structured content. The most common problems usually come from incomplete translation coverage or inconsistent menu setup.
- Leaving custom post types untranslated: If the post type is not enabled in Polylang, users may see only one language version.
- Forgetting taxonomy terms: Translated posts with untranslated categories or tags feel unfinished.
- Mixing menu items across languages: This creates confusing navigation and can lead users to the wrong content.
- Ignoring archive pages: Listing pages for custom post types should also be reviewed for translated titles and labels.
- Not testing the full user journey: Always click through menus, filters, and language switchers to confirm everything works together.
Final thoughts
Using Polylang with custom post types, taxonomies, and navigation menus gives you a strong foundation for a professional multilingual WordPress site. The key is to think beyond simple page translation and treat your site structure as part of the translation process.
When custom post types are translated properly, taxonomies are localized, and menus are built per language, your site becomes easier to navigate, more trustworthy, and better prepared for SEO. The result is a multilingual experience that feels consistent from the first click to the final conversion.
If you want the best results, keep your workflow organized, test each language carefully, and make sure every structured content element supports the user experience in that language. That is where Polylang becomes especially powerful.