A Technical SEO Checklist for Small Multilingual Business Websites
Most of my work is building small-business websites in Tinos, Greece: guesthouses, local shops, professionals and seasonal tourism businesses. These sites are small, often a handful of pages, but they're almost always mu
Most of my work is building small-business websites in Tinos, Greece: guesthouses, local shops, professionals and seasonal tourism businesses. These sites are small, often a handful of pages, but they're almost always multilingual, because the visitors are Greek, German, French, Italian and more.
Small multilingual sites have a specific set of technical SEO problems. None of them are hard, but they are easy to get wrong. Here's the checklist I go through before launch.
1. One protocol, one host, one URL per page
Pick a single canonical origin (for example https://example.gr) and 301-redirect everything else to it:
-
http://example.grβhttps://example.gr -
http://www.example.grβhttps://example.gr -
https://www.example.grβhttps://example.gr
Test all four variants with curl -I. A surprisingly common failure is that the HTTPS version works perfectly while plain HTTP returns an error, often because a CDN or proxy in front of the server isn't configured to redirect. Old links, printed flyers and some crawlers still hit http://.
Then add a self-referencing canonical on every page:
<link rel="canonical" href="https://example.gr/en/">
Also watch for duplicate entry points such as /index.php returning 200 instead of redirecting to /.
2. Use language subfolders and real hreflang
For small sites, subfolders (/, /en/, /de/, /fr/) are the simplest structure: one domain, one hosting setup, shared authority.
Every language version should list all alternates, including itself, plus an x-default:
<link rel="alternate" hreflang="el" href="https://example.gr/">
<link rel="alternate" hreflang="en" href="https://example.gr/en/">
<link rel="alternate" hreflang="de" href="https://example.gr/de/">
<link rel="alternate" hreflang="x-default" href="https://example.gr/">
Common mistakes:
- Alternates that aren't reciprocal (EN points to DE but DE doesn't point back).
- Wrong codes (
gris a country, the language isel). - Machine-translated pages with untranslated titles and meta descriptions.
- Setting
<html lang>incorrectly. Each version needs its ownlang="el",lang="en"and so on.
3. Put hreflang in the sitemap too
It's optional if the tags are in the HTML, but adding them to the sitemap makes the relationships explicit:
<url>
<loc>https://example.gr/en/</loc>
<xhtml:link rel="alternate" hreflang="el" href="https://example.gr/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://example.gr/en/"/>
</url>
Reference the sitemap in robots.txt and submit it in Google Search Console and Bing Webmaster Tools.
4. Don't stop at a one-page site
A single long landing page is fine at launch, but it can only rank for so much. If you offer distinct services, give each one its own URL with its own title, H1 and meta description:
/services/web-design/
/services/local-seo/
/services/hosting/
Anchor links (/#services) are great for navigation, but search engines index URLs, not page sections. Separate pages also give you something specific to link to when you write articles or build profiles elsewhere.
5. Get LocalBusiness schema right
For a local business, JSON-LD structured data helps search engines connect your website with your physical presence:
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "Example Studio",
"url": "https://example.gr/",
"telephone": "+30...",
"address": {
"@type": "PostalAddress",
"addressLocality": "Tinos",
"addressCountry": "GR"
},
"sameAs": [
"https://www.facebook.com/...",
"https://github.com/..."
]
}
Tips:
- Use one primary business entity rather than several overlapping ones, and give it an
@idso other blocks can reference it. - Fill
sameAswith your real profiles. An empty array is a missed opportunity. - Only mark up reviews that are genuinely about the entity you're marking up. Testimonials about something else, or reviews collected and displayed on your own site about yourself, are a common reason review rich results get ignored or flagged.
- Validate with the Rich Results Test and the Schema.org validator.
6. Write titles and descriptions per language, per page
Titles should be written for humans in each language, not translated word for word. Keep the brand at the end, keep the separator consistent, and make sure the title tag matches your og:title closely enough that shares look intentional.
7. Treat mobile performance as a feature
Small business sites are usually built on themes that load several icon fonts, multiple Google Font families, carousels and animation libraries, often for features the page barely uses. Before launch:
- Load only the font families and weights you actually use.
- Drop unused CSS and JS bundles.
- Serve images in modern formats at the displayed size, with
width/heightset andloading="lazy"below the fold. - Check server response time. A slow TTFB on shared hosting hurts every page.
Test with PageSpeed Insights on a mobile profile, and also on a real phone over mobile data.
8. Make the business verifiable off-site
Technical SEO doesn't end on your domain. For local businesses, the most valuable step is usually a verified Google Business Profile with the same name, phone and address as the website, plus Bing Places and the main local directories. Consistent NAP (name, address, phone) data across the web is one of the clearest local signals you can send.
Wrapping up
None of this is advanced, but together it's the difference between a site that quietly sits there and one that search engines can understand, trust and show to the right people in the right language. If you want to see how I approach this for local businesses in the Cyclades, my site is a good place to start.
About the author
Panagiotis Papoutsis is a full-stack web developer (PHP, Drupal, Magento, custom builds) with 10+ years of experience and a focus on SEO and web analytics. He runs Tinos Web, building websites and local SEO for small businesses in Tinos and the Cyclades. More at tinosweb.gr.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β full credit and traffic to the original publisher.