Kalo te përmbajtja
SEO Analyzer

Ndërkombëtare

Strategjia e URL-ve ndërkombëtare

Si ndahen gjuhët në URL — nëndosje, nëndomain apo domain kombëtar; mjeti e hamendëson nga shtegu.

Çfarë është

Kur një sajt ka disa gjuhë ose rajone, ato duhet të ndahen në URL. Ka tri strategji të zakonshme.

Nëndosja: shembull.com/sq/, shembull.com/en/. Më e thjeshta për t'u mbajtur, gjithë autoriteti mbetet te një domain.

Nëndomaini: sq.shembull.com. Ndarje më e qartë teknike, por autoriteti ndahet.

Domaini kombëtar: shembull.al, shembull.de. Sinjali më i fortë gjeografik, por kosto dhe punë e trefishtë — dhe secili domain nis nga zero.

Një e katërt, parametrat e pyetjes (?lang=sq), nuk rekomandohet: ajo është e brishtë dhe e vështirë për t'u indeksuar.

Pse ka rëndësi

Zgjedhja ka pasoja afatgjata dhe është e vështirë të ndryshohet më vonë; çdo ndryshim kërkon ridrejtime masive dhe humbje të përkohshme trafiku.

Për shumicën e sajteve, nëndosja është zgjedhja e drejtë: gjithë lidhjet që merr sajti ndihmojnë çdo gjuhë, dhe mirëmbajtja është një server, një certifikatë, një konfigurim.

Domaini kombëtar ka kuptim vetëm kur ka vërtet operacione të ndara për vend — ekipe të ndryshme, çmime të ndryshme, entitete ligjore të ndryshme.

Gabimi më i shpeshtë nuk është zgjedhja e strategjisë por mungesa e saj: e njëjta URL shërben gjuhë të ndryshme sipas IP-së ose sipas kokës së shfletuesit. Atëherë motori indekson vetëm një version — atë që sheh nga vendi ku ndodhet — dhe të tjerët nuk ekzistojnë për kërkimin.

Si rregullohet

https://shembull.com/sq/produkti     ← nëndosje: e rekomanduar
https://sq.shembull.com/produkti     ← nëndomain
https://shembull.al/produkti         ← domain kombëtar

Hapat:

  • Zgjidh një strategji dhe mbaje. Përzierja e tyre është më keq se cilado prej tyre.
  • Kurrë mos e ndrysho gjuhën pa ndryshuar URL-në. Çdo version duhet të ketë adresën e vet të qëndrueshme.
  • Mos ridrejto automatikisht sipas IP-së. Ofro një sugjerim që përdoruesi mund ta refuzojë.
  • Shto hreflang midis versioneve sapo ndarja të ekzistojë.
  • Mos përkthe vetëm menunë. Një faqe me menu shqip dhe përmbajtje angleze nuk është version shqip.

Si e mat ky mjet

InternationalSeoAnalyzer::analyzeUrlStructure() (services/InternationalSeoAnalyzer.php:177) e ndan URL-në dhe zbaton tri shprehje të rregullta: një kod gjuhe nga një listë prej trembëdhjetë te shtegu (:182), një domain të nivelit të parë nga një listë prej gjashtëmbëdhjetë (:183), dhe një prefiks gjuhe te hosti (:184).

Strategjia zgjidhet me përparësi: nëndosje, pastaj nëndomain, pastaj domain kombëtar, përndryshe none (:186–189).

Çfarë NUK e mat

Rezultati nuk prodhon asnjë konstatim — ai ruhet vetëm te të dhënat e raportit. Asnjë strategji nuk vlerësohet si e mirë apo e keqe.

Listat janë të ngurta dhe nuk e përfshijnë shqipen: modeli i nëndosjes njeh vetëm trembëdhjetë kode (en, fr, de, es, it, pt, nl, pl, ru, ja, ko, zh, ar), prandaj një URL si `shembull.com/sq/produkti` nuk njihet si nëndosje gjuhe. E njëjta vlen për domainin .al dhe .xk, që nuk janë në listën e domaineve kombëtare.

Kontrolli i nëndomainit njeh vetëm pesë prefikse (en, fr, de, es, it).

Dhe ekziston një defekt i matur që e bën rezultatin e pabesueshëm: te thirrja e këtij analizuesi nga orkestruesi (services/SeoAnalyzer.php:95), argumenti i URL-së merr tekstin HTML në vend të adresës. Matur mbi një faqe pa asnjë kod gjuhe në URL, mjeti raportoi strategjinë subdirectory dhe has_lang_in_url = true — të dyja të pavërteta. Detajet te MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §4.2.

Mospërputhje midis tekstit të analizuesit dhe matjes

Kjo faqe ndjek matjen, jo tekstin që prodhon analizuesi.
Teksti i analizuesitÇfarë ndodhSi u matBurimi
strategy: subdirectory · has_lang_in_url: trueArgumenti i pestë shpërfillet nga PHP-ja pa paralajmërim; parse_url zbatohet mbi tekstin HTML.Mbi një URL pa asnjë kod gjuhe, dalja ishte 'subdirectory' dhe has_lang_in_url=true — të dyja të pavërteta.MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §4.2services/SeoAnalyzer.php:95
strategy: noneModeli i nëndosjes njeh trembëdhjetë kode gjuhe, asnjëri 'sq'. Lista e domaineve kombëtare nuk përmban .al dhe .xk.Shprehjet e rregullta te :182 dhe :183.matur gjatë 5.10services/InternationalSeoAnalyzer.php:182

Kodi që e kryen matjen

  • services/InternationalSeoAnalyzer.php:177InternationalSeoAnalyzer::analyzeUrlStructure
  • services/SeoAnalyzer.php:95InternationalSeoAnalyzer