Vile & Kell logo

SEO

Kuidas Frameri "Canonical URL" korda teha

22. aug 2023

Canonical tag
Canonical tag
Canonical tag

"Canonical URL" on veebilehe õige, ehk originaalaadress. Mõnes kohas leiab ka otsetõlke – kanooniline aadress – ent kas see ka sobib on iseküsimus. Võid otsustada selle üle siin.

Nagu selgub, siis Frameri odavama otsa pakettidel puudub "Canonical url-i" seadistamise võimalus.

Frameri hinnapakett

Joonis 1. Näe niipalju maksab kui tahad ise ära määrata kanoonilise veebiaadressi

See tähendab aga seda, et su lehele kipub tekkima kaks kanoonilist (näe ikka panin eesti keelse) aadressi – www ja ilma www-ta versioonid. See on halb, sest Google ei armasta kahte samasugust lehte. Selle kohta saad lugeda pikemalt Mozilla lehelt, kus kirjeldatakse www ja nö "naked domaini" ehk alasti dmeeni ehk ilma www-ta versiooni vahel valimist.

Teine probleem on, et Frameri lahjemad versioonid panevad kogu lehele vaid ühe kanoonilise aadressi – pealehe oma. Seega kui sa Frameriga nt blogi pead, siis kõik lehed on ühe algaadressiga, mistap kogu muu sisu jääb otsimootoritel indekseerimata.

Vat sulle näh!

Mida siis teha, kui sa ei taha end ogaraks maksta ühe kanoonilise aadressi seadistamise pärast?

Frameril on õnneks võimalus lisada oma koodijuppe. Kui lisada lihtsalt päisesse: <link rel="canonical" href="https://www.sinuaadress.ee/"> tekib lehele kaks kanoonilist aadressi, mis pole ka hea, ent õnneks on võimalus javascripti kasutades asendada olemasolev sobivaga. Nt nii:
document.addEventListener("DOMContentLoaded", function() {
let canonical = document.querySelector('link[rel="canonical"]');
if (canonical) {
canonical.setAttribute('href', 'https://sinuaadress.ee/blog/:slug');
} else {
// If no canonical tag exists, create one
canonical = document.createElement('link');
canonical.rel = 'canonical';
canonical.href = 'https://sinuaadress.ee/blog/:slug';
document.head.appendChild(canonical);
}
});

Antud skript otsib lehelt "canonical url-i" ja asendab selle sinu omaga ja kui lehel pole vastavat aadressi, siis lisab. Aadressi lõpus olev ":slug" asendatakse Frameri poolt antud lehe aadressi lõpuga.

Ja niipalju kui ma seda mõnes testeris katsetasin, näis, et asi toimib kenasti.

Palun.