← All Articles
WordPress Development · July 15, 2026

Bilingual WordPress Sites Done Right: WPML, hreflang and Not Losing Half Your Market

By Daniel Garcia Ospina · 4 min read

Bilingual WordPress Sites Done Right: WPML, hreflang and Not Losing Half Your Market

In a lot of US markets, half your customers search and buy in Spanish. Miami, San Antonio, Phoenix, Las Vegas and plenty more. If your site only speaks English, or speaks bad machine translated Spanish, you are not reaching those people. You built a storefront and locked half the doors.

A bilingual site done right fixes that. Done wrong, it creates duplicate content problems and ranks in neither language. Here is the difference.

One site, two languages, ranking separately

The goal is not “an English site with a translate button.” The goal is a proper English version and a proper Spanish version, each structured so Google ranks it in its own market. That means real URLs for each language and a clear signal to Google about which version serves which audience.

WPML and the URL structure

For most WordPress and Elementor builds, WPML is the tool that does this cleanly. It lets you translate pages, menus and templates, and it gives each language its own URL, usually in one of these patterns:

  • Subdirectory: yoursite.com/es/servicios/
  • Subdomain: es.yoursite.com

Subdirectory is the most common and the easiest to manage. What matters is that each language lives at a stable, indexable URL, not hidden behind JavaScript that Google cannot see.

hreflang: the part everyone gets wrong

hreflang is a small tag that tells Google “this page is the Spanish version of that English page.” Get it right and each version ranks for its own audience without competing with itself. Get it wrong, or leave it out, and Google may treat your two versions as duplicates, or show the wrong language to the wrong person.

Proper hreflang means every page declares its language and points to its counterpart in the other language. WPML can generate this automatically when it is configured correctly, which is the part that needs a careful hand rather than a default install.

Translation, not machine translation

Google can tell the difference between real translation and a raw machine dump, and so can your customer. A page that reads like it went through a translator app builds distrust, which is the opposite of what a bilingual site is for. The Spanish version should read as if it were written in Spanish, because for half your market, it is the only version they will ever see.

This matters most on the pages that convert: services, pricing, contact. Those deserve real, native translation even if some deeper pages get a lighter touch.

Why this is worth doing

We build bilingual sites because in many markets it is the difference between reaching half your customers and all of them. Splendor Regenerative Medicine in Miami is bilingual for exactly this reason, and so are several of the hospital and clinic sites in our portfolio. It is also why our own location pages for markets like Miami and San Antonio lead with the bilingual angle.

If bilingual is core to your market, the full picture of how we build it is on our WordPress development page.

The mistakes to avoid

  • A translate widget instead of real pages. Google cannot index it, so you get no ranking benefit and often a worse user experience.
  • Missing or broken hreflang. Leads to duplicate content confusion and the wrong language showing up in search.
  • Translating the blog but not the money pages, or the reverse. Be deliberate about which pages get full native translation.
  • Forgetting the details: forms, buttons, error messages and the checkout. A half translated experience feels broken.

What to do next

If a meaningful share of your customers speak Spanish and your site does not, that is not a small gap, it is half a market. Send us your site and tell us who you serve, and we will tell you honestly what a proper bilingual build would take. Get a free site review.

Ready to put this into practice?

Tell us about your project and get a free proposal within 24 hours. No commitment and no pressure.

Start Your Project