Even the best content brings no traffic if search engines cannot find, read and understand it. Technical SEO builds that foundation: the site loads fast, pages get indexed, language versions do not mix and structured data describes information clearly.
Azerbaijani-language sites have their own specifics: multilingual structures (az, en, ru), special letters (ə, ğ, ı, ö, ü, ç, ş), queries typed in mixed ways and frequent hosting issues are typical for this market.
This article covers technical SEO in five areas: Core Web Vitals, indexing and crawling, hreflang, schema markup and URL structure. It ends with a checklist you can use for any site.
Short answer: for an Azerbaijani-language site, technical SEO means fast and stable pages, correct indexing, a separate URL and reciprocal hreflang for each language, schema that matches visible content and clear, transliterated URLs.
Core Web Vitals
Core Web Vitals are Google's three main user-experience metrics. They come from real users' browser data and show how fast a page loads, how fast it responds and how stable it looks. See web.dev on Core Web Vitals.
| Metric | What it measures | "Good" threshold |
|---|---|---|
| LCP (Largest Contentful Paint) | Load time of the largest visible element | 2.5 seconds or less |
| INP (Interaction to Next Paint) | Responsiveness to clicks and taps | 200 milliseconds or less |
| CLS (Cumulative Layout Shift) | Layout shifts during loading | 0.1 or less |
Thresholds are assessed at the 75th percentile of visits, so at least three quarters of visits should be "good". INP replaced FID in 2024.
LCP: the largest element
On most sites the LCP element is the hero image, a banner or a large heading. Typical causes of delay are a slow server, unoptimized images and render-blocking scripts.
- Serve the hero image in a modern format (WebP or AVIF) at the right size.
- Do not lazy-load the LCP image; load it with priority instead.
- Check server response time (TTFB): hosting, caching and CDN.
- Defer non-critical JavaScript.
INP: responsiveness
With poor INP a user taps a button and the page does not respond for a while. The usual cause is heavy JavaScript: third-party scripts, chat widgets, many analytics tags.
Remove unused tags in Google Tag Manager and load heavy widgets after user interaction. Splitting long JavaScript tasks into smaller pieces is the main fix for developers.
CLS: visual stability
CLS problems appear when text the user is reading suddenly jumps down. Causes are usually images without dimensions, late-loading ad blocks or late web fonts.
- Set width and height on every image and video.
- Reserve space for banners and ad blocks.
- Preload web fonts and choose font-display carefully.
Where to check
Search Console's Core Web Vitals report shows real-user data by URL group. PageSpeed Insights gives both field and lab data for a single page. Most users in Azerbaijan browse on mobile, so check mobile first.
Indexing and crawling
If a page is not in the index, it is not in search results. Indexing problems are often silent: the site works, but some key pages are invisible to Google.
Crawling
Googlebot discovers pages through internal links and sitemaps. A page with no internal links that is also missing from the sitemap is unlikely to be found — an "orphan page".
- robots.txt must not block key sections.
- The XML sitemap should list only indexable, 200-status, canonical URLs.
- Reference the sitemap in robots.txt and submit it in Search Console.
- Internal links should be plain HTML links, not buttons that only work through JavaScript events.
Reading the indexing report
Search Console's Page indexing report shows why pages are not indexed. The most common statuses:
| Status | Meaning | What to do |
|---|---|---|
| Crawled – currently not indexed | Google read the page but did not index it | Check quality, duplication and internal links |
| Discovered – currently not indexed | Found but not yet crawled | Strengthen internal links, check server speed |
| Duplicate without user-selected canonical | Treated as a duplicate | Add a canonical or merge pages |
| Excluded by noindex tag | The page has noindex | Remove it if unintended |
| Not found (404) | The page does not exist | 301-redirect old URLs to new ones |
Canonicals and duplicates
In online stores the same product can appear under dozens of URLs via filters, sorting and UTM parameters. Every page should carry a canonical tag pointing to its main address. Which filter pages to index is a separate strategic decision.
Server and hosting
Some Azerbaijani sites sit on cheap shared hosting that slows down or returns 5xx errors at peak times. Search Console's Crawl stats report shows how the server responds to the bot; frequent errors can reduce crawling.
JavaScript and rendering
Google can render JavaScript, but it costs extra resources and time. Main text, headings, internal links and meta tags should arrive in server-rendered HTML. In Next.js, Nuxt and similar frameworks, server-side rendering or static generation solves this.
hreflang: az and en
Many sites in Azerbaijan run in two or three languages: Azerbaijani, English and Russian. The hreflang attribute tells search engines which language versions of a page exist, helping users get results in their own language.
Core rules
- Each language version has its own URL, e.g. /xidmetler and /en/services.
- Each version points to itself and to all other versions (self-reference and reciprocity).
- Language codes use ISO 639-1: az, en, ru.
- Add a region code when needed: az-AZ, ru-AZ.
- x-default marks the default version for users with no matching language.
The rules are in Google's documentation on localized versions. The most common mistake is missing reciprocity: the AZ page points to EN, but EN does not point back.
Example
The Azerbaijani page's head contains hreflang="az" to itself, hreflang="en" to the English version and hreflang="x-default" to the default. The English version repeats the same three links. Each version's canonical is its own URL, never another language.
Common mistakes
- Every language version's canonical points to the AZ page, which can drop other languages from the index.
- Automatic IP-based language redirects stop the bot from seeing the EN version.
- Half-finished translations, with half the page in another language.
- hreflang in the sitemap contradicts hreflang in the HTML.
The html lang attribute
The html lang attribute matters for browsers and screen readers. Google determines language mainly from content, but setting lang correctly on each version is still good practice.
Domain and geography
A .az domain is a clear signal of the Azerbaijani market. On .com or .org, language versions and hreflang matter more. Search Console's old international targeting report is no longer used, so content and hreflang are the main signals.
Schema markup
Schema markup describes page information in structured, machine-readable form; Google recommends JSON-LD. Schema is not presented as a ranking factor, but it matters for rich result eligibility and correct understanding.
Most useful types
| Page type | Schema | Note |
|---|---|---|
| Home | Organization, WebSite | Name, logo, contacts, official profiles |
| Local business | LocalBusiness | Address, hours — real data only |
| Product | Product, Offer | Price in AZN, stock status |
| Blog | Article, BreadcrumbList | Headline, date, author |
| Service | Service, BreadcrumbList | Service name and description |
Azerbaijani context
Use AZN as priceCurrency, AZ as addressCountry and the city as addressLocality. Set inLanguage to match each language version.
Rules
- Schema must describe only visible content.
- Fabricated ratings, reviews or prices violate the guidelines.
- Placeholder values ("[Address]", "[X]") must not go into schema.
- Validate markup with Google's Rich Results Test.
We explain how schema relates to AI answers in our AEO / GEO guide.
URL structure and Azerbaijani letters
A URL tells users and search engines what the page is about. On Azerbaijani-language sites the main question is how to handle special letters.
Transliteration
Letters like ə, ğ, ı, ö, ü, ç, ş technically work in URLs, but turn into long percent-encoded strings when shared. Transliterated slugs are more practical: ə → e, ı → i, ş → s, ç → c, ğ → g, ö → o, ü → u.
| Page | Recommended URL |
|---|---|
| Services (Xidmətlər) | /xidmetler |
| Contact (Əlaqə) | /elaqe |
| Instructors (Müəllimlərimiz) | /muellimlerimiz |
| Privacy (Məxfilik) | /mexfilik |
Correct spelling in headings
Even with transliterated URLs, titles, H1s and text should use the correct Azerbaijani alphabet. Search engines can match a query typed with "e" to text written with "ə". There is no need to misspell on purpose or repeat both variants.
General rules
- Lowercase, hyphens between words.
- Short and meaningful: /xidmetler/seo, not /xidmetler/seo-xidmeti-baki-azerbaycan.
- A fixed prefix per language: /en/, /ru/.
- When a URL changes, 301-redirect the old address.
The checklist
Use this list when launching a site, after a major redesign and at least quarterly. Mark each item "yes / no / partly" and prioritize the problems.
Technical base
- HTTPS works everywhere and HTTP 301-redirects.
- One of www / non-www is primary; the other redirects.
- robots.txt does not block key sections and lists the sitemap.
- The XML sitemap is submitted in Search Console without errors.
- The 404 page returns a real 404 status.
Speed and experience
- Mobile LCP, INP and CLS are "good".
- The hero image is optimized and not lazy-loaded.
- Unused GTM tags and third-party scripts are removed.
Indexing
- Key pages are indexed in Search Console.
- Every page has its own canonical.
- No orphan pages; every key page has internal links.
- Main text appears in HTML without JavaScript.
Language versions
- Each language version has its own URL.
- hreflang is reciprocal and includes x-default.
- Canonicals do not point to another language.
- The html lang attribute is correct on each version.
Content and schema
- One H1 per page, a unique title (about 55–60 characters) and meta description (about 150–160 characters).
- Organization, BreadcrumbList and page-type schema are in place.
- No placeholder or fabricated values in schema.
- Images have meaningful alt text; decorative images use alt="".
We apply this checklist to real sites in our SEO course. For the long-term result of a solid technical base, see our organic growth case study: 921K clicks and 8.11M impressions in 16 months.
Google's official SEO Starter Guide is also a useful starting point.
Issues specific to online stores
Technical SEO is harder on e-commerce sites. Hundreds or thousands of products, filters, sorting options and out-of-stock items create many indexing risks.
Filters and faceted navigation
Every combination of colour, size, price and brand filters can create a URL. Most have no search demand and near-identical content, wasting crawl resources and creating duplicates.
- Keep filter pages with real demand (e.g. "Samsung smartphones") as optimized category pages.
- Point other combinations' canonical to the main category or use noindex.
- Do not index sorting parameters.
- Not every filter link needs to be open to bots; plan this with developers.
Out-of-stock products
If a product is temporarily unavailable, keep the page: show the status, alternatives and a notify option, and update stock status in Product schema. If it is gone for good, 301-redirect to the closest alternative or category; with no alternative, 404 or 410 is acceptable.
Pagination
Each paginated page should have its own canonical, not one pointing to page 1, with plain HTML links between pages so bots reach every product. If you use "load more", keep a crawlable link behind it.
Product descriptions
Many Azerbaijani stores copy manufacturer descriptions verbatim, so the same text exists on dozens of sites. At least for key products, write descriptions for the local audience that reflect your experience: delivery, warranty, usage tips.
Technical SEO during a site migration
A redesign, new platform or domain change is one of the riskiest moments for organic traffic. Old URLs get lost, redirects are forgotten and years of signals can weaken. A proper plan reduces the risk considerably.
Before the migration
- List all old URLs from the sitemap, a crawler and Search Console.
- Identify pages with the most traffic and links.
- Build a redirect map from every old URL to its new address.
- Check that titles, meta descriptions, H1s and main text carry over.
- Keep the staging site behind noindex or a password.
Launch day
- Apply 301 redirects without chains or loops.
- Remove leftover staging noindex tags and robots.txt blocks.
- Submit the new sitemap in Search Console.
- For a domain change, use Search Console's Change of Address tool.
After the migration
Monitor indexing and 404 errors daily in the first weeks and compare organic traffic by page group in GA4. Temporary fluctuation is normal; sustained drops on key pages call for checking redirects and content differences.
The most common and most expensive migration mistake is a leftover staging noindex tag. Make it your first post-launch check.
Frequently asked questions
How often should a technical SEO check be done?
Run a full check at least quarterly and immediately after a major redesign or platform change. Reviewing Search Console reports weekly is enough.
Can URLs use Azerbaijani letters?
Technically yes, but shared URLs turn into long encoded strings. A transliterated slug such as /xidmetler is more practical; use the correct alphabet in the text.
Should hreflang go in the HTML or the sitemap?
Both are valid. What matters is that the chosen method lists all language versions reciprocally and without contradictions.
How much do Core Web Vitals affect rankings?
Core Web Vitals are part of Google's page experience signals. They do not replace relevant, quality content, but they can make a difference between similar pages and in user experience.
What does 'Crawled – currently not indexed' mean?
Google read the page but chose not to index it for now. Common reasons are thin or duplicate content, weak internal linking or the page appearing low-value.
Does a .az domain help SEO?
A .az domain is a clear signal of the Azerbaijani market. But a .com site with proper language versions, hreflang and local content can also perform well in Azerbaijan.
Conclusion
Technical SEO is not a one-off job. As a site grows, new pages, scripts and language versions appear and old problems return. Turn the checklist into a regular process.
For Azerbaijani-language sites the key points are mobile speed, correct indexing, reciprocal hreflang and a clear URL structure. Once this base is in place, content and link strategy can work at full strength. Speed metrics are explained in detail in our Core Web Vitals guide, and the overall SEO map is in our what is SEO article.
Want to check your site's technical SEO? Let us start with a Core Web Vitals, indexing and hreflang audit.
See the SEO service