bg-tutorials

WordPress-এ SSL সার্টিফিকেট সেট আপ করার এবং HTTPS-এ স্যুইচ করার পদ্ধতি

ওয়ার্ডপ্রেস সাইটে SSL সার্টিফিকেট যুক্ত করতে তিনটি পদক্ষেপ প্রয়োজন: আপনার সার্ভারে সার্টিফিকেট ইনস্টল করা, ওয়ার্ডপ্রেসকে আপনার URL-এর HTTPS সংস্করণের দিকে নির্দেশ করা, এবং পুরনো HTTP ট্র্যাফিক রিডাইরেক্ট করা। বর্তমানে অধিকাংশ হোস্ট প্রথম পদক্ষেপটি আপনার জন্য নিজেরাই সম্পন্ন করে, এবং সংস্করণ 5.7 থেকে ওয়ার্ডপ্রেস দ্বিতীয় পদক্ষেপের একটি বড় অংশ নিজেই সামলায়। এই গাইডে ফ্রি এবং পেইড সার্টিফিকেট উভয়ের জন্য এই তিনটি পদক্ষেপ আলোচনা করা হয়েছে, এবং সাধারণত পরে দেখা দেওয়া ভুলগুলোও সমাধান করা হয়েছে।

দ্রুত উত্তর: আপনার হোস্টিং কন্ট্রোল প্যানেলের মাধ্যমে একটি SSL সার্টিফিকেট ইনস্টল করুন, তারপর ওয়ার্ডপ্রেসে Settings > General খুলুন এবং WordPress Address (URL) এবং Site Address (URL) দুটিকেই তাদের https সংস্করণে পরিবর্তন করুন। শেষে একটি 301 রিডাইরেক্ট যুক্ত করুন যাতে HTTP রিকোয়েস্টগুলো HTTPS-এ পৌঁছায়।

SSL (Secure Sockets Layer-এর সংক্ষিপ্ত রূপ, যদিও আজকাল প্রদত্ত প্রতিটি সার্টিফিকেটই আসলে TLS ব্যবহার করে) হলো যা http://-কে https://-এ রূপান্তরিত করে এবং অ্যাড্রেস বার থেকে “Not Secure” লেবেলটি মুছে ফেলে। আগে পটভূমি জানতে চাইলে পড়ুন SSL সার্টিফিকেট কী। অন্যথায়, নিচের টেবিল থেকে শুরু করুন।

কোন পদ্ধতি আপনার সেটআপের জন্য উপযুক্ত

ওয়ার্ডপ্রেসে SSL যুক্ত করার তিনটি উপায় আছে, এবং সঠিক উপায়টি প্রায় সম্পূর্ণভাবে আপনার হোস্টিংয়ের উপর নির্ভর করে। আপনার সেটআপ খুঁজুন, তারপর সেই পদ্ধতিতে যান।

আপনার সেটআপ এই পদ্ধতি ব্যবহার করুন প্রায় কতক্ষণ লাগবে
ম্যানেজড ওয়ার্ডপ্রেস হোস্টিং ইনস্টল করার কিছু নেই। সার্টিফিকেট সাধারণত আগে থেকেই সক্রিয় থাকে, তাই ওয়ার্ডপ্রেসকে HTTPS-এ স্যুইচ করার অংশে যান ৫ মিনিট
cPanel বা এরকম শেয়ার্ড হোস্ট পদ্ধতি ১, হোস্টের ফ্রি AutoSSL ১০ মিনিট
SSL টুল নেই এমন হোস্ট, বা আপনি চান কেউ এটা করে দিক পদ্ধতি ২, প্লাগইন উইজার্ড ১০ থেকে ১৫ মিনিট
VPS, ডেডিকেটেড সার্ভার, বা পেইড সার্টিফিকেট পদ্ধতি ৩, ম্যানুয়াল ইনস্টলেশন ৩০ মিনিট প্লাস ভ্যালিডেশন সময়
আপনার সাইটের সামনে Cloudflare আছে পদ্ধতি ১ বা ৩, তারপর Cloudflare SSL সেট করুন Full (strict)-এ। ট্রাবলশুটিং দেখুন ১৫ মিনিট

যে পথই বেছে নিন, প্রথমে সাইটের ব্যাকআপ নিন, এবং যদি আপনার স্টেজিং এনভায়রনমেন্ট থাকে, তবে প্রোডাকশনে স্পর্শ করার আগে সেখানে পরিবর্তনটি চালান।

ওয়ার্ডপ্রেসের জন্য কি SSL সার্টিফিকেট প্রয়োজন?

হ্যাঁ, এবং অধিকাংশ মানুষের জন্য কারণটি তারা নিজেই দেখতে পারেন: Chrome, Firefox, Safari এবং Edge প্রতিটি সাধারণ HTTP পৃষ্ঠাকে অ্যাড্রেস বারে Not Secure হিসেবে চিহ্নিত করে। এই লেবেলটি সার্টিফিকেটবিহীন সাইটের প্রতিটি পৃষ্ঠায় দেখা যায়, লগইন ফর্ম সহ।

এটি ঠিক করার তিনটি বাস্তবিক কারণ:

  • ক্রেডেনশিয়াল এবং ফর্ম ডেটা খোলাভাবে ভ্রমণ করে। সার্টিফিকেট না থাকলে, একই নেটওয়ার্কে থাকা কেউই দর্শকদের জমা দেওয়া তথ্য পড়তে পারে, এমনকি আপনার নিজের ওয়ার্ডপ্রেস পাসওয়ার্ডও।
  • পেমেন্টের জন্য এটি আবশ্যক। আপনি WooCommerce চালালে, বা যেকোনো কার্ড ডেটা গ্রহণ করলে, HTTPS বৈকল্পিক নয়। পেমেন্ট গেটওয়েগুলো HTTP-এর মাধ্যমে কাজ করতে অস্বীকার করবে।
  • Google HTTPS-কে র্যাংকিং সিগন্যাল হিসেবে ব্যবহার করে। এটি একটি বাস্তব সিগন্যাল কিন্তু হালকা, তাই SEO যুক্তিকে মূল কারণ না ধরে বোনাস হিসেবে বিবেচনা করুন। ব্রাউজার সতর্কতাই আসল কারণ।

ওয়ার্ডপ্রেস সাইটের জন্য কোন SSL সার্টিফিকেট ব্যবহার করা উচিত?

ফ্রি বিকল্প থেকে শুরু করুন, কারণ ওয়ার্ডপ্রেস সাইটগুলোর একটি বড় অংশের জন্য এটি সত্যিকারভাবে সঠিক উত্তর। বেশিরভাগ হোস্ট স্বয়ংক্রিয়ভাবে ফ্রি Let’s Encrypt সার্টিফিকেট প্রদান করে, এবং একটি ফ্রি সার্টিফিকেট পেইড সার্টিফিকেটের মতোই সঠিকভাবে ট্র্যাফিক এনক্রিপ্ট করে। এনক্রিপশন সম্পূর্ণ একই। একটি ওয়ার্ডপ্রেস SSL সার্টিফিকেট থেকে আরেকটির মধ্যে পার্থক্য হলো সার্টিফিকেট অথরিটি ইস্যু করার আগে কী যাচাই করেছে, এবং কিছু ভুল হলে আপনি কী পাবেন।

ভ্যালিডেশন লেভেল

ধরন CA যা যাচাই করে ইস্যু হতে সময় উপযুক্ত
Domain Validation (DV) আপনি ডোমেইন নিয়ন্ত্রণ করেন কিনা মিনিটের মধ্যে ব্লগ, ব্রোশার সাইট, বেশিরভাগ ওয়ার্ডপ্রেস ইনস্টল
Organization Validation (OV) ডোমেইন প্লাস আপনার নিবন্ধিত সংস্থা ১ থেকে ৩ কর্মদিবস বিজনেস সাইট, মেম্বারশিপ এরিয়া, ক্লায়েন্ট পোর্টাল
Extended Validation (EV) কোম্পানির সম্পূর্ণ আইনি এবং অপারেশনাল যাচাই ১ থেকে ৫ কর্মদিবস পেমেন্ট গ্রহণকারী স্টোর, ফাইন্যান্স, পরিচয় গুরুত্বপূর্ণ এমন কোনো কিছু

আপনার সাইট সাবডোমেইনে চললে, যেমন store.example.com-এ একটি দোকান এবং blog.example.com-এ একটি ব্লগ, একটি ওয়াইল্ডকার্ড সার্টিফিকেট প্রতি সাবডোমেইনের জন্য একটি না নিয়ে একটি সার্টিফিকেটেই সবগুলো কভার করে। কোন ধরনটি প্রযোজ্য নিশ্চিত নন? SSL Wizard কয়েকটি প্রশ্নের মাধ্যমে এটি নির্ধারণ করতে সাহায্য করে।

ফ্রি সার্টিফিকেট যখন পর্যাপ্ত হয় না

ফ্রি সার্টিফিকেট শুধুমাত্র DV, ৯০ দিন স্থায়ী, এবং কোনো সাপোর্ট বা ওয়ারেন্টি ছাড়া আসে। একটি ব্যক্তিগত ব্লগের জন্য এটি ঠিক আছে। এটি চারটি পরিস্থিতিতে সমস্যা হয়ে ওঠে:

  • আপনি পেমেন্ট নেন। পেইড সার্টিফিকেটে ওয়ারেন্টি থাকে যা সার্টিফিকেট নিজেই ব্যর্থ হলে ক্ষতি কভার করে। ফ্রি সার্টিফিকেটে কোনো ওয়ারেন্টি নেই।
  • আপনার দর্শকদের জানার প্রয়োজন আছে আপনি কে। একটি DV সার্টিফিকেট শুধু প্রমাণ করে কেউ ডোমেইন নিয়ন্ত্রণ করে। OV এবং EV সার্টিফিকেটের ভেতরে আপনার যাচাইকৃত সংস্থার বিবরণ যুক্ত করে।
  • আপনি সাবডোমেইন চালান। ফ্রি ওয়াইল্ডকার্ড ইস্যু সম্ভব কিন্তু জটিল, এবং সাধারণত আপনার হোস্ট যা দিতে পারে না এমন DNS অটোমেশনের প্রয়োজন হয়।
  • রিনিউয়াল স্বয়ংক্রিয় নয়। একটি ৯০-দিনের সার্টিফিকেট যা কেউ রিনিউ করে না, তা কোনো সার্টিফিকেট না থাকার মতোই সাইট বন্ধ করে দেয়। আপনার হোস্ট স্বয়ংক্রিয়ভাবে রিনিউ না করলে, একটি দীর্ঘমেয়াদী পেইড সার্টিফিকেট কম নয় বরং বেশি সুবিধাজনক হবে।

পদ্ধতি ১: আপনার হোস্ট থেকে ফ্রি SSL সার্টিফিকেট নিন

এটি সবচেয়ে দ্রুত পথ এবং প্রথমে যা চেষ্টা করা উচিত। এখন প্রায় প্রতিটি হোস্টই ফ্রি Let’s Encrypt সার্টিফিকেট প্রদান করে, প্রায়ই আগে থেকেই সক্রিয় করা থাকে।

  • আপনার হোস্টিং কন্ট্রোল প্যানেল খুলুন এবং SSL/TLS, Let’s Encrypt, বা AutoSSL খুঁজুন। cPanel-এ এটি Security-এর নিচে থাকে।
  • আপনার ডোমেইন নির্বাচন করুন এবং সার্টিফিকেট ইস্যু করুন। এপেক্স ডোমেইন এবং www সংস্করণ দুটিই অন্তর্ভুক্ত করুন, নয়তো একটির জন্য নেম মিসম্যাচ সতর্কতা দেখাবে।
  • নিশ্চিত করুন অটো-রিনিউয়াল সক্রিয় আছে। এটি এমন একটি পদক্ষেপ যা মানুষ প্রায়ই এড়িয়ে যায়।

কোনো হোস্টিং প্যানেলই নেই, কারণ আপনি নিজের VPS বা ডেডিকেটেড সার্ভার চালান? তাহলে Certbot ব্যবহার করুন, যা Let’s Encrypt-এর ক্লায়েন্ট, এবং কমান্ড লাইন থেকে সার্টিফিকেট ইস্যু করে এবং নিজের রিনিউয়াল সময়সূচি সেট করে।

Let’s Encrypt সার্টিফিকেট ৯০ দিন-এর জন্য কার্যকর, এবং রিনিউয়াল স্বয়ংক্রিয়ভাবে হওয়ার কথা, সাধারণত মেয়াদ শেষ হওয়ার প্রায় ৩০ দিন আগে। যখন এই অটোমেশন ভেঙে যায়, এবং এটি ভাঙে, প্রায়শই কোনো ডোমেইন স্থানান্তরিত হওয়ার পর বা DNS রেকর্ড পরিবর্তিত হওয়ার পর, সাইটটি কয়েক সপ্তাহ ঠিক থাকে এবং তারপর কোনো সতর্কতা ছাড়াই “Not Secure” হয়ে যায়। প্রথম প্রত্যাশিত রিনিউয়াল তারিখের জন্য আপনার ক্যালেন্ডারে একটি রিমাইন্ডার সেট করুন এবং তারিখ পার হয়ে গেলে SSL Checker-এর মাধ্যমে সার্টিফিকেটটি পরীক্ষা করুন। মেয়াদ শেষের তারিখ এগিয়ে গেলে রিনিউয়াল কাজ করছে।

পদ্ধতি ২: প্লাগইন দিয়ে ওয়ার্ডপ্রেসে SSL ইনস্টল করুন

অধিকাংশ মানুষ যে প্লাগইনটি বেছে নেয় তা হলো Really Simple Security। এটি সেপ্টেম্বর ২০২৪ পর্যন্ত Really Simple SSL নামে পরিচিত ছিল, যখন সংস্করণ ৯-তে এর ফ্রি ফিচার সেট SSL সেটআপের চেয়ে বেড়ে গিয়ে নামটি পরিবর্তন করা হয়। এটির তিন মিলিয়নের বেশি সক্রিয় ইনস্টলেশন আছে।

নামের পাশাপাশি যা পরিবর্তিত হয়েছে তা এখানে গুরুত্বপূর্ণ: প্লাগইনটি এখন শুধু রিডাইরেক্ট বাধ্যতামূলক করে না, এটি Let’s Encrypt উইজার্ডের মাধ্যমে আপনার জন্য সার্টিফিকেটও নিয়ে আসতে পারে। তাই যখন আপনার হোস্ট এটি করে না, তখন এটি সম্পূর্ণ কাজটি কভার করে।

  • Really Simple Security ইনস্টল ও সক্রিয় করুন Plugins > Add New Plugin থেকে।
  • যে অনবোর্ডিং খোলে সেটি অনুসরণ করুন, বা নতুন Security আইটেমে যান যা প্লাগইনটি অ্যাডমিন সাইডবারে যুক্ত করে। পুরনো টিউটোরিয়ালগুলো বলে Settings > SSL, যেখানে নাম পরিবর্তনের আগে প্লাগইনটি থাকত। সার্ভারে যদি আগেই সার্টিফিকেট ইনস্টল থাকে, প্লাগইনটি সেটা সনাক্ত করে।
  • কোনো সার্টিফিকেট না থাকলে, Install SSL certificate নির্বাচন করুন এবং উইজার্ড অনুসরণ করে একটি ফ্রি Let’s Encrypt সার্টিফিকেট নিন।
  • Activate SSL নির্বাচন করুন। প্লাগইনটি আপনার সাইট URL আপডেট করে, রিডাইরেক্ট সেট আপ করে, এবং ডাশবোর্ডটি HTTPS-এর মাধ্যমে পুনরায় লোড করে।

প্রতিশ্রুতিবদ্ধ হওয়ার আগে জানা উচিত এমন একটি সতর্কতা। যে প্লাগইন HTTPS বাধ্যতামূলক করে তা প্রতিটি রিকোয়েস্টে PHP-এর মাধ্যমে এটা করে। সার্ভার কনফিগারেশনে লেখা একটি রিডাইরেক্ট ওয়ার্ডপ্রেস লোড হওয়ার আগেই ঘটে, যা দ্রুততর এবং প্লাগইন নিষ্ক্রিয় করা হলেও কাজ চালিয়ে যায়। আপনি সার্ভার ফাইল সম্পাদনায় স্বাচ্ছন্দ্য বোধ করলে, ম্যানুয়ালি সুইচটি করুন এবং প্লাগইনকে সমালোচনামূলক পথের বাইরে রাখুন।

পদ্ধতি ৩: ম্যানুয়ালি SSL সার্টিফিকেট ইনস্টল করুন

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

  • একটি CSR তৈরি করুন। সার্টিফিকেট সাইনিং রিকোয়েস্টটি আপনার ডোমেইন এবং সংস্থার বিবরণ সার্টিফিকেট অথরিটিতে বহন করে। আমাদের CSR generator ব্যবহার করুন, বা আপনার নির্দিষ্ট সার্ভারের জন্য CSR গাইড অনুসরণ করুন।
  • CSR জমা দিন সার্টিফিকেট অথরিটির কাছে এবং ভ্যালিডেশন সম্পন্ন করুন। DV মিনিটের মধ্যে শেষ হয়, OV এবং EV কয়েক দিন সময় নেয়।
  • ফাইলগুলো ইনস্টল করুন। আপনি সার্টিফিকেটটি এবং এক বা একাধিক ইন্টারমিডিয়েট সার্টিফিকেট পাবেন। cPanel-এ, SSL/TLS > Manage SSL sites-এর নিচে সেগুলো পেস্ট করুন, cPanel ইনস্টলেশন গাইড অনুসরণ করে। অন্যান্য প্ল্যাটফর্ম SSL ইনস্টলেশন গাইড-এ আলোচনা করা হয়েছে।
  • ওয়ার্ডপ্রেস স্পর্শ করার আগে SSL Checker-এর মাধ্যমে যাচাই করুন।

ইন্টারমিডিয়েট সার্টিফিকেটে মনোযোগ দিন। মূল সার্টিফিকেট ইনস্টল করলেও চেইনটি বাদ দিলে, বেশিরভাগ ডেস্কটপ ব্রাউজার এখনও প্যাডলক দেখাবে, কারণ তারা অন্য কোথাও দেখা ইন্টারমিডিয়েটগুলো ক্যাশ করে রাখে। মোবাইল ব্রাউজার, পেমেন্ট গেটওয়ে এবং আপনার সাইটকে API-এর মাধ্যমে কল করা কোনো কিছু ব্যর্থ হবে। “Chrome-এ কাজ করে কিন্তু চেকআউট ভেঙে যায়” এমন একটি সাইট প্রায়শই একটি অসম্পূর্ণ চেইনের কারণে হয়, এবং SSL Checker এটি রিপোর্ট করবে।

WordPress Multisite চালানো কয়েকটি অতিরিক্ত পদক্ষেপ যুক্ত করে, যা Multisite SSL গাইড-এ আলোচনা করা হয়েছে।

আপনার ওয়ার্ডপ্রেস সাইটকে HTTP থেকে HTTPS-এ স্যুইচ করুন

সার্টিফিকেটটি সার্ভারে আছে। ওয়ার্ডপ্রেস এখনও এটি জানে না। এখানে অনেক গাইড আপনাকে অন্য কিছু করার আগে একটি ডেটাবেস সার্চ এবং রিপ্লেস চালাতে পাঠায়, এবং অধিকাংশ সাইটের জন্য বছরের পর বছর ধরে এটি প্রয়োজনীয় নয়।

ওয়ার্ডপ্রেস নিজে কী করে

WordPress 5.7, যা মার্চ ২০২১-এ প্রকাশিত হয়েছিল, তার পর থেকে কোর নির্ধারণ করে আপনার এনভায়রনমেন্ট HTTPS সাপোর্ট করে কিনা এবং এটি Tools > Site Health > Status-এ, HTTPS status সেকশনে রিপোর্ট করে। HTTPS উপলব্ধ থাকলে, সেই সেকশনটি একটি বাটন অফার করে যা এক ক্লিকে সাইটটি সুইচ করে দেয়।

আরও গুরুত্বপূর্ণভাবে, একবার Site Address (URL) এবং WordPress Address (URL) দুটোই https-এ থাকলে, ওয়ার্ডপ্রেস পৃষ্ঠা রেন্ডার করার সময় আপনার কনটেন্টে অনিরাপদ URL গুলোকে রিরাইট করে। আপনার নিজের ডোমেইনে http অ্যাড্রেস দিয়ে সেভ করা ছবি, লিংক এবং এমবেড আপনি ডেটাবেস সম্পাদনা না করেই https-এর মাধ্যমে পরিবেশিত হয়। এটাই সেই পদক্ষেপ যা পুরনো টিউটোরিয়ালগুলো হাতে করতে বলে।

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

দুটি URL সেটিং পরিবর্তন করুন

Site Health যদি এক-ক্লিক বাটন অফার না করে, বা আপনি স্পষ্টভাবে এটি করতে চান, তাহলে Settings > General খুলুন। দুটি ফিল্ড আছে এবং দুটোই পরিবর্তন করতে হবে:

  • WordPress Address (URL), যেখানে ওয়ার্ডপ্রেস ফাইলগুলো থাকে।
  • Site Address (URL), দর্শকরা যে অ্যাড্রেস টাইপ করে।

দুটোতেই http://-কে https://-এ পরিবর্তন করুন, তারপর সেভ করুন। কেবল একটি পরিবর্তন করা ডাশবোর্ড থেকে নিজেকে লক আউট করার সবচেয়ে সাধারণ পদ্ধতি। যদি এটি ঘটে, আপনি FTP-এর মাধ্যমে wp-config.php-এ দুটোই সেট করতে পারেন:

define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

“That’s all, stop editing” লেখা লাইনের উপরে এই লাইনগুলো যুক্ত করুন, এবং example.com-কে আপনার ডোমেইন দিয়ে প্রতিস্থাপন করুন। মনে রাখবেন এই কনস্ট্যান্টগুলো সংজ্ঞায়িত থাকলে, Settings > General-এর ফিল্ডগুলো রিড-অনলি হয়ে যায়।

যখন আপনার এখনও সার্চ ও রিপ্লেস প্রয়োজন

কোরের রিরাইটিং রেন্ডার করা কনটেন্ট কভার করে। এটি সব জায়গায় পৌঁছায় না, তাই একটি সার্চ ও রিপ্লেস এখনও এসবের জন্য সমাধান:

  • থিম ফাইলে বা functions.php-তে হার্ডকোডেড URL।
  • সিরিয়ালাইজড ডেটা হিসেবে সংরক্ষিত প্লাগইন সেটিংস, যে কারণে আপনার উচিত নয় কখনো সরাসরি SQL ফাইন্ড ও রিপ্লেস চালানো।
  • অপশন রো, কাস্টম ফিল্ড এবং পেজ বিল্ডার দ্বারা লেখা উইজেট কনটেন্ট।

Better Search Replace ব্যবহার করুন, যা সিরিয়ালাইজড ডেটা সঠিকভাবে সামলায় এবং এতে ড্রাই-রান মোড আছে, বা WP-CLI:

wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run

ড্রাই রান আউটপুট পড়ুন, তারপর –dry-run ছাড়া কমান্ডটি পুনরাবৃত্তি করে এটি প্রয়োগ করুন। প্রথমে ডেটাবেস ব্যাকআপ করুন।

301 রিডাইরেক্টের মাধ্যমে ওয়ার্ডপ্রেসে HTTPS বাধ্যতামূলক করুন

আপনার সাইট এখন https-এ সাড়া দেয়, কিন্তু এটি এখনও http-তেও সাড়া দেয়, এবং প্রতিটি পুরনো লিংক এবং বুকমার্ক সেখানেই নির্দেশ করে। একটি স্থায়ী HTTPS রিডাইরেক্ট দর্শক এবং সার্চ ইঞ্জিন দুটোকেই নিরাপদ সংস্করণে পাঠায় এবং পুরনো URL গুলোর র্যাংকিং সিগন্যাল স্থানান্তরিত করে। যেখানেই সম্ভব এটি PHP-তে করার চেয়ে সার্ভার লেভেলে সেট করুন।

Apache

আপনার ওয়ার্ডপ্রেস রুটের .htaccess ফাইলের শীর্ষে, ওয়ার্ডপ্রেস ব্লকের উপরে এটি যুক্ত করুন:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

R=301 ফ্ল্যাগটিই এটিকে স্থায়ী করে। [R,L] হিসেবে লেখা একটি নিয়ম পরিবর্তে একটি টেম্পোরারি 302 জারি করে, যা একটি ভুল যা যাচাই করা উচিত যদি আপনি একটি পুরনো গাইড থেকে রিডাইরেক্ট কপি করেন।

Nginx

Nginx-এর কোনো .htaccess নেই এবং এটি Apache-এর জন্য লেখা রিরাইট নিয়ম বোঝে না। পরিবর্তে আপনার সাইট কনফিগারেশনে সার্ভার ব্লক সম্পাদনা করুন:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

nginx -t দিয়ে কনফিগারেশন পরীক্ষা করুন, তারপর systemctl reload nginx দিয়ে রিলোড করুন।

শুধুমাত্র ডাশবোর্ডে HTTPS বাধ্যতামূলক করুন

নির্দিষ্টভাবে লগইন এবং অ্যাডমিন এরিয়া সুরক্ষিত করার জন্য, wp-config.php-তে এটি যুক্ত করুন:

define( 'FORCE_SSL_ADMIN', true );

এটি wp-admin এবং লগইন পেজ কভার করে। এটি ফ্রন্ট এন্ড রিডাইরেক্ট করে না, তাই এটি সার্ভার-লেভেল রিডাইরেক্টের পরিপূরক, প্রতিস্থাপন নয়।

HSTS, সবকিছু কাজ করার পর

HSTS ব্রাউজারদের বলে দেয় আপনার ডোমেইনের জন্য সম্পূর্ণভাবে সাধারণ HTTP প্রত্যাখ্যান করতে, যা প্রথম রিকোয়েস্ট এবং রিডাইরেক্টের মধ্যকার ফাঁকটি বন্ধ করে। Apache-এ:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

এটি শুধু HTTPS কিছুক্ষণ স্থিতিশীল থাকার পরই যুক্ত করুন, এবং প্রথমে প্রিলোড ডিরেক্টিভ বন্ধ রাখুন। প্রিলোড দ্রুত বিপরীত করা কঠিন, এবং যদি কোনো সাবডোমেইনে এখনও HTTPS না থাকে, তা অপ্রাপ্য হয়ে যায়।

সুইচের পরে যা রেখে যায় তা ঠিক করুন

মিক্সড কনটেন্ট

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

ওয়ার্ডপ্রেসে সাধারণ উৎসগুলো হলো থিম ফাইলে একটি হার্ডকোডেড ছবির URL, HTTP-এর মাধ্যমে লোড করা একটি বহিরাগত স্ক্রিপ্ট, এবং এখনও HTTP-এর জন্য কনফিগার করা একটি CDN। ব্রাউজার কনসোল খুলুন, যা অপরাধী রিসোর্সটির নাম দেয়, এবং উৎসেই এটি ঠিক করুন। মিক্সড কনটেন্ট নির্ণয়ের বিস্তারিত জানতে আমাদের গাইড কীভাবে মিক্সড কনটেন্ট ঠিক করা যায় দেখুন।

ক্যাশ এবং CDN

সুইচের পরে আপনার পেজ ক্যাশ এবং CDN পার্জ করুন। একটি HTTP পৃষ্ঠার ক্যাশ করা কপি পুরনো মার্কআপ পরিবেশন করতে থাকবে এবং একটি সম্পূর্ণ মাইগ্রেশনকে ভাঙা মনে করাবে।

ইমেল এবং ট্রানজ্যাকশনাল টেমপ্লেট

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

ওয়ার্ডপ্রেস SSL সমস্যার সমাধান

লক্ষণ সাধারণ কারণ সমাধান
অন্তহীন রিডাইরেক্ট লুপ, ERR_TOO_MANY_REDIRECTS Cloudflare SSL Flexible-এ সেট করা। Cloudflare আপনার সার্ভারের সাথে HTTP-এর মাধ্যমে কথা বলে, আপনার সার্ভার HTTPS-এ রিডাইরেক্ট করে, Cloudflare এটা ফিরিয়ে দেয় Cloudflare SSL/TLS এনক্রিপশন মোড Full (strict)-এ সেট করুন এবং অরিজিনে একটি বৈধ সার্টিফিকেট রাখুন
সুইচের পরে wp-admin থেকে লক আউট দুটি URL ফিল্ডের মধ্যে কেবল একটি পরিবর্তন করা হয়েছিল FTP-এর মাধ্যমে wp-config.php-তে WP_HOME এবং WP_SITEURL সেট করুন
শুধু কিছু পৃষ্ঠায় প্যাডলক অনুপস্থিত ওই পৃষ্ঠাগুলোতে মিক্সড কনটেন্ট ব্রাউজার কনসোলে HTTP রিসোর্স খুঁজুন, উৎসেই ঠিক করুন
সাইট ঠিক ছিল, কয়েক সপ্তাহ পরে “Not Secure” হয়ে গেল রিনিউয়াল ভেঙে যাওয়ার কারণে একটি Let’s Encrypt সার্টিফিকেটের মেয়াদ শেষ হয়ে গিয়েছে পুনরায় ইস্যু করুন, তারপর আপনার কন্ট্রোল প্যানেলে অটো-রিনিউয়াল নিশ্চিত করুন
ব্রাউজারে কাজ করে, কোনো অ্যাপ বা পেমেন্ট গেটওয়েতে ব্যর্থ হয় চেইনে ইন্টারমিডিয়েট সার্টিফিকেট অনুপস্থিত সম্পূর্ণ CA বান্ডল ইনস্টল করুন, তারপর SSL Checker-এর মাধ্যমে পুনরায় যাচাই করুন
www বা এপেক্সে নাম মিসম্যাচ সতর্কতা সার্টিফিকেটটি দুটির মধ্যে শুধুমাত্র একটি কভার করে সার্টিফিকেটটি পুনরায় ইস্যু করুন যাতে এটি দুটি নামই কভার করে; একটি রিডাইরেক্ট এটা একা ঠিক করতে পারে না, সতর্কতাটি কোনো রিডাইরেক্ট চালানোর আগেই দেখা যায়

সার্টিফিকেট ইনস্টল করা থাকলেও সাইট এখনও অনিরাপদ রিপোর্ট করলে, SSL এরর গাইডগুলো নির্দিষ্ট ব্রাউজার এরর কোড কভার করে।

মাইগ্রেশনের পরে: SEO চেকলিস্ট এবং যা প্রত্যাশা করবেন

  • Google Search Console-এ HTTPS প্রপার্টি যুক্ত করুন। একটি HTTP প্রপার্টি HTTPS URL-এর উপর রিপোর্ট করে না। নতুনটি যুক্ত করুন এবং পুরনোটি রাখুন, বা একটি Domain প্রপার্টি ব্যবহার করুন, যা দুটোই কভার করে। আপনি Bing Webmaster Tools ব্যবহার করলে, সেখানেও এটি আপডেট করুন।
  • আপনার XML সাইটম্যাপ পুনরায় জমা দিন https URL গুলোর সাথে।
  • ক্যানোনিকাল ট্যাগ যাচাই করুন https-এর দিকে নির্দেশ করে কিনা। বেশিরভাগ SEO প্লাগইন সাইট URL পরিবর্তিত হওয়ার সাথে সাথে স্বয়ংক্রিয়ভাবে আপডেট হয়, কিন্তু পৃষ্ঠার সোর্সে এটি যাচাই করুন।
  • Google Analytics এবং Ads প্রপার্টি সেটিংস আপডেট করুন, এবং কোনো থার্ড পার্টি সার্ভিস যা আপনার সাইট URL সংরক্ষণ করে।
  • ইন্টারনাল লিংক আপডেট করুন যেখানে সেগুলো অ্যাবসোলিউট। রিলেটিভ লিংকে কিছু করার প্রয়োজন নেই।

এরপর স্বাভাবিক কী দেখায়, কারণ এটি এমন মানুষদের চিন্তিত করে যারা এটি আগে কখনো করেনি: Google পুনরায় ক্রল করার সময় Search Console কিছুক্ষণের জন্য আপনার ইমপ্রেশনগুলো HTTP এবং HTTPS প্রপার্টির মধ্যে বিভক্ত করে দেখাবে, এবং র্যাংকিং স্থির হওয়ার আগে কয়েক সপ্তাহ ধরে প্রায়ই ওঠানামা করে। Google একটি HTTP থেকে HTTPS মুভকে URL পরিবর্তন সহ একটি সাইট মুভ হিসেবে বিবেচনা করে, তাই কিছু ওঠানামা প্রত্যাশিত, কোনো কিছু ভেঙে যাওয়ার লক্ষণ নয়। 301 রিডাইরেক্ট জায়গায় থাকলে এবং প্রতিটি পৃষ্ঠা রিজলভ হলে, অপেক্ষা করার বাইরে কিছু করার নেই।

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

সচরাচর জিজ্ঞাসিত প্রশ্নাবলী

আমি কীভাবে ওয়ার্ডপ্রেসকে HTTPS ব্যবহার করতে বাধ্য করব?

WordPress Address (URL) এবং Site Address (URL) দুটোকেই Settings > General-এর অধীনে https-এ পরিবর্তন করুন, তারপর সার্ভার লেভেলে একটি 301 রিডাইরেক্ট যুক্ত করুন। Apache-এ এটি একটি রিরাইট নিয়ম .htaccess-এ যা [R=301,L]-এ শেষ হয়; Nginx-এ এটি পোর্ট 80 সার্ভার ব্লকে একটি return 301 https://$host$request_uri; লাইন। ডাশবোর্ডও কভার করার জন্য wp-config.php-তে FORCE_SSL_ADMIN যুক্ত করুন।

আমাকে কি এখনও ডেটাবেসে একটি সার্চ এবং রিপ্লেস চালাতে হবে?

সাধারণত না, এবং এটি একটি পরিবর্তন যা অনেক গাইড এখনও ধরতে পারেনি। WordPress 5.7 থেকে, একবার দুটি সাইট URL সেটিংই https ব্যবহার করলে, ওয়ার্ডপ্রেস পৃষ্ঠাটি রেন্ডার করার সময় আপনার কনটেন্টে অনিরাপদ URL গুলোকে রিরাইট করে। থিম ফাইলে, সিরিয়ালাইজড প্লাগইন অপশনে, বা পেজ বিল্ডার কনটেন্টে হার্ডকোডেড URL-এর জন্য একটি সার্চ এবং রিপ্লেস চালানো এখনও মূল্যবান, কিন্তু এটি একটি ক্লিনআপ পদক্ষেপ, মাইগ্রেশনের একটি বাধ্যতামূলক অংশ নয়।

একটি ওয়ার্ডপ্রেস সাইটকে HTTPS-এ সুইচ করতে কতক্ষণ লাগে?

আপনার হোস্ট যদি আগেই একটি সার্টিফিকেট ইস্যু করে থাকে, প্রায় পাঁচ মিনিট। একটি ফ্রি সার্টিফিকেট ইস্যু করে প্লাগইন উইজার্ড চালাতে দশ থেকে পনেরো মিনিট লাগে। একটি পেইড Domain Validation সার্টিফিকেট দিয়ে ম্যানুয়াল ইনস্টলেশনে প্রায় ত্রিশ মিনিট লাগে, এবং Organization বা Extended Validation-এ যেকোনো কিছু ইনস্টল করার আগে এক থেকে পাঁচ দিন ভ্যালিডেশন সময় যুক্ত হয়। এরপরে মিক্সড কনটেন্ট ঠিক করা পরিবর্তনশীল অংশ এবং আপনার কনটেন্টের কতটা হার্ডকোডেড URL বহন করে তার উপর নির্ভর করে।

HTTPS-এ সুইচ করা কি আমার র্যাংকিং ক্ষতি করবে?

স্থায়ীভাবে নয়, যদি প্রতিটি HTTP URL তার HTTPS সমতুল্যে 301 রিডাইরেক্ট করে। Google মুভটিকে URL পরিবর্তন সহ একটি সাইট মুভ হিসেবে বিবেচনা করে, তাই এটি পুনরায় ক্রল করার সময় কয়েক সপ্তাহ কিছু ওঠানামা প্রত্যাশা করুন, এবং সেই সময়কালে আপনার HTTP এবং HTTPS Search Console প্রপার্টির মধ্যে ইমপ্রেশন বিভক্ত দেখা যাওয়ার প্রত্যাশা করুন। স্থায়ী পতন সাধারণত HTTPS নিজের চেয়ে মিসড রিডাইরেক্টের সাথে যুক্ত থাকে।

সার্টিফিকেট ইনস্টল করার পরেও কেন আমার ওয়ার্ডপ্রেস সাইট এখনও “Not Secure” দেখায়?

তিনটি কারণ বেশিরভাগ ঘটনার জন্য দায়ী। Settings > General-এ সাইট URL এখনও http-তে আছে, তাই ওয়ার্ডপ্রেস HTTP পৃষ্ঠা পরিবেশন করতে থাকে। অথবা পৃষ্ঠাগুলো HTTP-এর মাধ্যমে অন্তত একটি রিসোর্স লোড করে, যা মিক্সড কনটেন্ট। অথবা সার্টিফিকেটটি এর ইন্টারমিডিয়েট সার্টিফিকেট ছাড়াই ইনস্টল করা হয়েছে, তাই এটি অস্থিরভাবে যাচাই হয়। প্রথমে SSL Checker চালান, কারণ এটি একটি ইনস্টলেশন সমস্যাকে একটি কনটেন্ট সমস্যা থেকে পৃথক করে।

আরেকটি প্ল্যাটফর্ম HTTPS-এ স্থানান্তর করছেন, বা সাধারণ পদ্ধতি চান? আমাদের গাইড দেখুন কীভাবে একটি সাইটকে HTTP থেকে HTTPS-এ স্যুইচ করা যায়

আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!

দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10

উড়ন্ত একটি ড্রাগনের একটি বিস্তারিত চিত্র
লিখেছেন

SSL শংসাপত্রে বিশেষজ্ঞ অভিজ্ঞ বিষয়বস্তু লেখক। জটিল সাইবারসিকিউরিটি বিষয়গুলিকে পরিষ্কার, আকর্ষক সামগ্রীতে রূপান্তর করা। প্রভাবশালী বর্ণনার মাধ্যমে ডিজিটাল নিরাপত্তার উন্নতিতে অবদান রাখুন।