টেক্সট স্লাগিফাই (URL)
একটি প্রফেশনাল টেক্সট স্লাগিফাই টুল যা টেক্সটকে URL-সহায়ক স্লাগে স্বাভাবিক করে, ছোট হাতের অক্ষরে রূপান্তর, কাস্টম সেপারেটর এবং ইংলিশের স্টপওয়ার্ড অপসারণ সমর্থন করে। বেশিরভাগ ভাষার অক্ষর পরিচালনা করতে ইউনিকোড নরমালাইজেশন ব্যবহার করে, তৈরি স্লাগগুলো SEO সেরা প্র্যাক্টিস মেনে চলে নিশ্চিত করে। ব্লগ পোস্টের URL, ফাইল নামকরণ, ডেটাবেস শনাক্তকারী এবং অন্যান্য পরিস্থিতির জন্য আদর্শ। আপনার গোপনীয়তা রক্ষা করার জন্য সম্পূর্ণরূপে স্থানীয়ভাবে প্রসেস করা হয়—কোনো রেজিস্ট্রেশনের প্রয়োজন নেই। উচ্চ-মানের স্লাগ তৈরি করতে সাহায্য করার জন্য বিস্তারিত ব্যবহার নির্দেশিকা এবং সেরা প্র্যাক্টিসের সুপারিশ প্রদান করে।
কেন স্লাগিফাই ব্যবহার করবেন?
🔍 SEO অপ্টিমাইজেশন
URL-এর কীওয়ার্ড সার্চ ইঞ্জিনকে পৃষ্ঠার বিষয়বস্তু বুঝতে সাহায্য করে এবং র্যাঙ্কিং উন্নত করে। উদাহরণস্বরূপ, example.com/blog/how-to-learn-javascript হল example.com/blog/123-এর তুলনায় বেশি কার্যকর।
👁️ পঠনযোগ্যতা এবং শেয়ারযোগ্যতা
ইউজাররা URL থেকে তাৎক্ষণিকভাবে বিষয়বস্তু বুঝতে পারেন। স্লাগগুলি সোশ্যাল মিডিয়াতে বেশি শেয়ারযোগ্য এবং ম্যানুয়ালি মনে রাখা বা টাইপ করা সহজ।
💻 সিস্টেম সামঞ্জস্য
ফাইলনাম বা URL-এ বিশেষ অক্ষরের কারণে সৃষ্ট ত্রুটি এড়ায়। ক্রস-প্ল্যাটফর্ম (Windows/Linux/macOS) সামঞ্জস্য নিশ্চিত করে এবং এনকোডিং সমস্যা প্রতিরোধ করে।
🗄️ ডাটাবেস-সম্মত
ইউনিক আইডেন্টিফায়ার হিসেবে ব্যবহার করুন (উদাহরণ: ইউজারনেম, ট্যাগ) যাতে SQL ইনজেকশনের ঝুঁকি কমে এবং ইনডেক্সিং ও কোয়েরি কর্মক্ষমতা বাড়ে।
স্লাগিফাই কী?
স্লাগ হলো URL, ফাইলনাম বা শনাক্তকারী হিসেবে ব্যবহৃত টেক্সটের সংক্ষিপ্ত, মানসম্মত সংস্করণ। সাধারণ প্রসেসিংয়ের মধ্যে কেস স্ট্যান্ডার্ডাইজ করা, বিরামচিহ্ন অপসারণ করা এবং শব্দগুলোকে সেপারেটর দিয়ে যুক্ত করা অন্তর্ভুক্ত।
- ASCII অগ্রাধিকার: উচ্চারণ চিহ্ন এবং চিহ্ন অপসারণ করুন, শুধুমাত্র আক্ষরিক অক্ষর, সংখ্যা এবং স্পেস রাখুন
- ইউনিকোড সামঞ্জস্যপূর্ণ: প্রসেস করার আগে NFKD ব্যবহার করে বেশিরভাগ ভাষার অক্ষর নরমালাইজ করুন
- URL-সহায়ক: আউটপুটে শুধুমাত্র অক্ষর, সংখ্যা এবং সেপারেটর থাকে—পথে সরাসরি ব্যবহার করার জন্য প্রস্তুত
প্রায়শই জিজ্ঞাসিত প্রশ্ন
প্রশ্ন: চাইনিজ অক্ষর কীভাবে পরিচালনা করা হয়?
উত্তর: ডিফল্টভাবে, ডায়াক্রিটিকস সরানো হয় এবং পিনইন অক্ষর বজায় রাখা হয়। বিশুদ্ধ চাইনিজ টেক্সট খালি হয়ে যেতে পারে; স্লাগিফাই করার আগে ম্যানুয়ালি পিনইনে রূপান্তর করা বা চাইনিজ পিনইন রূপান্তর টুল ব্যবহার করা সুপারিশ করা হয়।
প্রশ্ন: আমার ফলাফল কেন খালি?
উত্তর: আপনার ইনপুট সম্পূর্ণরূপে বিরামচিহ্ন, সিম্বল বা স্পেস নিয়ে গঠিত হতে পারে, অথবা স্টপওয়ার্ড ফিল্টারিংয়ের মাধ্যমে সমস্ত শব্দ সরানো হয়েছে। স্টপওয়ার্ড অপশনটি নিষ্ক্রিয় করুন বা আপনার ইনপুট সামঞ্জস্য করুন।
প্রশ্ন: বিভাজক হিসেবে কি - বা _ ব্যবহার করা উচিত?
উত্তর: SEO-এর জন্য - (হাইফেন) ব্যবহার করুন, কারণ Google এটিকে স্পেস হিসেবে বিবেচনা করে; _ (আন্ডারস্কোর) একটি সংযোগ চিহ্ন হিসেবে বিবেচিত হয়, যা শব্দ পৃথকীকরণে বাধা দেয়। ফাইলনামের জন্য, উভয়ই গ্রহণযোগ্য।
প্রশ্ন: স্লাগের কি কোনো দৈর্ঘ্যের সীমা আছে?
উত্তর: কোনো প্রযুক্তিগত সীমা নেই, তবে ভালো URL প্রদর্শন এবং SEO-এর জন্য স্লাগগুলি 50 অক্ষরের নিচে রাখা সুপারিশ করা হয়। অত্যধিক দীর্ঘ স্লাগ সার্চ ইঞ্জিন দ্বারা কেটে ফেলা হতে পারে।
সেরা অনুশীলন
সুপারিশকৃত অনুশীলন
- ✓ সংক্ষিপ্ত রাখুন (প্রস্তাবিত: ৫০টিরও কম অক্ষর)
- ✓ বিশেষ অক্ষর এড়িয়ে চলুন; শুধুমাত্র অক্ষর, সংখ্যা এবং বিভাজক ব্যবহার করুন
- ✓ কেস-সেনসিটিভ সমস্যা এড়াতে ছোট হাতের অক্ষর ব্যবহার করুন
- ✓ শব্দের অর্থনৈতিক ঘনত্ব বাড়ানোর জন্য স্টপশব্দগুলো সরিয়ে দিন
এসব অভ্যাস এড়িয়ে চলুন
- ✗ সংবেদনশীল তথ্য অন্তর্ভুক্ত করবেন না (উদাহরণ: আইডি, ইমেইল, পাসওয়ার্ড)
- ✗ বিশেষ অক্ষর ব্যবহার করবেন না (উদাহরণ: @#$%^&*)
- ✗ স্পেস বা পরপর বিভাজক ধরে রাখবেন না
- ✗ একই শব্দ পুনরাবৃত্তি করবেন না
টেকনিক্যাল বিবরণ
NFKD বিশ্লেষণ + সংমিশ্রণকারী ডায়াক্রিটিক (\p{M}) অপসারণ ব্যবহার করে, যার ফলে Café রূপান্তরিত হয় Cafe-তে। বেশিরভাগ ল্যাটিন-ভিত্তিক অক্ষরকে সমর্থন করে।
সাধারণ ইংরেজি শব্দের উপর ভিত্তি করে (a/an/the/and/or/of/to/in/on/for/at/by/with); কাস্টমাইজযোগ্য। চাইনিজ স্টপশব্দগুলো পৃথকভাবে পরিচালনা করা প্রয়োজন।
ES6+ এবং ইউনিকোড রেজেক্স (\p{...}) সমর্থন প্রয়োজন। আধুনিক ব্রাউজারে সমর্থিত: Chrome 64+, Firefox 78+, Safari 11.1+।
প্রোগ্রামিং ভাষার মাধ্যমে স্লাগ কীভাবে তৈরি করবেন?
JavaScript
function slugify(text) {
return text
.toLowerCase()
.normalize("NFKD")
.replace(/[\u0300-\u036f]/g, "")
.replace(/[^\w\s-]/g, "")
.trim()
.replace(/[\s_-]+/g, "-")
.replace(/^-+|-+$/g, "");
}
PHP
function slugify($text) {
$text = mb_strtolower($text);
$text = iconv("UTF-8", "ASCII//TRANSLIT", $text);
$text = preg_replace("/[^\w\s-]/", "", $text);
$text = preg_replace("/[\s_-]+/", "-", $text);
return trim($text, "-");
}
Python
import re
import unicodedata
def slugify(text):
text = text.lower()
text = unicodedata.normalize("NFKD", text)
text = text.encode("ascii", "ignore").decode("ascii")
text = re.sub(r"[^\w\s-]", "", text)
text = re.sub(r"[\s_-]+", "-", text)
return text.strip("-")
Go
import (
"regexp"
"strings"
"golang.org/x/text/unicode/norm"
)
func Slugify(text string) string {
text = strings.ToLower(text)
text = norm.NFKD.String(text)
re := regexp.MustCompile(`[^\w\s-]`)
text = re.ReplaceAllString(text, "")
re = regexp.MustCompile(`[\s_-]+`)
text = re.ReplaceAllString(text, "-")
return strings.Trim(text, "-")
}
Ruby
require "unicode"
def slugify(text)
text = text.downcase
text = Unicode.nfkd(text).gsub(/[^\x00-\x7F]/, "")
text = text.gsub(/[^\w\s-]/, "")
text = text.gsub(/[\s_-]+/, "-")
text.strip.gsub(/^-+|-+$/, "")
end
Java
import java.text.Normalizer;
public static String slugify(String text) {
text = text.toLowerCase();
text = Normalizer.normalize(text, Normalizer.Form.NFKD);
text = text.replaceAll("[^\\w\\s-]", "");
text = text.replaceAll("[\\s_-]+", "-");
return text.replaceAll("^-+|-+$", "");
}