Skip to main content
Back to blog

SEO গাইড ধাপ ৭: নিরাপত্তা — ২০২৬ সালে গুগল যা প্রত্যাশা করে

·12 min read·by LANGR SEO

SEO গাইড ধাপ ৭: নিরাপত্তা

এটি ১৩ ধাপের SEO গাইড এর ধাপ ৭। নিরাপত্তা শুধুমাত্র ব্যবহারকারীদের সুরক্ষা করার বিষয় নয় — এটি আপনার অনুসন্ধান র্যাংকিংকে সরাসরি প্রভাবিত করে। গুগল ২০১৪ সাল থেকে HTTPS-কে একটি র্যাংকিং সংকেত হিসেবে ব্যবহার করে আসছে, এবং প্রত্যাশাগুলি শুধু বাড়িয়েছে।


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

ভালো খবর: বেশিরভাগ নিরাপত্তা সমস্যা একবারের কনফিগারেশন। একবার সেট করুন, এবং তারা স্থায়ীভাবে আপনার র্যাংকিং সুরক্ষিত রাখবে।

SSL কনফিগারেশন

SSL (প্রযুক্তিগতভাবে TLS) আপনার সার্ভার এবং দর্শকদের মধ্যে সংযোগ এনক্রিপ্ট করে। ২০১৪ সাল থেকে, গুগল HTTPS-কে একটি র্যাংকিং সংকেত হিসেবে পরিষ্কারভাবে নিশ্চিত করেছে। ২০২৬ সালে, HTTPS নেই এমনটি শুধুমাত্র একটি র্যাংকিং সমস্যা নয় — ক্রোম HTTP সাইটগুলিকে "নিরাপদ নয়" হিসাবে শনাক্ত করে, যা ব্যবহারকারীর বিশ্বাসকে ধ্বংস করে।

সঠিক SSL-এর জন্য প্রয়োজনীয়তা:

| প্রয়োজনীয়তা | কেন | চেক করার উপায় | |----------------|-----|-----------------| | বৈধ সার্টিফিকেট | মেয়াদ শেষ = ব্রাউজার সতর্কতা = বাউন্সড ব্যবহারকারী | মেয়াদ শেষের তারিখ চেক করুন | | সম্পূর্ণ চেইন | অসম্পন্ন চেইন কিছু ডিভাইসে ব্যর্থ হয় | SSL Labs পরীক্ষণ | | TLS 1.2+ | পুরনো সংস্করণে পরিচিত দুর্বলতা রয়েছে | SSL Labs পরীক্ষণ | | কোন SHA-1 নয় | বাতিল, ব্রাউজার এটি প্রত্যাখ্যান করে | সার্টিফিকেটের বিস্তারিত | | SAN কভারেজ | www এবং non-www উভয়কেই কাভার করতে হবে | সার্টিফিকেটের বিস্তারিত | | স্বয়ং-জীবনগুলি | মেয়াদের বিপর্যয় প্রতিরোধ করে | Let's Encrypt / প্রদানকারী কনফিগ |

SSL স্কোরিং:

100% = বৈধ সার্টিফিকেট + সম্পূর্ণ চেইন + TLS 1.3 + শক্তিশালী সাইফার + স্বয়ং-জীবন
  0% = মেয়াদ ফুরিয়ে গেছে বা সার্টিফিকেট অনুপস্থিত

সাধারণ SSL ভুলগুলি:

  1. গায়ে ধরা সার্টিফিকেট মেয়াদ শেষ হওয়া — মেয়াদ শেষ হওয়ার অন্তত ৩০ দিন আগে পর্যবেক্ষণ সেট করুন (ধাপ ৬)
  2. অপূর্ণ সার্টিফিকেট চেইন — সার্ভারকে মধ্যবর্তী সার্টিফিকেটগুলি পাঠাতে হবে, কেবল পাতা নয়
  3. মিশ্র সামগ্রী — HTTPS পৃষ্ঠা HTTP রিসোর্স (ছবি, স্ক্রিপ্ট, স্টাইলশীট) লোড করে
  4. পুনঃনির্দেশ লুপ — HTTP → HTTPS → HTTP চক্রগুলি ভুলভাবে কনফিগার করা CDN/প্রক্সির দ্বারা ঘটে
  5. Non-www বনাম www অসঙ্গতি — সার্টিফিকেট একটি কভার করে কিন্তু অন্যটি নয়

দ্রুত জয়: আপনার ডোমেইনটি SSL Labs (ssllabs.com/ssltest) এর মাধ্যমে চালান। "A" রেটিং এর নিচে কিছু থাকলে ক্রিয়াযোগ্য সমস্যা রয়েছে। বেশিরভাগ হোস্টিং প্রদানকারী এই সমস্যাগুলি এক ক্লিকেই সমাধান করে।

নিরাপত্তা হেডার

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

মূল নিরাপত্তা হেডারগুলি:

কনটেন্ট-সিকিউরিটি-পলিসি (CSP)

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

Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';

CSP কি প্রতিরোধ করে:

  • ক্রস-সাইট স্ক্রিপ্টিং (XSS) আক্রমণ
  • তথ্য ঢুকানোর আক্রমণ
  • ক্লিকজ্যাকিং (দ্বারা frame-ancestors)
  • অনুমোদনহীন স্ক্রিপ্ট চলে (ক্রিপ্টো মাইনাস, বিজ্ঞাপন ইনজেক্টর)

CSP বাস্তবায়ন কৌশল:

  1. Content-Security-Policy-Report-Only দিয়ে শুরু করুন (ব্লক না করেই সন্ত্রাসের লগ করে)
  2. ১-২ সপ্তাহ রিপোর্টগুলি পর্যবেক্ষণ করুন
  3. বৈধ সোর্সগুলি অনুমোদন দিন
  4. প্রয়োগের মোডে পরিবর্তন করুন
  5. চলমান নষ্টকরণের লগিংয়ের জন্য report-uri বা report-to যোগ করুন

X-Frame-Options

অন্যান্য ডোমেইনের আইফ্রেমে আপনার সাইট এম্বেড হওয়া প্রতিরোধ করে (ক্লিকজ্যাকিং রক্ষা)।

X-Frame-Options: DENY

অথবা আপনি যদি একই উত্স ফ্রেমিং অনুমতি দিতে চান:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

ব্রাউজারগুলিকে MIME-টাইপ স্নিফিং থেকে রক্ষা করে (ফাইলগুলি ঘোষিত বিভিন্ন প্রকার হিসাবে ব্যাখ্যা করা)।

X-Content-Type-Options: nosniff

এই একলাইন কিছু আক্রমণ প্রতিরোধ করে যেখানে একটি .jpg ফাইল লুকানো জাভাস্ক্রিপ্ট ধারণ করে যা ব্রাউজারটি কার্যকর করতে পারে।

Referrer-Policy

নিয়ন্ত্রণ করে কতটুকু রেফারার তথ্য ব্যবহারকারীরা আপনার সাইট থেকে লিঙ্ক ক্লিক করার সময় পাঠানো হয়।

Referrer-Policy: strict-origin-when-cross-origin

এটি একই উত্সের জন্য পূর্ণ URL পাঠায় কিন্তু ক্রস-উত্সের জন্য কেবল উত্স (ডোমেন)। বিশ্লেষণের প্রয়োজন এবং গোপনীয়তার মধ্যে সঙ্গতিপূর্ণভাবে ভারসাম্য বজায় রাখে।

Permissions-Policy

নিয়ন্ত্রণ করে কোন ব্রাউজার বৈশিষ্ট্যগুলি (ক্যামেরা, মাইক্রোফোন, জিওলোকেশন, ইত্যাদি) আপনার সাইটে ব্যবহার করা যেতে পারে।

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()

আপনি যে বৈশিষ্ট্যগুলি ব্যবহার করেন না সেগুলি অক্ষম করে তৃতীয় পক্ষের স্ক্রিপ্টগুলিকে সেই বৈশিষ্ট্যগুলি দখল করতে বাধা দেয়।

হেডার বাস্তবায়নের উদাহরণ (Next.js):

// next.config.js
module.exports = {
  async headers() {
    return [{
      source: '/(.*)',
      headers: [
        { key: 'X-Content-Type-Options', value: 'nosniff' },
        { key: 'X-Frame-Options', value: 'SAMEORIGIN' },
        { key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
        { key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
        { key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
      ]
    }]
  }
}

হেডার বাস্তবায়ন (Apache .htaccess):

Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

হেডার বাস্তবায়ন (Nginx):

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

দ্রুত জয়: আপনার সার্ভার কনফিগারেশনে উপরের ৫টি হেডার যোগ করুন। এটি ৫ মিনিট সময় নেয় এবং তাৎক্ষণিকভাবে আপনার নিরাপত্তা অবস্থা যেকোন স্ক্যান টুলে উন্নত করে।

HSTS প্রিলোড

HTTP স্ট্রিকট ট্রান্সপোর্ট সিকিউরিটি (HSTS) ব্রাউজারগুলিকে বলে সবসময় HTTPS ব্যবহার করতে আপনার ডোমেইনের জন্য — এমনকি প্রথম অনুরোধের আগে। HSTS ছাড়া, আপনার সাইটের প্রথম দর্শন হয়তো HTTP ব্যবহার করবে (অন্তর্বর্তীভাবে হস্তক্ষেপের জন্য সংবেদনশীল) আগে HTTPS-এ পুনঃনির্দেশ করার।

HSTS হেডার:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

তিনটি নির্দেশিকা:

| নির্দেশিকা | অর্থ | |-------------|------| | max-age=31536000 | এক বছর (সেকেন্ডে) মনে রাখুন | | includeSubDomains | সমস্ত সাবডোমেইনগুলিতেও প্রযোজ্য | | preload | ব্রাউজারের প্রিলোড তালিকায় অন্তর্ভুক্তির জন্য আবেদন করুন |

HSTS প্রিলোড তালিকা:

চূড়ান্ত HSTS সুরক্ষা। ব্রাউজারগুলি সর্বদা HTTPS ব্যবহার করতে বাধ্য সমস্ত ডোমেইনের একটি বিল্ট-ইন তালিকা নিয়ে আসে। আপনার ডোমেইনটি hstspreload.org-এ জমা দেওয়া মানে:

  • প্রথমবারের দর্শকরা অবিলম্বে HTTPS পান (কোন HTTP → HTTPS পুনঃনির্দেশ নেই)
  • আক্রমণকারীদের জন্য সংযোগগুলো দুর্বল করা অসম্ভব
  • স্থায়ী (একবার জমা দেওয়া হলে মুছে ফেলা কঠিন)

HSTS প্রিলোডের জন্য প্রয়োজনীয়তা:

  1. বৈধ HTTPS সার্টিফিকেট
  2. সমস্ত HTTP-কে HTTPS-এ পুনঃনির্দেশ করুন (সাবডোমেইনসহ)
  3. HSTS হেডার সহ max-age >= 31536000
  4. HSTS হেডারে includeSubDomains অন্তর্ভুক্ত রয়েছে
  5. HSTS হেডারে preload অন্তর্ভুক্ত রয়েছে
  6. সমস্ত সাবডোমেইনকে HTTPS সমর্থন করতে হবে

সতর্কতা: যদি আপনার সকল সাবডোমেইন HTTPS সমর্থন না করে তাহলে শুধুমাত্র প্রিলোডের জন্য জমা দিন। includeSubDomains নির্দেশকের মানে যে কোনো HTTP-শুধু সাবডোমেইন অপ্রাপ্য হয়ে যাবে।

দ্রুত জয়: যদি আপনার ইতিমধ্যেই সমস্ত সাবডোমেইনে HTTPS থাকে, তবে সম্পূর্ণ HSTS হেডার যোগ করুন এবং hstspreload.org-এ জমা দিন। প্রক্রিয়াকরণে কয়েক সপ্তাহ সময় লাগে তবে সুরক্ষাটি স্থায়ী।

দুর্বলতা স্ক্যানিং

অটোমেটেড দুর্বলতা স্ক্যানিং আপনার স্ট্যাকের পরিচিত নিরাপত্তা সমস্যাগুলি সনাক্ত করে যাতে আক্রমণকারীরা সেগুলি ব্যবহার করতে না পারে।

দুর্বলতা স্ক্যানিং কী চেক করে:

  • পুরনো সফটওয়্যার: WordPress, প্লাগইন, পরিচিত CVE সহ JavaScript লাইব্রেরি
  • প্রকাশিত ফাইল: .env, .git, wp-config.php, ডাটাবেস ডাম্প
  • তথ্য ফাঁস: সার্ভার সংস্করণের হেডার, ডিবাগ মোড, স্ট্যাক ট্রেস
  • ডিফল্ট শংসাপত্র: প্রমাণীকরণের ছাড়া প্রশাসক পৃষ্ঠা, ডিফল্ট পাসওয়ার্ড
  • খোলা পোর্ট/সার্ভিস: অনায়াসে ইন্টারনেটে প্রকাশিত অপ্রয়োজনীয় পরিষেবাগুলি
  • ইনজেকশন পয়েন্ট: CSRF সুরক্ষা ছাড়া ফর্ম, অগ্রহণযোগ্য ইনপুট

প্ল্যাটফর্ম অনুসারে সাধারণ দুর্বলতা:

| প্ল্যাটফর্ম | শীর্ষ দুর্বলতা | সমাধান | |-------------|----------------|--------| | WordPress | পুরনো প্লাগইন | স্বয়ংক্রিয়-আপডেট + WAF | | Shopify | থার্ড-পার্টি অ্যাপ অনুমতিসমূহ | ত্রৈমাসিক অ্যাপের তালিকা অডিট করুন | | Next.js | প্রকাশিত API রূট | কর্তৃত্ব মাঝেরদিয়ে + রেট সীমাবদ্ধতা | | স্ট্যাটিক সাইটগুলি | CDN ভুল কনফিগারেশন | ক্যাশের নিয়ম পর্যালোচনা করুন | | কাস্টম | SQL ইনজেকশন | প্যারামিট্রাইজড কুয়ারি |

স্ক্যানিংয়ের ফ্রিকোয়েন্সি:

  • প্রতিদিন: স্বয়ংক্রিয় পৃষ্ঠার স্ক্যান (SSL, হেডার, প্রকাশিত ফাইল)
  • প্রতি সপ্তাহে: নির্ভরশীলতার দুর্বলতা পরীক্ষা (npm audit, WordPress প্লাগইন স্ক্যানার)
  • প্রতি মাসে: প্রমাণিত পরীক্ষার সঙ্গে গভীর স্ক্যান
  • প্রতিটি স্থাপন পর: রিগ্রেশন চেক

দ্রুত জয়: npm audit (Node.js) চালান অথবা আপনার CMS প্লাগইন তালিকে পুরনো উপাদানের জন্য চেক করুন। গুরুতর/উচ্চ গুরুত্বের সমস্যাগুলি অবিলম্বে সমাধান করুন।

মিশ্র সামগ্রী

মিশ্র সামগ্রী ঘটে যখন একটি HTTPS পৃষ্ঠা HTTP-তে রিসোর্স (ছবি, স্ক্রিপ্ট, স্টাইলশীট, আইফ্রেম) লোড করে। এটি আংশিকভাবে এনক্রিপশন ভেঙে দেয় এবং ব্রাউজারের সতর্কতা শুরু করে।

মিশ্র সামগ্রীর প্রকার:

| প্রকার | গুরুতরতা | উদাহরণ | ব্রাউজারের আচরণ | |--------|-----------|---------|------------------| | সক্রিয় | উচ্চ | HTTP স্ক্রিপ্ট, আইফ্রেম, CSS | ডিফল্টভাবে আটকানো | | প্যাসিভ | মাঝারি | HTTP ছবি, ভিডিও, অডিও | সতর্কতা সহ লোড করা |

মিশ্র সক্রিয় সামগ্রী আধুনিক ব্রাউজার দ্বারা আটকানো হয় — যার মানে আপনার স্ক্রিপ্ট এবং শৈলীরা লোড হবে না। প্যাসিভ মিশ্র সামগ্রী লোড হয় কিন্তু নিরাপত্তার সতর্কতা দেখায়।

মিশ্র সামগ্রী সন্ধান:

  1. ক্রোম ডেভটুলস খুলুন → কনসোল
  2. "মিশ্র সামগ্রী" সতর্কতার জন্য দেখুন
  3. বিকল্পভাবে, একটি ক্রলার দিয়ে স্ক্যান করুন (Screaming Frog, LANGR)

মিশ্র সামগ্রীর সাধারণ সোর্স:

  • কন্টেন্টে হার্ডকোড করা http:// URL (ব্লগ পোস্ট, পণ্য বর্ণনা)
  • থার্ড-পার্টি উইজেটগুলি HTTP রিসোর্স লোড করছে
  • এম্বেড করা কনটেন্ট (YouTube পুরানো এম্বেড, সোশ্যাল মিডিয়া উইজেট)
  • CSS background-image HTTP URL সহ
  • HTTP এর উপর লোড হওয়া ফন্ট

মিশ্র সামগ্রী সমাধান:

<!-- খারাপ -->
<img src="http://example.com/image.jpg" />

<!-- ভালো -->
<img src="https://example.com/image.jpg" />

<!-- সেরা (প্রোটোকল-রিলেটিভ, পৃষ্ঠার প্রোটোকল অনুযায়ী অভিযোজিত) -->
<img src="//example.com/image.jpg" />

ডেটাবেস ফিক্স (WordPress):

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');

দ্রুত জয়: আপনার হোমপেজটি ক্রোমে খুলুন, F12 চাপুন, কনসোল ট্যাবটি মিশ্র সামগ্রীর কার্যাবলী জন্য পরীক্ষা করুন। যে কোনো সমস্যা সমাধান করুন — এগুলি গুগলের কাছে সরাসরি দৃশ্যমান।

তৃতীয় পক্ষের স্ক্রিপ্ট ঝুঁকি

প্রতিটি বাইরের স্ক্রিপ্ট যা আপনি লোড করেন তা একটি সম্ভাব্য নিরাপত্তা (এবং পারফরমেন্স) ঝুঁকি। তৃতীয় পক্ষের স্ক্রিপ্টগুলি:

  • খারাপ হতে পারে (সরবরাহ চেইন আক্রমণ)
  • ব্যবহারকারীদের সম্মতি ছাড়া ট্র্যাক করতে পারে (GDPR লঙ্ঘন)
  • আপনার সাইটটি ধীর করতে পারে (রেন্ডার-ব্লকিং, নেটওয়ার্ক লেটেন্সি)
  • কার্যকারিতা ভেঙে দিতে পারে (সংস্করণ আপডেট, আউটেজ)
  • অপ্রয়োজনীয় সামগ্রী নিক্ষেপ করতে পারে (বিজ্ঞাপন স্ক্রিপ্টগুলি ভুল হয়ে গেছে)

আপনার তৃতীয় পক্ষের স্ক্রিপ্টগুলি অডিট করুন:

| স্ক্রিপ্ট | প্রয়োজনীয়? | ঝুঁকির স্তর | বিকল্প | |-----------|--------------|--------------|--------| | Google Analytics | প্রায়শই হ্যাঁ | নিচে | সার্ভার-সাইড ট্র্যাকিং | | চ্যাট উইজেট | হয়তো | মধ্যম | স্ব-হোস্টেড সমাধান | | সোশ্যাল শেয়ার বোতাম | বিরল | মধ্যম | স্ট্যাটিক শেয়ার লিঙ্ক | | A/B পরীক্ষণ | কখনও কখনও | উচ্চ | সার্ভার-সাইড পরীক্ষণ | | রিটার্গেটিং পিক্সেল | ব্যবসায়িক সিদ্ধান্ত | উচ্চ | প্রথম-পার্টির ডেটা | | ফন্ট CDN | সুবিধাজনক | নিচে | স্ব-হোস্ট ফন্ট |

প্রয়োজনীয় তৃতীয় পক্ষের স্ক্রিপ্টের জন্য ঝুঁকির নিরসন:

  1. সাবরিসোর্স ইন্টিগ্রিটি (SRI): হ্যাশ যাচাইকরণ পরিবর্তিত স্ক্রিপ্টগুলিকে লোড হওয়া থেকে বাধা দেয়
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. CSP সীমাবদ্ধতা: শুধুমাত্র পরিচিত ডোমেইনগুলি থেকে স্ক্রিপ্টগুলিকে অনুমতি দিন
  2. স্যান্ডবক্সড আইফ্রেম: তৃতীয় পক্ষের উইজেটগুলি বিচ্ছিন্ন করুন
  3. নিয়মিত অডিট: সমস্ত বহিরাগত সম্পদের ত্রৈমাসিক পর্যালোচনা
  4. মোনিটরিং: আপনার পৃষ্ঠায় নতুন বাইরের ডোমেইন উপস্থিত হলে সতর্ক করুন

দ্রুত জয়: আপনার HTML-এ প্রতিটি