Thursday, October 15, 2015

প্লাগিন ছাড়াই SEO সহায়ক ডাইনামিক টাইটেল ট্যাগ ওয়ার্ডপ্রেসের জন্য

ওয়ার্ডপ্রেসে টাইটেল ট্যাগ ডাইনামিক করার বিভিন্নরকম পদ্ধতি আছে। তবে, সেটা হয়তো আপনার চাহিদাকে সন্তুষ্ট করার জন্য যথেষ্ট হবে না। এজন্য, আপনাকে হয় প্লাগিনের উপর নির্ভর করতে হবে অথবা নিজে নিজে কোডিং করে নিতে হবে। মার্কেটে অনেক ভালো ভালো ফ্রি প্লাগিন আছে এই কাজের জন্য। এর মধ্যে All in One SEO Pack এবং WordPress SEO by Yoast উল্লেখযোগ্য। এগুলোর সাহায্যে ব্যবহারকারীরা সহজেই বিভিন্ন পেজের জন্য বিভিন্ন ধরনের কাস্টম শিরোনাম উল্লেখ করতে পারবে।

যাই হোক না কেন, অনেকেই আছে যারা চেষ্টা করে যতটা সম্ভব কম প্লাগিন ব্যবহার করার। আবার অনেকে আছে যারা নিজে নিজে কোডিং করতে ভালোবাসে। যারা প্লাগিন ছাড়াই নিখুঁতভাবে ওয়ার্ডপ্রেস টাইটেল ট্যাগ তৈরি করতে চান, আশা করি আজকের টিপসটি নিশ্চিতভাবে তাদেরকে তা করতে সাহায্য করবে।

প্রাথমিক ধারণা

টাইটেল ট্যাগ যেকোনো ওয়েবসাইটের <head> সেকশনের মধ্যে ব্যবহৃত হয়। ডাইনামিকভাবে তৈরিকৃত সাইট, যেমন ওয়ার্ডপ্রেস দ্বারা চালিত সাইটে বিভিন্ন ধরনের পেজ বিদ্যমান, এগুলোর মধ্যে হলোঃ
  • হোম পেজ
  • বিশেষ পেজ
  • সিঙ্গেল টিউন পেজ
  • তারিখ ভিত্তিক আর্কাইভ
  • ক্যাটাগরি আর্কাইভ
  • লেখক আর্কাইভ
  • ট্যাগ আর্কাইভ
  • সার্চ রেজাল্ট পেজ
  • 404 পেজ
...এবং আরও অনেকরকম। ওয়ার্ডপ্রেসে ডাইনামিক টাইটেল সাধারণত থিমের header.php ফাইলে জেনারেট করা হয়, (এক্স) এইচটিএমএল এবং পিএইচপি এর সমন্বয়ে। এবার আমরা দেখবো কিভাবে এইসকল পেজগুলোতে ডাইনামিক টাইটেল ট্যাগ জেনারেট করতে হয়।

জেনারেট ডাইনামিক টাইটেল ট্যাগ

ওয়ার্ডপ্রেসে টাইটেল ট্যাগ জেনারেট করার একটা বেসিক উদাহরণ হলোঃ
	<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
...যা প্রত্যেকটি পেজের জন্যই আলাদা টাইটেল দেখাবে নিচে উল্লেখিত ফরম্যাটেঃ
	Blog Name >> Title of Displayed Page
অবশ্যই, এই ফরম্যাটেই কাজ সম্পন্ন হয়ে যায়, কিন্তু এটাকে আরও স্পষ্টভাবে উন্নত করা সম্ভব। উদাহরণস্বরূপ, পেজ টাইটেলকে ব্লগ টাইটেলের পূর্বে উল্লেখ করলে পেজের SEO মান বৃদ্ধি পায়। এটা পেজের উদ্দেশ্য পাঠকের কাছে আরও স্পষ্টভাবে ফুটিয়ে তুলে পেজের ব্যবহারযোগ্যতারও উন্নতি সাধন করে। কারন, পাঠকরা সবসময় একটি নির্দিষ্ট বিষয়বস্তুর অনুসন্ধান করে, ব্লগের নাম না। নিচে ব্লগ নেম এবং পেজ টাইটেলের অবস্থা বিপরীত করার পদ্ধতি উল্লেখ করা হলো, যা ওয়ার্ডপ্রেস ২.৫+ এর জন্য প্রযোজ্যঃ
	<title><?php wp_title('&raquo;','true','right'); ?><?php bloginfo('name'); ?></title>
...যা এখন হোম পেজ ব্যতীত প্রত্যেকটি পেজে টাইটেল দেখাবে নিচের মতো করেঃ
	Title of Displayed Page >> Blog Name
...এবং হোম পেজে শুধুমাত্র ব্লগের নাম প্রদর্শিত হবে।
২.৫ এর আগের ভার্শনে এই কোড কাজ করবে না। আগের ভার্শনে টাইটেল ডাইনামিক করতে চাইলে হয় নিচের কোডটি কাজ করবেঃ
	<title><?php wp_title(''); ?><?php if (!(is_404()) && (is_single()) || (is_page()) || (is_archive())) { ?> &raquo; <?php } ?><?php bloginfo('name'); ?></title>
অথবা, নিচের কোডটিঃ
	<title><?php wp_title(''); ?><?php if(wp_title('', false)) { echo ' &raquo; '; } ?><?php bloginfo('name'); ?></title>
ডিফল্টভাবে, wp_title() ট্যাগ পেজের ধরনের উপর নির্ভর করে নিচের তথ্যগুলো প্রদর্শন করেঃ
  • হোম পেজ - ফাঁকা
  • বিশেষ পেজ – পেজের শিরোনাম
  • সিঙ্গেল টিউন পেজ – টিউনের শিরোনাম
  • তারিখ ভিত্তিক আর্কাইভ – বছর এবং/অথবা মাসের নাম
  • ক্যাটাগরি আর্কাইভ – ক্যাটাগরি শিরোনাম
  • লেখক আর্কাইভ – লেখকের পাবলিক নাম
  • ট্যাগ আর্কাইভ – ট্যাগের নাম
  • সার্চ রেজাল্ট পেজ - অনুসন্ধান ফলাফল >> অনুসন্ধানের নাম
  • 404 পেজ – পাতাটি খুঁজে পাওয়া যায়নি
সুতরাং, আমরা ইতিমধ্যেই টাইটেল ট্যাগ মোটামুটি নিখুঁতভাবে কনফিগার করার পদ্ধতি শিখে ফেললাম। চাইলে এতটুকুর মধ্যেই সন্তুষ্ট থাকা যায়, কিন্তু এটাকে ঠিক পুরোপুরি নিখুঁত বলা যায় না। পুরোপুরিভাবে নিখুঁত করতে হলে আপনাকে প্রত্যেকটি পেজ উল্লেখ করে নির্দিষ্টভাবে টাইটেল ট্যাগ কনফিগার করতে হবে।

আরও নির্দিষ্ট করে টাইটেল ট্যাগ কনফিগার করা

এবার আমরা দেখবো আরও পরিনতভাবে কি করে টাইটেল ট্যাগ কনফিগার করা যায়। ওয়ার্ডপ্রেসে বিভিন্ন পেজ নির্দিষ্ট করে বোঝানোর জন্য পেজ অনুযায়ী বিভিন্ন ফাংশন আছে, যেমনঃ
  • হোম পেজ - is_home() অথবা is_front_page()
  • বিশেষ পেজ – is_page()
  • সিঙ্গেল টিউন পেজ – is_single()
  • তারিখ ভিত্তিক আর্কাইভ – is_day() অথবা is_month() অথবা is_year()
  • ক্যাটাগরি আর্কাইভ – is_category()
  • লেখক আর্কাইভ – is_author()
  • ট্যাগ আর্কাইভ – is_tag()
  • সার্চ রেজাল্ট পেজ - is_search()
  • 404 পেজ – is_404()
এইসকল কোড ব্যবহার করে নির্দিষ্টভাবে একটি পেজকে চেনানো সম্ভব। এজন্য কন্ডিশনের মাধ্যমে কোডগুলোকে ব্যবহার করে প্রত্যেকটি পেজের জন্য নির্দিষ্ট করে টাইটেল ট্যাগ কনফিগার করতে হবে। এটি করার জন্য থিমের header.php ফাইলে head সেকশনের মধ্যে বিদ্যমান title ট্যাগকে নিচের কোডদ্বারা প্রতিস্থাপন করতে হবেঃ
	<title><?php
if (is_home() || is_front_page()) {
echo bloginfo('description');
} else {
if (is_category()) {
echo 'All posts by ' . single_cat_title('', false) . ' category | ' . bloginfo('name');
} elseif (is_tax()) {
$post_type = get_post_type_object(get_post_type());
$queried_object = get_queried_object();
echo 'All posts by ' . $queried_object->name . ' category of ' . $post_type->labels->name . ' | ' . bloginfo('name');
} elseif (is_search()) {
echo 'Search results for ' . get_search_query() . ' | ' . bloginfo('name');
} elseif (is_day()) {
echo 'Archive page for ' . get_the_time('F') . ' ' . get_the_time('d') . ', ' . get_the_time('Y') . ' | ' . bloginfo('name');
} elseif (is_month()) {
echo 'Archive page for ' . get_the_time('F') . ' ' . get_the_time('Y') . ' | ' . bloginfo('name');
} elseif (is_year()) {
echo 'Archive page for ' . get_the_time('Y') . ' | ' . bloginfo('name');
} elseif (is_single() || is_page()) {
echo get_the_title() . ' | ' . bloginfo('name');
} elseif (!is_single() && !is_page() && get_post_type() != 'post' && !is_404()) {
$post_type = get_post_type_object(get_post_type());
echo 'Page for ' . $post_type->labels->name . ' | ' . bloginfo('name');
} elseif (is_tag()) {
echo 'All posts by ' . single_tag_title('', false) . ' post tag | ' . bloginfo('name');
} elseif (is_author()) {
$author = get_queried_object();
echo 'Archive page for author ' . $author->display_name . ' | ' . bloginfo('name');
} elseif (is_404()) {
echo '404 error - page not found | ' . bloginfo('name');
}
if (get_query_var('paged')) {
if (is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() || is_tax()) echo ' - ';
echo __('page') . ' ' . eng_to_ban(get_query_var('paged'));
}
}
?></title>
আশা করি, উপরের কোডটুকু যথেষ্ট সহযোগিতা করবে নির্দিষ্ট চাহিদা অনুযায়ী টাইটেল ট্যাগ কনফিগার করতে। উদাহরণস্বরূপ, আপনার হয়তো হোম পেজের জন্য ভিন্নরকম শিরনামের প্রয়োজন। উপরের কোডের সাহায্যে খুব সহজেই হোম পেজে চাহিদা অনুযায়ী শিরোনাম উল্লেখ করা যাবে। উল্লেখ্য, এখানে আমি আর্কাইভ পেজকে (is_archive()) নির্দিষ্ট করে কল না করে day, month এবং year হিসেবে কল করেছি যাতে করে আরও স্পষ্টভাবে টাইটেল ট্যাগ কনফিগার করা যায়। আপনি চাইলে শুধু is_archive() ব্যবহার করেও এই কাজ করতে পারেনঃ
		} elseif (is_archive()) {
wp_title(''); echo ' Archive | '; bloginfo('name');
}
এছাড়াও, নির্দিষ্টভাবে কোন কাস্টম টিউন টাইপ পেজকে উল্লেখ করতে চাইলে নিচের কোডটি লিখতে পারেনঃ
		} elseif (get_post_type() == 'custom-post') {
$post_type = get_post_type_object(get_post_type());
echo 'Page for ' . $post_type->labels->name . ' | ' . bloginfo('name');
}
যাই হোক, উপরের কোডের সহযোগিতায় এখন আপনি খুব সহজেই কাস্টম টাইটেল ট্যাগ জেনারেট করতে পারবেন নিজের চাহিদা অনুযায়ী। আমাকে কিন্তু অনেক কষ্ট করতে হয়েছে এই কোডটুকু লিখতে। অনেকগুলো সাইট ঘেঁটে ঘেঁটে আমাকে এই কোডটুকু বের করতে হয়েছে, যা আপনি এখন সহজেই পেয়ে গেলেন!
আজকের মতো এ পর্যন্তই, আশা করি টিপসটি আপনাদের উপকারে লাগবে। আগামীতে ইন-শা-আল্লাহ আরও নতুন কোন টিপস নিয়ে হাজির হবো।

No comments:

Post a Comment