Kalo te përmbajtja
SEO Analyzer

Ndërkombëtare

Hreflang vetëreferues

Çdo faqe me hreflang duhet të përfshijë edhe një etiketë që tregon te vetja; sot ky kontroll jep gjithnjë paralajmërim.

Çfarë është

Rregulli i hreflang-ut është që grupi i etiketave duhet të jetë i plotë dhe i mbyllur: çdo faqe e grupit liston të gjitha versionet, përfshirë vetveten.

Pra faqja shqip nuk liston vetëm versionin anglisht dhe atë gjerman — ajo liston edhe versionin shqip, me hreflang="sq" dhe me URL-në e vet.

Kjo duket e tepërt dhe nuk është. Ajo i thotë motorit se cila gjuhë është kjo faqe, dhe e bën grupin të verifikueshëm: motori mund të marrë cilëndo faqe të grupit dhe të rindërtojë prej saj gjithë grupin.

Pse ka rëndësi

Pa vetëreferencë, grupi nuk mbyllet. Motori merr faqen shqip, sheh se ekziston një version anglisht, por nuk di se kjo faqe është ajo shqipja — duhet ta hamendësojë.

Kur hamendësimi dështon, ose kur faqet e grupit nuk pajtohen me njëra-tjetrën, motori e shpërfill gjithë grupin. Të gjitha etiketat bëhen të kota.

Gabimi shfaqet më shpesh te shabllonet e gjeneruara: kodi që ndërton listën e gjuhëve alternative e përjashton me qëllim gjuhën aktuale, sepse "ajo nuk është alternativë". Logjikisht e arsyeshme, teknikisht e gabuar.

Rasti i dytë: një sajt me tri gjuhë ku secila faqe liston vetëm dy të tjerat. Asnjë faqe nuk e mbyll grupin dhe asnjë etiketë nuk punon.

Si rregullohet

Te faqja shqip, blloku duhet të përmbajë edhe vetveten:

<!-- te https://shembull.com/sq/produkti -->
<link rel="alternate" hreflang="sq" href="https://shembull.com/sq/produkti">
<link rel="alternate" hreflang="en" href="https://shembull.com/en/product">
<link rel="alternate" hreflang="x-default" href="https://shembull.com/en/product">

Hapat:

  • I njëjti bllok, identik, në të gjitha faqet e grupit. Kjo e zgjidh problemin njëherë.
  • URL-ja vetëreferuese duhet të përputhet me canonical-in e asaj faqeje.
  • Përdor URL absolute dhe të njëjtën formë kudo — me ose pa vizë të fundit, por jo të përziera.
  • Gjenero listën një herë dhe përfshije në çdo version, në vend që ta ndërtosh për secilën faqe veç.
  • Verifiko duke hapur dy faqe të grupit dhe krahasuar blloqet: duhet të jenë të njëjta.

Si e mat ky mjet

Te InternationalSeoAnalyzer::analyzeHreflang() (services/InternationalSeoAnalyzer.php:85) ekziston një ndryshore $hasSelfRef. Vlera e saj kthehet si has_self_reference (:115), dhe te analyze() (:18) kontrollohet: nëse faqja ka të paktën një etiketë hreflang dhe kjo vlerë është false, jepet paralajmërim me −10 pikë (:20).

Çfarë NUK e mat

Ky kontroll jep gjithnjë paralajmërim. Ndryshorja $hasSelfRef vendoset false te services/InternationalSeoAnalyzer.php:89 dhe nuk vendoset kurrë `true` — asnjë rresht kodi nuk e ndryshon atë vlerë. Krahasimi me URL-në e faqes nuk kryhet fare.

Pasoja: çdo faqe që ka qoftë edhe një etiketë hreflang merr konstatimin "Missing Self-Referencing Hreflang" dhe humb 10 pikë, edhe kur vetëreferenca është e pranishme dhe e saktë.

Kjo mospërputhje u mat gjatë përgatitjes së kësaj përmbajtjeje dhe është regjistruar te kontrollet/index.json. Konstatimi nuk duhet besuar sot; vetëreferenca duhet verifikuar me dorë ose me një mjet tjetër.

Edhe po të punonte, kontrolli nuk do të shihte reciprocitetin midis faqeve — për atë duhet marrja e çdo URL-je të grupit.

Mospërputhje midis tekstit të analizuesit dhe matjes

Kjo faqe ndjek matjen, jo tekstin që prodhon analizuesi.
Teksti i analizuesitÇfarë ndodhSi u matBurimi
Missing Self-Referencing Hreflang (−10 pikë)Ndryshorja hasSelfRef vendoset false te rreshti 89 dhe nuk vendoset kurrë true; asnjë krahasim me URL-në e faqes nuk kryhet.Kërkimi i simbolit `hasSelfRef` te skedari jep vetëm dy shfaqje: caktimin te :89 dhe kthimin te :115. Asnjë degë nuk e ndryshon.matur gjatë 5.10services/InternationalSeoAnalyzer.php:89

Kodi që e kryen matjen

  • services/InternationalSeoAnalyzer.php:89hasSelfRef
  • services/InternationalSeoAnalyzer.php:18has_self_reference

Standardi