সার্চ ইঞ্জিন প্রতি কন্টেন্টে একটি URL চায়। ওয়েবসাইট, নিজের মতো ছেড়ে দিলে, কয়েকটি তৈরি করে — সাধারণত দুর্ঘটনাক্রমে। একটি canonical tag হলো "কয়েকটি ঠিকানা এই কন্টেন্টে পৌঁছায়; এটিই আসল" বলার উপায়।
কেউ একই পাতা চারবার প্রকাশ করতে বের হয় না। এটি কাঠামোগতভাবে ঘটে:
https://example.com/product
https://example.com/product/
http://example.com/product
https://www.example.com/product
https://example.com/product?ref=newsletter
https://example.com/product?colour=blueএকজন মানুষের কাছে এগুলো স্পষ্টতই একই পাতা। একটি সার্চ ইঞ্জিনের কাছে এগুলো ছয়টি স্বতন্ত্র ঠিকানা যেগুলো ঘটনাক্রমে হুবহু একই কন্টেন্ট ফেরত দেয় — আর এটিকে ঠিক করতে হয় কোনটি index করবে আর কোনটি উপেক্ষা করবে।
দুটি পরিণতি, দুটোই নীরব:
www সংস্করণে আর অন্যরা non-www-তে লিংক করে, মূল্য একটিতে জমা না হয়ে দুটি ঠিকানার মধ্যে ভাগ হয়ে যায়।<head>
<link rel="canonical" href="https://example.com/product">
</head>প্রতিটি রূপভেদের <head>-এ রাখা, এটি বলে: আপনি যে ঠিকানা দিয়েই এখানে পৌঁছান, https://example.com/product-কে গণনায় ধরার মতো একটি হিসেবে গণ্য করুন। সংকেত সেখানে একত্র হয়, আর ফলাফলে সেই সংস্করণটিই দেখানো হয়।
Self-referencing canonical
একটি পাতা canonical সংস্করণ হলে সেটির নিজের দিকে নির্দেশ করা একটি canonical tag বহন করা উচিত। এটি স্বাভাবিক আর সঠিক — একটি ট্র্যাকিং প্যারামিটার বা একটি বিকল্প path দিয়ে পাতাটিতে পৌঁছালে একটি self-referencing canonical অস্পষ্টতা দূর করে।
noindex একটি পাতাকে ফলাফল থেকে সম্পূর্ণ সরায়।| পরিস্থিতি | সঠিক টুল |
|---|---|
| কয়েকটি URL-এ একই কন্টেন্ট | rel="canonical" |
| পাতা স্থায়ীভাবে সরানো হয়েছে | 301 redirect |
| পাতাটি ফলাফলে একেবারেই থাকা উচিত নয় | noindex meta ট্যাগ |
| কয়েকটি ভাষায় একই কন্টেন্ট | hreflang, সাথে প্রতি ভাষায় canonical |
একাধিক ভাষায় একই কন্টেন্ট পরিবেশন করা একটি সাইট — যেমন এই সাইট ইংরেজি আর বাংলায় করে — hreflang ব্যবহার করে ইঞ্জিনকে বলে পাতাগুলো একে অপরের অনুবাদ, নকল নয়, যাতে সঠিক ব্যক্তিকে সঠিক ভাষার সংস্করণ দেখানো হয়।