Meta
URL kanonike (rel=canonical)
Etiketa që i tregon motorit cila URL është versioni zyrtar i një faqeje; mjeti e sheh praninë, por nuk e krahason me URL-në reale.
Çfarë është
<link rel="canonical"> deklaron cila nga disa URL të ngjashme është versioni që duhet indeksuar. E njëjta faqe arrihet shpesh nga shumë adresa: me dhe pa www, me dhe pa vizë të fundit, me parametra gjurmimi, me filtra renditjeje, me ?utm_source=….
Për motorin secila prej tyre është një dokument më vete derisa t'i thuhet e kundërta. Canonical-i është ajo thënie. Ai është sugjerim, jo urdhër — motori e merr parasysh bashkë me sinjale të tjera dhe mund të vendosë ndryshe.
Pse ka rëndësi
Pa canonical, fuqia e lidhjeve që tregojnë nga jashtë ndahet midis varianteve. Dhjetë lidhje drejt /produkti dhe dhjetë drejt /produkti?ref=fb bëhen dy faqe me nga dhjetë lidhje, jo një me njëzet.
Një canonical që tregon te një domain tjetër është defekti më i shtrenjtë i kësaj etikete: ti po i thua motorit se versioni zyrtar i faqes sate rri te dikush tjetër. Kjo ndodh vërtet, zakonisht kur një shabllon kopjohet nga një sajt tjetër dhe canonical-i i hardkoduar mbetet aty. Rezultati është që faqja jote zhduket nga indeksi dhe autoriteti i saj i kalon një domaini të huaj.
Gabimi i kundërt është po aq i zakonshëm: një canonical i vetëm në të gjitha faqet e sajtit, që tregon te faqja kryesore. Atëherë gjithë sajti reduktohet në një faqe.
Si rregullohet
Vendos canonical vetë-referues në çdo faqe, me URL absolute:
<link rel="canonical" href="https://shembull.com/produkti/laptop-x">Hapat:
- URL absolute, jo relative.
href="/produkti"punon, por i lë vend paqartësisë për skemën dhe hostin. - Një canonical për faqe. Dy etiketa canonical me vlera të ndryshme e bëjnë motorin t'i shpërfillë të dyja.
- Vetë-referues si parazgjedhje. Çdo faqe tregon te vetja; përjashtimet bëhen me vetëdije.
- Hiq parametrat e gjurmimit nga vlera e canonical-it, edhe kur URL-ja aktuale i ka.
- Kontrollo shabllonet e kopjuara. Nëse canonical-i përmban një domain që nuk është yti, ke rastin e rrezikshëm.
- Mos vendos canonical drejt një faqeje me `noindex`. Sinjalet kundërshtojnë njëri-tjetrin.
Si e mat ky mjet
MetaAnalyzer::analyzeCanonical() (services/MetaAnalyzer.php:109) lexon //link[@rel="canonical"]/@href. Nëse vlera është bosh, jep paralajmërim (:116); përndryshe e shënon si kaluar dhe e shfaq URL-në (:119).
Çfarë NUK e mat
Ky kontroll e mat vetëm praninë. Metoda e merr URL-në e faqes si parametër dhe nuk e përdor kurrë (services/MetaAnalyzer.php:109), prandaj një canonical që tregon te një domain krejt tjetër raportohet si passed. Pikërisht rasti më i dëmshëm i kësaj etikete nuk kapet sot. Mjeti as nuk sheh nëse ka më shumë se një canonical, as nëse faqja e synuar kthen 200, as nëse ajo faqe tregon prapa te kjo. Kjo mospërputhje është regjistruar te MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §4.3 dhe mbulohet nga fikstura 05-canonical-nder-domain.html.
Mospërputhje midis tekstit të analizuesit dhe matjes
| Teksti i analizuesit | Çfarë ndodh | Si u mat | Burimi |
|---|---|---|---|
| Canonical URL is set — passed | Metoda e merr URL-në si parametër dhe nuk e përdor. Një canonical ndër-domain raportohet si i rregullt. | Mbi fiksturën 05-canonical-nder-domain.html (URL shembull.test, canonical tjeter-domain.test) dalja ishte 'passed | canonical_ok'. — MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §4.3 | services/MetaAnalyzer.php:109 |
Kodi që e kryen matjen
services/MetaAnalyzer.php:109— MetaAnalyzer::analyzeCanonicalservices/MetaAnalyzer.php:116— missing_canonical