নিরাপত্তা ও ব্যবহারকারীর অভিজ্ঞতা বৃদ্ধি করুন: আপনার ব্লগে কীভাবে সেফলিঙ্ক পেজ বাস্তবায়ন করবেন
আপনার ব্লগে কি প্রায়ই বাইরের লিঙ্ক শেয়ার করেন? ডাউনলোড, রিসোর্স, বা অন্য কোনো ওয়েবসাইটের রেফারেন্স? তাহলে আপনার ভিজিটরদের সুরক্ষার জন্য একটি Safelink Page অপরিহার্য। এই পোস্টে আমরা ব্যাখ্যা করব Safelink কী, কেন এটি আপনার ওয়েবসাইটের জন্য গুরুত্বপূর্ণ, এবং কীভাবে আপনি নিজেই আপনার ব্লগে একটি সেশলিঙ্ক পেজ তৈরি ও সেটআপ করতে পারবেন। ধাপে ধাপে নির্দেশিকা এবং প্রয়োজনীয় কোড সহ, আপনার ওয়েবসাইটকে আরও নিরাপদ ও ব্যবহারকারী-বান্ধব করে তোলার সম্পূর্ণ প্রক্রিয়াটি এখানে পাবেন। আপনার ভিজিটরদের বিশ্বাস অর্জন করুন এবং ম্যালওয়্যার থেকে তাদের রক্ষা করুন, খুব সহজে!
ইন্টারনেটের বিশাল পরিসরে, আপনার ভিজিটরদের জন্য একটি নিরাপদ এবং মসৃণ ব্রাউজিং অভিজ্ঞতা নিশ্চিত করা অত্যন্ত গুরুত্বপূর্ণ। যদি আপনার ব্লগে প্রায়শই ডাউনলোড বা রিসোর্সের জন্য বাইরের লিঙ্ক শেয়ার করা হয়, তাহলে আপনি হয়তো সেফলিঙ্ক (safelink) ধারণাটির সাথে ইতিমধ্যে পরিচিত। তবে যারা পরিচিত নন, তাদের জন্য বিস্তারিত আলোচনা করা যাক।
সেফলিঙ্ক আসলে কী?
মূলত, একটি সেফলিঙ্ক আপনার ওয়েবসাইট এবং একটি বাহ্যিক গন্তব্যের মধ্যে একটি মধ্যবর্তী পৃষ্ঠা হিসাবে কাজ করে। এটিকে একটি নিরাপত্তা চৌকি হিসাবে ভাবুন। এর প্রাথমিক উদ্দেশ্য হল উদ্দিষ্ট URL বা লিঙ্কটি ভাইরাস এবং ম্যালওয়্যার থেকে নিরাপদ কিনা তা সনাক্ত করা। সংক্ষেপে, এটি ব্যবহারকারীকে উদ্দিষ্ট পৃষ্ঠায় যাওয়ার আগে একটি পুনঃনির্দেশিত পৃষ্ঠা (redirect page) যা সুরক্ষা নিশ্চিত করে।
যদিও সেফলিঙ্কগুলি সাধারণত ডাউনলোড-ভিত্তিক ব্লগ বা ওয়েবসাইটে দেখা যায়, তবে আপনি হয়তো লক্ষ্য করেছেন যে সেগুলি প্রায়শই মূল ব্লগের থেকে ভিন্ন ডোমেনে থাকে। এখানে আমাদের লক্ষ্য হল আপনাকে দেখাতে কিভাবে একটি সেফলিঙ্ক পৃষ্ঠা সেট আপ করতে হয় যা সরাসরি আপনার নিজস্ব ব্লগে থাকে, যার ফলে সর্বোচ্চ সুবিধা এবং নিরবিচ্ছিন্ন সংহতি পাওয়া যায়।
আপনার ব্লগে সেফলিঙ্ক পেজ কেন বাস্তবায়ন করবেন?
শুধুমাত্র তাৎক্ষণিক সুরক্ষা পরীক্ষা ছাড়াও, আপনার ডোমেনে সরাসরি একটি সেফলিঙ্ক পৃষ্ঠা যুক্ত করার বেশ কিছু সুবিধা রয়েছে:
ব্যবহারকারীর বিশ্বাস বৃদ্ধি: একটি নিরাপদ পৃষ্ঠার মাধ্যমে সক্রিয়ভাবে স্ক্যানিং এবং পুনঃনির্দেশ করার মাধ্যমে, আপনি আপনার ব্যবহারকারীদের সুরক্ষার প্রতি আপনার প্রতিশ্রুতি প্রদর্শন করেন, যা তাদের বিশ্বাস বৃদ্ধি করে।
উন্নত ব্যবহারকারীর অভিজ্ঞতা: যদিও এতে একটি অতিরিক্ত ধাপ যুক্ত হয়, তবে একটি নিরাপদ গন্তব্যের নিশ্চয়তা ম্যালিসিয়াস সাইটগুলির সাথে হতাশাজনক encounters প্রতিরোধ করতে পারে।
মুদ্রাকরণের সুযোগ: অনেক সেফলিঙ্ক প্রয়োগকারী সিস্টেমে মধ্যবর্তী পৃষ্ঠায় বিজ্ঞাপন প্রদর্শনের অনুমতি দেয়, যা আয়ের একটি অতিরিক্ত উৎস সরবরাহ করে। (কোডের মধ্যে AdSense এর জন্য স্থান ইঙ্গিত করা আছে)।
ব্র্যান্ডের ধারাবাহিকতা: সেফলিঙ্ককে আপনার নিজস্ব ডোমেনে রাখার মাধ্যমে ব্যবহারকারীর যাত্রার সময় আপনার ব্র্যান্ডের উপস্থিতি বজায় থাকে, তৃতীয় পক্ষের সাইটে না পাঠিয়ে।
ধাপে ধাপে: আপনার সেফলিঙ্ক পেজ তৈরি করা
আপনার নিজস্ব সমন্বিত সেফলিঙ্ক সেট আপ করতে প্রস্তুত? একটি মসৃণ বাস্তবায়ন নিশ্চিত করতে এই পদক্ষেপগুলি সাবধানে অনুসরণ করুন।
1. একটি নতুন পেজ তৈরি করুন
প্রথমে, আপনার ব্লগের ড্যাশবোর্ডে যান এবং একটি নতুন পেজ তৈরি করুন। এটি আপনার ডেডিকেটেড সেফলিঙ্ক পেজ হবে।
একবার তৈরি হয়ে গেলে, এডিটরটিকে HTML ভিউতে (অথবা WordPress-এ "Text" ভিউতে) স্যুইচ করুন এবং নিম্নলিখিত কোডটি পেস্ট করুন:
<div style="display:block">
</div><div class="safelink" id="safelink">
<center>
<div class="S_Button outline" id="AT_SAFELINK">Wait for a while...</div>
<script>
/*<![CDATA[*/ var currentURL=location.href; var str = currentURL; var res = str.replace('https://mdjblog.com' + '?url=', ""); function changeLink(){var decodedString = Base64.decode(res); window.open(decodedString,'_blank')}; document.write('<a href="#go-link" id="download-safelink" class="S_Button outline">Click to go to the link</a>'); var linkDL = document.getElementById("download-safelink"); var notif = document.getElementById("AT_SAFELINK"); var time = 30; var text_time = document.createElement("span"); linkDL.parentNode.replaceChild(text_time, linkDL); var id; id = setInterval(function () { time--; if (time < 0) { text_time.parentNode.replaceChild(linkDL, text_time); clearInterval(id); notif.style.display = "none"; linkDL.style.display = "inline-block"; } else { text_time.innerHTML = "The link will appear in time " + time.toString() + " second"; }}, 1000); /*]]>*/
</script>
</center></div>
<div class="blockLink" style="text-align: center;">
<div class="ads-left" id="ads-left">
</div>
<div id="go-link">
<a
class="S_Button"
href="javascript:void(0)"
onclick="changeLink();"
rel="nofollow noreferrer"
>Go to link</a
>
</div>
<div class="ads-right" id="ads-right">
</div></div>
গুরুত্বপূর্ণ সতর্কবার্তা!
এই পৃষ্ঠাটি প্রকাশ করার পরে, আপনি যে পেজটি তৈরি করেছেন তার URL/লিঙ্কটি কপি করুন। আপনাকে নিম্নলিখিত JavaScript কোডের মধ্যে থাকা https://mdjblog.com URL টিকে আপনার নতুন তৈরি করা সেফলিঙ্ক পেজের আসল URL দিয়ে প্রতিস্থাপন করতে হবে।
2. কিছু CSS যোগ করুন
এরপর, আপনার সেফলিঙ্ক পৃষ্ঠাটিকে সুন্দর দেখানোর জন্য কিছু স্টাইলিং যোগ করতে হবে। আপনার ব্লগের থিম এডিটরে ]]></b:skin>
ট্যাগটি খুঁজুন (এটি ব্লগার থিমগুলিতে সাধারণ; অন্যদের জন্য, আপনার প্রধান CSS ফাইল বা কাস্টম CSS বিকল্পটি দেখুন) এবং এর আগে নিম্নলিখিত CSS কোডটি পেস্ট করুন:
/* Safelink */.S_Button{display: inline-flex;display: -webkit-inline-flex;flex-wrap: wrap;-webkit-flex-wrap: wrap;align-items: center;-webkit-align-items: center;margin-bottom: 10px;padding: 9px 20px;border-radius: 10px;font-size: .8rem;line-height: 1.3rem;background-color: #282828;color: #fff;border: 1px solid #fff;}}.S_Button.outline{background-color:#282828;box-shadow: 0 2px 5px 0 rgba(0,0,0,.1);}.safelink span{display: block;font-size: 12px}.blockLink{display: flex;display: -webkit-flex;flex-wrap: wrap;-webkit-flex-wrap: wrap;align-items: center;-webkit-align-items: center}.blockLink > div{display: block;width: 35%;}.blockLink > div#go-link{width: 30%;}.blockLink > div#go-link a{display: none;margin: 0}.blockLink > div#go-link:target a{display: inline-flex;
text-decoration: none;
}.ads-top{margin: 0 0 20px 0;text-align: center}/* Responsive */@media screen and (max-width: 768px){.blockLink > div{width: 100% !important;margin: 0 0 15px;text-align: center}.blockLink > div:last-child{margin: 0}}
3. সবশেষে, কিছু জাভাস্ক্রিপ্ট যোগ করুন
এটি আপনার সেফলিঙ্ক সিস্টেমের মস্তিষ্ক। আপনার ব্লগের থিমের </body>
ট্যাগের আগে নিম্নলিখিত জাভাস্ক্রিপ্ট কোডটি পেস্ট করুন। এটি সাধারণত আপনার থিমের HTML কাঠামোর একেবারে শেষে থাকে।
<script>/*<![CDATA[*/ var Base64 = {_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (input) {var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Base64._utf8_encode(input); while (i < input.length) {chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) {enc3 = enc4 = 64;} else if (isNaN(chr3)) {enc4 = 64;} output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);} return output; }, decode: function (input) {var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9+/=]/g, ""); while (i < input.length) {enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) {output = output + String.fromCharCode(chr2);} if (enc4 != 64) {output = output + String.fromCharCode(chr3);} } output = Base64._utf8_decode(output); return output;}, _utf8_encode: function (string) {string = string.replace(/rn/g, "n"); var utftext = ""; for (var n = 0; n < string.length; n++) {var c = string.charCodeAt(n); if (c < 128) {utftext += String.fromCharCode(c);} else if ((c > 127) && (c < 2048)) {utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128);} else {utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); }} return utftext;}, _utf8_decode: function (utftext) {var string = ""; var i = 0; var c = c1 = c2 = 0; while (i < utftext.length) {c = utftext.charCodeAt(i); if (c < 128) {string += String.fromCharCode(c); i++;} else if ((c > 191) && (c < 224)) {c2 = utftext.charCodeAt(i + 1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2;} else {c2 = utftext.charCodeAt(i + 1); c3 = utftext.charCodeAt(i + 2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3;}} return string; }}; var encode = document.getElementById('encode'), decode = document.getElementById('decode'), output = document.getElementById('output'), input = document.getElementById('input'); var User_ID = ""; var protected_links = ""; var a_to_va = 0; var a_to_vb = 0; var a_to_vc = ""; function auto_safelink() {auto_safeconvert();}; function auto_safeconvert() {var a_to_vd = window.location.hostname; if (protected_links != "" && !protected_links.match(a_to_vd)) {protected_links += ", " + a_to_vd;} else if (protected_links == "") {protected_links = a_to_vd;} var a_to_ve = ""; var a_to_vf = new Array(); var a_to_vg = 0; a_to_ve = document.getElementsByTagName("a"); a_to_va = a_to_ve.length; a_to_vf = a_to_fa(); a_to_vg = a_to_vf.length; var a_to_vh = false; var j = 0; var daftarPostingan = [ "https://mdjblog.com" ]; var randomPostingan = daftarPostingan[Math.floor(Math.random()*daftarPostingan.length)]; var a_to_vi = ""; for (var i = 0; i < a_to_va; i++) {a_to_vh = false; j = 0; while (a_to_vh == false && j < a_to_vg) {a_to_vi = a_to_ve[i].href; if (a_to_vi.match(a_to_vf[j]) || !a_to_vi || !a_to_vi.match("https")) {a_to_vh = true;} j++; } if (a_to_vh == false) {var encryptedUrl = Base64.encode(a_to_vi); a_to_ve[i].href = randomPostingan + "?url=" + encryptedUrl; a_to_ve[i].rel = "nofollow noreferrer"; a_to_vb++; a_to_vc += i + ":::" + a_to_ve[i].href + "n"; }} var a_to_vj = document.getElementById("anonyminized"); var a_to_vk = document.getElementById("found_links"); if (a_to_vj) {a_to_vj.innerHTML += a_to_vb;} if (a_to_vk) {a_to_vk.innerHTML += a_to_va;} }; function a_to_fa() {var a_to_vf = new Array(); protected_links = protected_links.replace(" ", ""); a_to_vf = protected_links.split(","); return a_to_vf; }; /*]]>*/</script><script>/*<![CDATA[*/ protected_links = "facebook.com,instagram.com,twitter.com";auto_safelink(); /*]]>*/</script>
গুরুত্বপূর্ণ পদক্ষেপ!
ধাপ 1 থেকে সেই সতর্কবার্তাটি মনে আছে? এখানেই এটি কার্যকর হয়। আপনি যে জাভাস্ক্রিপ্ট কোডটি পেস্ট করেছেন, তাতে এই লাইনটি খুঁজুন:
var daftarPostingan = [ "
https://mdjblog.com
" ];
এবং "h
ttps://mdjblog.com
"
এর জায়গায় আপনার তৈরি করা সেফলিঙ্ক পেজের সম্পূর্ণ URL প্রতিস্থাপন করুন। উদাহরণস্বরূপ, যদি আপনার সেফলিঙ্ক পেজ https://yourblog.com/safelink-page/
হয়, তাহলে লাইনটি হবে:
var daftarPostingan = [ "
https://yourblog.com/safelink-page/
" ];
এছাড়াও, যদি আপনার এমন ডোমেন থাকে যা আপনি সেফলিঙ্কড হওয়া থেকে বাদ দিতে চান (যেমন সোশ্যাল মিডিয়া প্রোফাইল), তাহলে আপনি সেগুলিকে protected_links
ভেরিয়েবলে যোগ করতে পারেন:
protected_links = "facebook.com,instagram.com,twitter.com";
আপনি কমা দ্বারা বিভক্ত করে আরও ডোমেন যোগ করতে পারেন।
সম্পন্ন!
একবার আপনি এই পরিবর্তনগুলি করে ফেললে, আপনার থিমটি সেভ করুন। আপনার সেফলিঙ্ক সিস্টেম এখন সক্রিয় হওয়া উচিত! যখন ব্যবহারকারীরা আপনার সাইটের একটি বাহ্যিক লিঙ্কে ক্লিক করবেন (যা সুরক্ষিত লিঙ্ক নয়), তখন তাদের আপনার সেফলিঙ্ক পৃষ্ঠায় পুনঃনির্দেশিত করা হবে, যেখানে একটি কাউন্টডাউন প্রদর্শিত হবে মূল গন্তব্যে যাওয়ার আগে।
এই সেটআপটি কেবল নিরাপত্তা বাড়ায় না, বরং আপনার বহির্গামী লিঙ্কগুলির উপর আপনাকে আরও নিয়ন্ত্রণ এবং মুদ্রায়নের সম্ভাবনা প্রদান করে। বাস্তবায়ন প্রক্রিয়ার সময় আপনার কোন প্রশ্ন থাকলে, নীচের মন্তব্যগুলিতে জিজ্ঞাসা করতে দ্বিধা করবেন না!
সেফলিঙ্ক (Safelink) সম্পর্কে 10টি সাধারণ প্রশ্ন (FAQ)
এখানে সেফলিঙ্ক পেজ এবং এর ব্যবহার সম্পর্কে কিছু সাধারণ প্রশ্নের উত্তর দেওয়া হলো:
সেফলিঙ্ক কী?
সেফলিঙ্ক হলো একটি মধ্যবর্তী ওয়েবপেজ যা ব্যবহারকারীকে কোনো বাহ্যিক লিঙ্কে পুনঃনির্দেশিত করার আগে লিঙ্কের নিরাপত্তা পরীক্ষা করে। এটি নিশ্চিত করে যে উদ্দিষ্ট লিঙ্কটি ভাইরাস বা ম্যালওয়্যার থেকে মুক্ত।
আমার ওয়েবসাইটে কেন সেফলিঙ্ক ব্যবহার করব?
সেফলিঙ্ক ব্যবহার করলে আপনার ভিজিটরদের অনলাইন নিরাপত্তা বাড়ে। এটি আপনার সাইটের প্রতি তাদের বিশ্বাস বৃদ্ধি করে এবং সম্ভাব্য ক্ষতিকারক ওয়েবসাইট থেকে তাদের রক্ষা করে। কিছু ক্ষেত্রে, এটি বিজ্ঞাপন প্রদর্শনের মাধ্যমে আয়ের সুযোগও তৈরি করে।
সেফলিঙ্ক কি আমার ওয়েবসাইটের গতি কমিয়ে দেবে?
সাধারণত, সেফলিঙ্ক একটি অতিরিক্ত ধাপ যোগ করে, তাই এটি লিঙ্কে ক্লিক করার পর গন্তব্যে পৌঁছানোর সময় সামান্য বাড়াতে পারে। তবে, সঠিক বাস্তবায়নে এর প্রভাব ন্যূনতম রাখা সম্ভব।
সব ধরনের লিঙ্কের জন্য কি সেফলিঙ্ক ব্যবহার করা উচিত?
না। সাধারণত, ডাউনলোড লিঙ্ক বা অজানা উৎস থেকে আসা বাহ্যিক লিঙ্কগুলির জন্য সেফলিঙ্ক ব্যবহার করা হয়। পরিচিত এবং বিশ্বস্ত ওয়েবসাইট (যেমন সোশ্যাল মিডিয়া সাইট) বা আপনার নিজের অভ্যন্তরীণ লিঙ্কগুলির জন্য সেফলিঙ্ক এড়িয়ে যাওয়া ভালো।
আমি কি আমার নিজের ডোমেনে সেফলিঙ্ক পেজ তৈরি করতে পারি?
হ্যাঁ, অবশ্যই। এই ব্লগ পোস্টেই দেখানো হয়েছে কীভাবে আপনি আপনার নিজস্ব ডোমেনের একটি পেজে সেফলিঙ্ক সিস্টেম সেটআপ করতে পারবেন। এটি ব্র্যান্ডের ধারাবাহিকতা বজায় রাখে।
সেফলিঙ্ক পেজে বিজ্ঞাপন দেখানো কি বৈধ?
হ্যাঁ, যদি বিজ্ঞাপনের নিয়মাবলী মেনে চলে এবং ব্যবহারকারীকে সুস্পষ্টভাবে জানানো হয় যে তারা একটি মধ্যবর্তী পৃষ্ঠায় আছেন, তাহলে সেফলিঙ্ক পেজে বিজ্ঞাপন দেখানো বৈধ।
সেফলিঙ্ক কি আমার ওয়েবসাইটের SEO-কে প্রভাবিত করবে?
সঠিকভাবে সেটআপ করা সেফলিঙ্ক সাধারণত SEO-কে নেতিবাচকভাবে প্রভাবিত করে না। rel="nofollow noreferrer" অ্যাট্রিবিউট ব্যবহার করে আপনি সার্চ ইঞ্জিনকে জানাতে পারেন যেন তারা এই পুনঃনির্দেশিত লিঙ্কগুলি অনুসরণ না করে, যা আপনার মূল সাইটের অথরিটির উপর প্রভাব ফেলে না।
যদি সেফলিঙ্ক কাজ না করে, তাহলে কী করব?
কোড স্থাপনে কোনো ভুল থাকতে পারে। নিশ্চিত করুন যে সমস্ত HTML, CSS, এবং JavaScript কোড সঠিক স্থানে এবং নির্দেশিকা অনুযায়ী পেস্ট করা হয়েছে। বিশেষ করে, আপনার সেফলিঙ্ক পেজের URL সঠিকভাবে আপডেট করা হয়েছে কিনা তা পরীক্ষা করুন।
সেফলিঙ্ক পেজে টাইমার সেট করার উদ্দেশ্য কী?
টাইমার ব্যবহারকারীকে একটি নির্দিষ্ট সময় অপেক্ষা করতে উৎসাহিত করে, যা ঐ পৃষ্ঠায় বিজ্ঞাপন দেখানোর জন্য একটি সুযোগ তৈরি করে। এটি ব্যবহারকারীকে স্বয়ংক্রিয়ভাবে পুনঃনির্দেশিত হওয়ার আগে বিজ্ঞাপন দেখার জন্য সময় দেয়।
আমার সেফলিঙ্ক পেজ কি মোবাইল-বান্ধব হবে?
হ্যাঁ, এই পোস্টে দেওয়া CSS কোডটি প্রতিক্রিয়াশীল (responsive) ডিজাইন অন্তর্ভুক্ত করে, যা নিশ্চিত করে যে আপনার সেফলিঙ্ক পেজ মোবাইল ডিভাইসেও সঠিকভাবে প্রদর্শিত হবে।