ডায়নামিক রেন্ডারিং শুরু করা যাক

বর্তমানে, জাভাস্ক্রিপ্ট প্রসেস করা কঠিন এবং সব সার্চ ইঞ্জিন ক্রলার এটিকে সঠিকভাবে বা সঙ্গে সঙ্গে প্রসেস করতে পারে না। আশা করি ভবিষ্যতে এই সমস্যার সমাধান করা যাবে। কিন্তু যতক্ষণ পর্যন্ত সমাধান করা না যায়, ততক্ষণ এই সমস্যা এড়াতে সাময়িকভাবে ডায়নামিক রেন্ডারিং ব্যবহার করার পরামর্শ দিচ্ছি। ডায়নামিক রেন্ডারিং মানে হল ক্লায়েন্টের পক্ষ থেকে রেন্ডার করা কন্টেন্ট এবং নির্দিষ্ট ব্যবহারকারীর জন্য আগে থেকে রেন্ডার করা কন্টেন্টের মধ্যে অদল বদল করা।

যে সমস্ত সাইটের ডায়নামিক রেন্ডারিং ব্যবহার করা উচিত

জাভাস্ক্রিপ্টের দ্বারা তৈরি করা এমন সর্বজনীন কন্টেন্ট যা ইন্ডেক্স করা যায় এবং দ্রুত পরিবর্তিত হয় অথবা যে কন্টেন্ট এমন জাভাস্ক্রিপ্ট ফিচার ব্যবহার করে যা আপনার পছন্দের ক্রলারগুলিতে ব্যবহারযোগ্য নয় - এই সমস্ত ক্ষেত্রে ডায়নামিক রেন্ডারিং খুবই উপযোগী। সমস্ত সাইটের ডায়নামিক রেন্ডারিং ব্যবহার করার প্রয়োজন নেই এবং এর সাথে মনে রাখা দরকার যে ডায়নামিক রেন্ডারিং হল ক্রলারদের জন্য একটি সাময়িক কাজ চালানোর ব্যবস্থা।

ডায়নামিক রেন্ডারিং কীভাবে কাজ করে তা বুঝুন

আপনার ওয়েব সার্ভার ক্রলারগুলিকে যাতে শনাক্ত করে (যেমন, ইউজার এজেন্ট ভাল করে দেখে নেওয়া), তা ডায়নামিক রেন্ডারিংয়ের পক্ষে প্রয়োজন। ক্রলারগুলির থেকে আসা অনুরোধ কোনও রেন্ডারারের কাছে পাঠিয়ে দেওয়া হয় এবং ব্যবহারকারীদের অনুরোধগুলি সাধারণত দেখানো হয়। প্রয়োজন অনুসারে, ডায়নামিক রেন্ডারারটি কন্টেন্টের এমন একটি ভার্সন দেখায় যা ক্রলারটির জন্য উপযুক্ত। যেমন, সেটি কোনও একটি স্ট্যাটিক HTML ভার্সন দেখাতে পারে। আপনি পছন্দ অনুসারে ডায়নামিক রেন্ডারারটিকে সমস্ত পৃষ্ঠার জন্য অথবা প্রতি পৃষ্ঠার ভিত্তিতে চালু করতে পারেন।

একটি ডায়াগ্রাম যা দেখায় ডায়নামিক রেন্ডারিং কীভাবে কাজ করে। সার্ভারটি কেমনভাবে ব্রাউজারকে সরাসরি প্রাথমিক HTML এবং জাভাস্ক্রিপ্ট কন্টেন্ট দেখাচ্ছে, এই ডায়াগ্রামটিতে তাই দেখানো হয়েছে। অপরপক্ষে, ডায়াগ্রামটিতে দেখানো হয়েছে, সার্ভার কীভাবে কোনও রেন্ডারারকে প্রাথমিক HTML এবং জাভাস্ক্রিপ্ট কন্টেন্ট দেখায় যেটি আবার প্রাথমিক HTML এবং জাভাস্ক্রিপ্টকে স্ট্যাটিক HTML-এ পরিবর্তন করে দেয়। কন্টেন্টটি পরিবর্তিত হয়ে গেলে রেন্ডারারটি ক্রলারকে স্ট্যাটিক HTML দেখায়।

ডায়নামিক রেন্ডারিং প্রয়োগ করুন

আপনার কন্টেন্টের জন্য ডায়নামিক রেন্ডারিং সেট-আপ করতে, আমাদের সাধারণ নির্দেশিকা অনুসরণ করুন। আপনাকে নির্দিষ্ট কনফিগারেশনের বিবরণগুলি দেখে নিতে হবে, কারণ প্রয়োগের বিভিন্ন ক্ষেত্র বিশেষে এগুলি বিভিন্ন রকমের হয়।

  1. আপনার কন্টেন্টটিকে ক্রলারদের পক্ষে ব্যবহার করা সহজ এমন স্ট্যাটিক HTML-এ রূপান্তরিত করতে কোনও একটি ডায়নামিক রেন্ডারার ইনস্টল ও কনফিগার করুন। প্রচলিত কিছু ডায়নামিক রেন্ডারার হল Puppeteer, Rendertron, এবং prerender.io
  2. যে ইউজার এজেন্টদের আপনার স্ট্যাটিক HTML গ্রহণ করা উচিত এবং কীভাবে ইউজার এজেন্ট আপডেট বা যোগ করতে হয় সেই সংক্রান্ত আপনার নির্দিষ্ট কনফিগারেশনের বিবরণ যে ইউজার এজেন্ট দেখবে বলে আপনার মনে হয়, সেগুলিকে বেছে নিন। Rendertron মিডিলওয়্যারে দেওয়া প্রচলিত কিছু ইউজার এজেন্টের একটি তালিকার উদাহরণ এখানে দেওয়া হল:
    export const botUserAgents = [
      'googlebot',
      'google-structured-data-testing-tool',
      'bingbot',
      'linkedinbot',
      'mediapartners-google',
    ];
  3. প্রি-রেন্ডারিং যদি আপনার সার্ভারকে ধীরে করে দেয় অথবা আপনি যদি প্রি-রেন্ডারিং সংক্রান্ত প্রচুর অনুরোধ দেখেন, তাহলে আগে থেকে রেন্ডার করা কন্টেন্টের জন্য একটি ক্যাশ ব্যবহারের কথা ভাবুন অথবা সেই অনুরোধগুলি বৈধ ক্রলারের থেকে এসেছে কিনা, তা যাচাই করার কথা ভেবে দেখুন
  4. নির্ধারণ করুন, ইউজার এজেন্টগুলির ডেস্কটপ না মোবাইল কন্টেন্টের প্রয়োজন। সঠিক ডেস্কটপ বা মোবাইল ভার্সনটি দিতে ডায়নামিক সার্ভিং ব্যবহার করুন। কোনও একটি কনফিগারেশন কীভাবে নির্ধারণ করতে পারে, ইউজার এজেন্টের ডেস্কটপ না মোবাইল কন্টেন্টের প্রয়োজন, তার একটি উদাহরণ এখানে দেওয়া হল:
    isPrerenderedUA = userAgent.matches(botUserAgents)
    isMobileUA = userAgent.matches(['mobile', 'android'])
    
    if (!isPrerenderedUA) { // serve regular, client-side rendered content } else { // serve the mobile version if needed servePreRendered(isMobileUA) }
  5. আপনার বেছে নেওয়া ক্রলারগুলিকে স্ট্যাটিক HTML পৌঁছে দিতে আপনার সার্ভার কনফিগার করুন। আপনার প্রযুক্তির উপর নির্ভর করে এই কাজটি করার বিভিন্ন উপায় আছে। এখানে তার কিছু উদাহরণ দেওয়া হল:
    • ডায়নামিক রেন্ডারারের কাছে ক্রলারদের থেকে আসা প্রক্সি অনুরোধ।
    • প্রয়োগ করার প্রক্রিয়ার অংশ হিসেবে আগে থেকে রেন্ডার করুন এবং আপনার সার্ভারটি যাতে ক্রলারগুলিকে স্ট্যাটিক HTML দেখাতে পারে, সেই ব্যবস্থা করুন।
    • আপনার কাস্টম সার্ভার কোডে ডায়নামিক রেন্ডারিং তৈরি করুন।
    • প্রি-রেন্ডারিং পরিষেবার কোনও স্ট্যাটিক কন্টেন্ট ক্রলারগুলিকে দেখান।
    • আপনার সার্ভারের জন্য কোনও মিডিলওয়্যার ব্যবহার করুন (যেমন, rendertron middleware)।

কনফিগারেশন যাচাই করুন

ডায়নামিক রেন্ডারিং প্রয়োগ করা সম্পূর্ণ হলে নিচে দেওয়া পরীক্ষাগুলির মাধ্যমে কোনও একটি ইউআরএল যাচাই করে দেখুন, সবকিছু আশানুরূপভাবে চলছে কিনা:

  1. Google যে আপনার কন্টেন্টটি দেখতে পাচ্ছে, তা সুনিশ্চিত করতে মোবাইল-ফ্রেন্ডলি হওয়ার পরীক্ষা দিয়ে আপনার মোবাইলের কন্টেন্ট পরীক্ষা করুন।

    done সম্পূর্ণভাবে করা হয়েছে: আপনার মোবাইলের কন্টেন্টে সেটিই রয়েছে যা কোনও ব্যবহারকারী দেখবেন বলে আপনি আশা করেন।

    error আবার চেষ্টা করুন: আপনি যেমন আশা করেন তার সাথে আপনি যে কন্টেন্ট দেখছেন সেটি যদি না মেলে, তাহলে সমস্যার সমাধান সংক্রান্ত বিভাগ দেখুন

  2. আপনার ডেস্কটপ কন্টেন্টটি যে রেন্ডার হওয়া পৃষ্ঠাতেও (Googlebot আপনার পৃষ্ঠাটি যেভাবে দেখে, রেন্ডার করা পৃষ্ঠা হল ঠিক তেমনই) দেখা যায়, তা সুনিশ্চিত করতে আপনার ডেস্কটপ কন্টেন্টটি Google-এর মতো করে টুল ব্যবহার করে পরীক্ষা করে নিন।

    done সম্পূর্ণভাবে করা হয়েছে: কোনও ব্যবহারকারী যা দেখবেন বলে আপনি মনে করেন ডেস্কটপ কন্টেন্টে সেটিই রয়েছে।

    error আবার চেষ্টা করুন: আপনি যে কন্টেন্ট দেখছেন সেটি যদি আপনার আশানুরূপ না হয়, তাহলে সমস্যার সমাধান সংক্রান্ত বিভাগ দেখুন

  3. আপনি যদি স্ট্রাকচার্ড ডেটা ব্যবহার করেন, তাহলে পরীক্ষা করে দেখে নিন যে আপনার স্ট্রাকচার্ড ডেটা স্ট্রাকচার্ড ডেটা টেস্টিং টুলের সাথে সঠিকভাবে রেন্ডার করে।

    done সম্পূর্ণভাবে করা হয়েছে: স্ট্রাকচার্ড ডেটাটি আপনার আশানুরূপ বলেই মনে হয়।

    error আবার চেষ্টা করুন:স্ট্রাকচার্ড ডেটাটি যদি আপনার আশানুরূপ না হয়, তাহলে সমস্যার সমাধান সংক্রান্ত বিভাগ দেখুন

সমস্যার সমাধান

মোবাইল-ফ্রেন্ডলি হওয়ার পরীক্ষাতে আপনার কন্টেন্টে যদি সমস্যা দেখা যায় অথবা সেটি Google সার্চের ফলাফলে যদি দেখা না যায়, তাহলে নিচের তালিকায় দেওয়া সবচেয়ে সাধারণ সমস্যাগুলির সমাধান করুন। এর পরেও সমস্যা থাকলে, ওয়েবমাস্টার ফোরামে একটি নতুন প্রসঙ্গ পোস্ট করুন

কন্টেন্ট অসম্পূর্ণ অথবা দেখতে অন্যরকম

error কী কারণে সমস্যা হল: আপনার রেন্ডারারটি হয়ত সঠিকভাবে কনফিগার করা নেই অথবা আপনার ওয়েব অ্যাপ্লিকেশনটি হয়ত আপনার রেন্ডারিং সংক্রান্ত সমস্যার সমাধানের সাথে অসামঞ্জস্যপূর্ণ হতে পারে। টাইম-আউটের কারণেও কখনও কখনও কন্টেন্ট সঠিকভাবে রেন্ডার হয় না।

done সমস্যাটির সমাধান করুন: আপনার ডায়নামিক রেন্ডারিং সেট-আপকে ডিবাগ করতে রেন্ডারিং সংক্রান্ত সমস্যার সমাধানের জন্য নির্দিষ্ট ডকুমেন্টটি দেখুন।

প্রতিক্রিয়ার দীর্ঘ সময়

error কী কারণে সমস্যা হল: হেডলেস ব্রাউজার ব্যবহার করে চাহিদা আছে এমন পৃষ্ঠা রেন্ডার করলে বেশিরভাগ ক্ষেত্রে প্রতিক্রিয়ার সময় দীর্ঘ হয়, যার ফলে ক্রলার আপনার কন্টেন্টটি ইন্ডেক্স না করেই অনুরোধটি বাতিল করে দিতে পারে। প্রতিক্রিয়ার সময় দীর্ঘ হওয়ার ফলে আপনার কন্টেন্ট ক্রল এবং ইন্ডেক্স করার সময় ক্রলারগুলি তাদের ক্রল-রেট কমিয়ে ফেলতে পারে।

done সমস্যার সমাধান করুন

  1. আগে থেকে রেন্ডার করা HTML-এর জন্য ক্যাশ সেট-আপ করুন অথবা আপনার বিল্ড প্রক্রিয়ার অংশ হিসেবে আপনার কন্টেন্টের একটি স্ট্যাটিক HTML ভার্সন তৈরি করুন।
  2. আপনার কনফিগারেশনে ক্যাশ চালু করা হয়েছে কিনা ভাল করে দেখে নিন, (যেমন, আপনার ক্রলারগুলিকে ক্যাশের দিকে নির্দেশিত করার মাধ্যমে)।
  3. মোবাইল-ফ্রেন্ডলি হওয়ার পরীক্ষা বা webpagetest (Google ক্রলার ইউজার এজেন্টের তালিকার কোনও একটি কাস্টম ইউজার এজেন্ট স্ট্রিংয়ের সাহায্যে) ব্যবহারের মাধ্যমে দেখে নিন, ক্রলারগুলি চট করে আপনার কন্টেন্টটি পেয়ে যায় কিনা। আপনার অনুরোধগুলি যেন টাইম-আউট না হয়ে যায়।

স্ট্রাকচার্ড ডেটা বাদ পড়েছে

error কী কারণে সমস্যা হল: স্ট্রাকচার্ড ডেটা ইউজার এজেন্ট বাদ গেলে অথবা আউটপুটে JSON-LD স্ক্রিপ্ট ট্যাগ অন্তর্ভুক্ত না করলে স্ট্রাকচার্ড ডেটা সংক্রান্ত সমস্যা হতে পারে।

done সমস্যার সমাধান করুন

  1. পৃষ্ঠাতে স্ট্রাকচার্ড ডেটা রয়েছে কিনা তা ভাল করে দেখে নিতে স্ট্রাকচার্ড ডেটা টেস্টিং টুল ব্যবহার করুন। তারপর, আগে থেকে রেন্ডার করা কন্টেন্টটি পরীক্ষা করতে স্ট্রাকচার্ড ডেটা টেস্টিং টুলের জন্য ইউজার এজেন্ট কনফিগার করুন।
  2. আপনার কন্টেন্টের ডায়নামিক পদ্ধতিতে রেন্ডার করা HTML-এ JSON-LD স্ক্রিপ্ট ট্যাগগুলি অন্তর্ভুক্ত করা হয়েছে কিনা ভাল করে দেখে নিন। আরও জানতে রেন্ডারিং সংক্রান্ত সমস্যার সমাধানের ডকুমেন্টেশনটি দেখুন।

Send feedback about...

সার্চ
সার্চ