অনেক সময় দেখা যায়, WordPress website server থেকে সরাসরি খুব দ্রুত লোড হচ্ছে, কিন্তু Cloudflare ব্যবহার করার পর website খুলতে 4 থেকে 10 সেকেন্ড বা তারও বেশি সময় লাগছে। বিশেষ করে WordPress website-এর ক্ষেত্রে এই সমস্যা আরও বিরক্তিকর হতে পারে। কারণ server, PHP, MySQL এবং WordPress সব ঠিক থাকার পরও visitor-এর কাছে website slow মনে হয়।
আপনার WordPress website যদি Cloudflare-এর মাধ্যমে পরিচালিত হয় এবং TTFB 5 seconds, 6 seconds, 7 seconds বা তার বেশি দেখায়, তাহলে প্রথমেই WordPress-এর plugin, theme বা database-কে দায়ী করা ঠিক নয়।
এই সমস্যার মূল কারণ বের করার সবচেয়ে কার্যকর পদ্ধতি হলো Cloudflare-এর মাধ্যমে website speed এবং সরাসরি Origin Server speed আলাদা করে পরীক্ষা করা।
এই আর্টিকেলে আমরা দেখব:
Cloudflare ব্যবহার করলে WordPress কেন slow হয়
TTFB কী এবং কেন গুরুত্বপূর্ণ
Cloudflare-এর মাধ্যমে 6 second delay কেন হতে পারে
Origin server fast কিন্তু Cloudflare slow হলে কী করবেন
Cloudflare Cache কীভাবে configure করবেন
Cloudflare Worker website slow করছে কিনা কীভাবে বুঝবেন
SSL/TLS configuration কীভাবে check করবেন
Redirect-এর কারণে website slow হচ্ছে কিনা
WordPress-এর জন্য Cloudflare-এর সঠিক configuration
Cloudflare slow হলে কীভাবে দ্রুত সমস্যার কারণ বের করবেন
Cloudflare ব্যবহার করার পর WordPress Website Slow হওয়ার প্রধান কারণ
Cloudflare মূলত website-এর সামনে একটি proxy/CDN হিসেবে কাজ করে। Visitor যখন আপনার domain-এ ঢোকে, request সরাসরি server-এ না গিয়ে প্রথমে Cloudflare-এর network-এ যায়।
তারপর Cloudflare প্রয়োজন অনুযায়ী request Origin Server-এ পাঠায়।
সাধারণ পরিস্থিতিতে Cloudflare website দ্রুত করার কথা। কিন্তু configuration ঠিক না থাকলে উল্টো additional delay তৈরি হতে পারে।
বিশেষ করে নিচের কারণগুলোতে Cloudflare-এর মাধ্যমে WordPress website slow হতে পারে:
Cloudflare Cache ঠিকভাবে কাজ করছে না
Cloudflare Worker request process করছে
অতিরিক্ত Redirect হচ্ছে
SSL/TLS configuration ভুল
Cloudflare Rule request-এ delay তৈরি করছে
WAF বা security rule অতিরিক্ত processing করছে
Origin-এর location এবং Cloudflare route-এর মধ্যে latency
Cache bypass হচ্ছে
WordPress HTML Cloudflare cache করছে না
ভুল Page Rule বা Cache Rule
Worker-এর ভিতরে external API request
DNS/proxy configuration সমস্যা
TTFB কী?
TTFB-এর পূর্ণ অর্থ হলো Time To First Byte।
সহজভাবে বললে, browser/server request পাঠানোর পর প্রথম byte response পেতে যত সময় লাগে সেটাই TTFB।
উদাহরণ হিসেবে:
TTFB: 0.060 seconds
মানে server প্রায় 60 milliseconds-এর মধ্যে response দিয়েছে।
অন্যদিকে:
TTFB: 6.510 seconds
মানে প্রথম response পেতেই প্রায় সাড়ে 6 সেকেন্ড সময় লাগছে।
এটি খুব বেশি।
সাধারণভাবে:
0.1 থেকে 0.5 sec = ভালো
0.5 থেকে 1 sec = মোটামুটি
1 থেকে 2 sec = investigation দরকার
2 থেকে 3 sec = slow
3 sec+ = গুরুতর delay
5 sec+ = কোথাও significant processing/delay আছে
তবে exact benchmark website, hosting এবং location অনুযায়ী পরিবর্তিত হতে পারে।
Cloudflare নাকি Server, কীভাবে বুঝবেন?
এটাই সবচেয়ে গুরুত্বপূর্ণ test।
ধরুন আপনার website:
https://example.com
এবং Origin Server IP:
14.128.14.2
প্রথমে Cloudflare-এর মাধ্যমে test করুন:
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com/
যদি result আসে:
TTFB: 6.510502s
Total: 6.510658s
তাহলে website Cloudflare-এর মাধ্যমে প্রায় 6.5 seconds নিচ্ছে।
এখন Origin Server সরাসরি test করুন:
curl -k -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" \
--resolve example.com:443:14.128.14.2 https://example.com/
যদি result আসে:
TTFB: 0.060377s
Total: 0.060960s
তাহলে বিষয়টি পরিষ্কার।
Origin Server fast, কিন্তু Cloudflare slow।
এক্ষেত্রে WordPress-এর PHP, MySQL বা server load নিয়ে অযথা কাজ করার দরকার নেই।
সমস্যা Cloudflare configuration, routing, Worker, cache বা অন্য কোনো Cloudflare-side processing-এ খুঁজতে হবে।
Cloudflare Cache Status Check করুন
প্রথমে দেখুন Cloudflare আপনার website cache করছে কিনা।
Command:
curl -I https://example.com/
Response-এর মধ্যে খুঁজুন:
cf-cache-status:
এখানে বিভিন্ন value দেখতে পারেন।
যেমন:
CF-Cache-Status: HIT
এর অর্থ Cloudflare cache থেকে response দিয়েছে।
অন্যদিকে:
CF-Cache-Status: MISS
মানে Cloudflare cache-এ content পাওয়া যায়নি এবং Origin Server থেকে আনতে হয়েছে।
আর:
CF-Cache-Status: BYPASS
মানে কোনো rule বা configuration-এর কারণে cache bypass হচ্ছে।
CF-Cache-Status: DYNAMIC
মানে Cloudflare সাধারণভাবে response-টিকে cache করেনি।
WordPress-এর dynamic page-এর ক্ষেত্রে DYNAMIC দেখা স্বাভাবিক হতে পারে। কিন্তু public, cacheable content-এর জন্য cache strategy সঠিকভাবে configure করা গুরুত্বপূর্ণ।
Cloudflare Cache HIT না হলে কী সমস্যা?
ধরুন visitor website-এ ঢুকল।
Cloudflare যদি cached response না দেয়, তাহলে:
Visitor
↓
Cloudflare
↓
Origin Server
↓
WordPress
↓
PHP
↓
Database
↓
Response
↓
Cloudflare
↓
Visitor
প্রতিবার Origin Server-এ request গেলে processing বাড়ে।
অন্যদিকে cached response থাকলে:
Visitor
↓
Cloudflare
↓
Cached Response
↓
Visitor
এক্ষেত্রে Origin Server-এ request যাওয়ার প্রয়োজন হয় না।
তাই WordPress website-এর জন্য proper caching খুব গুরুত্বপূর্ণ।
Cloudflare Worker Check করুন
Cloudflare Worker অনেক powerful। কিন্তু ভুলভাবে configure করা Worker website-এর response time অনেক বাড়িয়ে দিতে পারে।
Cloudflare Dashboard-এ গিয়ে:
Workers & Pages
চেক করুন।
দেখুন আপনার domain-এর জন্য কোনো Worker route আছে কিনা।
বিশেষ করে Worker-এর ভিতরে যদি এমন কিছু থাকে:
External API request
Multiple fetch request
Database/API call
Authentication processing
Complex JavaScript logic
Redirect processing
তাহলে response delay হতে পারে।
ধরুন Worker প্রথমে একটি external API-তে request পাঠাচ্ছে এবং সেটি response দিতে 4 seconds নিচ্ছে।
তাহলে visitor-এর website response-ও delay হবে।
Test করার জন্য
যদি Worker ব্যবহার করা জরুরি না হয়, সাময়িকভাবে Worker route disable করে আবার test করুন:
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com/
যদি 6.5 seconds থেকে 0.5 seconds বা 1 second-এর নিচে চলে আসে, তাহলে Worker-এর configuration-এ সমস্যা থাকার সম্ভাবনা অনেক বেশি।
Cloudflare SSL/TLS Configuration Check করুন
Cloudflare Dashboard থেকে:
SSL/TLS → Overview
এখানে encryption mode check করুন।
সাধারণভাবে Origin Server-এ valid SSL certificate থাকলে:
Full (strict)
ব্যবহার করা ভালো।
ভুল SSL configuration থেকে কখনো কখনো redirect বা connection-related সমস্যা তৈরি হতে পারে।
বিশেষ করে এমন setup এড়িয়ে চলুন যেখানে:
Visitor → HTTPS
Cloudflare → HTTP
Origin → HTTPS
এরকম configuration ভুলভাবে redirect তৈরি করলে request chain অপ্রয়োজনীয়ভাবে বাড়তে পারে।
Redirect Loop বা Multiple Redirect Check করুন
অনেক WordPress website slow হওয়ার কারণ আসলে Cloudflare নয়, বরং redirect।
Check করুন:
curl -I https://example.com/
যদি দেখেন:
HTTP/2 301
location: https://www.example.com/
তারপর আবার:
HTTP/2 301
location: https://example.com/
তাহলে redirect configuration সমস্যা আছে।
একটি request যদি একাধিক redirect-এর মধ্য দিয়ে যায়, তাহলে visitor-এর page loading time বেড়ে যাবে।
Redirect chain দেখতে
curl -IL https://example.com/
এতে পুরো redirect chain দেখতে পারবেন।
WordPress-এর জন্য Cloudflare Cache Rule
WordPress website-এর ক্ষেত্রে caching খুব গুরুত্বপূর্ণ।
তবে সব WordPress page একইভাবে cache করা যাবে না।
যেমন:
Homepage
Blog post
Category
Tag
Static pages
সাধারণত cache করা যায়।
কিন্তু:
/wp-admin/
Login
Cart
Checkout
My Account
User-specific page
সাধারণত cache করা উচিত নয়।
WooCommerce website হলে আরও সতর্কভাবে cache configuration করতে হবে।
Cloudflare-এ WordPress Admin Cache করবেন না
এই ধরনের URL সাধারণত cache করা উচিত নয়:
/wp-admin/*
/wp-login.php
WooCommerce হলে:
/cart/*
/checkout/*
/my-account/*
অন্যদিকে public content-এর জন্য proper cache policy তৈরি করা যায়।
Cloudflare WAF এবং Security Rules Check করুন
Cloudflare-এর WAF security-এর জন্য অত্যন্ত গুরুত্বপূর্ণ। কিন্তু অত্যন্ত aggressive custom rule থাকলে কিছু request-এ অতিরিক্ত processing হতে পারে।
Cloudflare Dashboard-এ গিয়ে:
Security → Events
দেখুন।
তারপর:
Security → WAF
এবং Custom Rules check করুন।
বিশেষ করে এমন rule আছে কিনা দেখুন যেটা:
সব request inspect করছে
সব country block/check করছে
Bot detection-এর জন্য complex logic ব্যবহার করছে
অনেক expression ব্যবহার করছে
ভুলভাবে challenge করছে
একটি সাধারণ WordPress website-এর জন্য প্রয়োজনের চেয়ে অনেক বেশি security rule ব্যবহার না করাই ভালো।
Cloudflare DNS Proxy Check করুন
Cloudflare DNS-এ domain-এর A record দেখুন।
যদি Cloudflare proxy চালু থাকে, তাহলে সাধারণত:
Orange Cloud
দেখাবে।
যদি DNS only থাকে:
Grey Cloud
দেখাবে।
Testing-এর সময় কোনো নির্দিষ্ট subdomain-কে সাময়িকভাবে DNS Only করে Origin response compare করা যেতে পারে।
তবে production website-এর ক্ষেত্রে Cloudflare proxy বন্ধ করার আগে security, SSL এবং server configuration বুঝে করা উচিত।
Cloudflare-এর Region এবং Origin Location
আরেকটি বিষয় হলো server location।
ধরুন:
Visitor → Bangladesh
Cloudflare → Singapore
Origin → Bangladesh
Cloudflare-এর routing এবং processing-এর কারণে সবসময় direct origin-এর চেয়ে দ্রুত হবে এমন নয়।
বিশেষ করে cache MISS হলে request Cloudflare থেকে Origin Server পর্যন্ত যেতে হবে।
যদি website-এর অধিকাংশ content dynamic হয় এবং Cloudflare cache HIT না করে, তাহলে Cloudflare-এর proxy layer অতিরিক্ত latency তৈরি করতে পারে।
WordPress Slow মনে হলে সরাসরি Server Test করুন
অনেক hosting user WordPress slow দেখেই:
PHP version change করেন
MySQL optimize করেন
plugin delete করেন
theme change করেন
server migration করেন
কিন্তু আগে test করা উচিত।
কারণ যদি:
Cloudflare TTFB = 6.5 sec
Origin TTFB = 0.06 sec
হয়, তাহলে server migration বা database optimization করার কোনো কারণ নেই।
Origin already fast।
Cloudflare ছাড়া Website Fast হলে কী করবেন?
যদি test করে দেখেন:
Cloudflare:
6.5 seconds
Origin:
0.06 seconds
তাহলে নিচের checklist অনুসরণ করুন:
Step 1
Cloudflare Cache Status check করুন।
Step 2
Cloudflare Worker আছে কিনা দেখুন।
Step 3
Cloudflare Rules check করুন।
Step 4
Redirect chain check করুন।
Step 5
SSL/TLS mode check করুন।
Step 6
WAF/Custom Security Rules check করুন।
Step 7
Cache Rules check করুন।
Step 8
Cloudflare proxy temporarily bypass করে test করুন।
Step 9
একই website বিভিন্ন network থেকে test করুন।
Step 10
Cloudflare response headers check করুন।
Cloudflare Response Header দিয়ে আরও তথ্য বের করুন
এই command ব্যবহার করুন:
curl -I https://example.com/
এখানে বিশেষ করে নিচের header খুঁজুন:
cf-cache-status
cf-ray
server
location
age
cache-control
cf-ray Cloudflare-এর request identifier।
cf-cache-status cache behavior বুঝতে সাহায্য করে।
location থাকলে redirect আছে কিনা বোঝা যায়।
cache-control থেকে browser/cache policy সম্পর্কে ধারণা পাওয়া যায়।
একই Test বারবার করুন
একবার test করে সিদ্ধান্ত নেওয়া ঠিক নয়।
এই command ব্যবহার করুন:
for i in {1..5}; do
curl -o /dev/null -s \
-w "TTFB: %{time_starttransfer}s Total: %{time_total}s\n" \
https://example.com/
done
Origin-এর জন্য:
for i in {1..5}; do
curl -k -o /dev/null -s \
-w "TTFB: %{time_starttransfer}s Total: %{time_total}s\n" \
--resolve example.com:443:14.128.14.2 \
https://example.com/
done
যদি Cloudflare-এর result এমন হয়:
6.5s
6.4s
6.7s
6.3s
6.6s
কিন্তু Origin:
0.06s
0.07s
0.06s
0.08s
0.06s
তাহলে এটা random WordPress slowdown হওয়ার সম্ভাবনা কম।
Cloudflare path বা configuration-এ সমস্যা খোঁজা উচিত।
WordPress Debug Log দেখেই সবসময় Slow Problem বোঝা যায় না
অনেকে wp-content/debug.log দেখে website slow হওয়ার কারণ খোঁজেন।
সেখানে যদি এমন কিছু থাকে:
ooo
ooo
ooo
তাহলে সেটি নিজে কোনো WordPress error নয়।
কোনো theme/plugin-এর code হয়তো:
error_log("ooo");
ব্যবহার করছে।
অর্থাৎ log-এ ooo লেখা হচ্ছে।
এটি website slow হওয়ার direct proof নয়।
Slow website diagnose করতে TTFB + PHP-FPM + MySQL + Cloudflare response একসাথে দেখতে হবে।
WordPress Website Slow হওয়ার Complete Troubleshooting Method
একটি professional troubleshooting sequence হতে পারে:
1. Browser test
↓
2. Cloudflare TTFB test
↓
3. Origin TTFB test
↓
4. Cloudflare headers
↓
5. Cache status
↓
6. Worker check
↓
7. Redirect check
↓
8. SSL/TLS check
↓
9. WAF/Rules check
↓
10. PHP-FPM check
↓
11. MySQL check
↓
12. WordPress plugin/theme check
এভাবে test করলে আন্দাজে configuration পরিবর্তন করার প্রয়োজন হয় না।
কখন WordPress Plugin বা Theme-এর দিকে যাবেন?
যদি Origin Server-ও slow হয়, তখন WordPress-এর দিকে যেতে হবে।
যেমন:
Cloudflare TTFB: 3.2 sec
Origin TTFB: 3.0 sec
এক্ষেত্রে:
PHP-FPM
PHP version
WordPress plugin
Theme
Database query
External API
Object Cache
Redis
Server CPU
RAM
Disk I/O
চেক করতে হবে।
কিন্তু:
Cloudflare TTFB: 6.5 sec
Origin TTFB: 0.06 sec
হলে প্রথমে WordPress plugin disable করা উচিত নয়।
Cloudflare + WordPress-এর জন্য Recommended Approach
একটি সাধারণ WordPress website-এর ক্ষেত্রে setup ideally এমন হতে পারে:
Visitor
↓
Cloudflare
↓
Cache HIT হলে
↓
Cloudflare Cache
↓
Visitor
Cache MISS হলে:
Visitor
↓
Cloudflare
↓
Origin Server
↓
LiteSpeed/Nginx
↓
PHP
↓
WordPress
↓
Response
এখানে লক্ষ্য হলো public content-এর জন্য যতটা সম্ভব cache HIT পাওয়া এবং dynamic/user-specific content সঠিকভাবে bypass করা।
সবচেয়ে গুরুত্বপূর্ণ বিষয়
Cloudflare ব্যবহার করছেন বলে website slow হলে সরাসরি Cloudflare-কে দোষ দেওয়া ঠিক নয়।
আবার WordPress website slow দেখালেই WordPress-কে দোষ দেওয়াও ঠিক নয়।
প্রথমে measurement করতে হবে।
যদি পাওয়া যায়:
Cloudflare:
TTFB = 6.51 seconds
এবং:
Origin:
TTFB = 0.06 seconds
তাহলে আপনি প্রায় নিশ্চিতভাবে বলতে পারেন যে Origin WordPress server নিজে 6.5 seconds নিচ্ছে না।
এখন investigation Cloudflare-এর request path, cache, Worker, rules, redirect, SSL/TLS এবং network behavior-এর দিকে নিতে হবে।
FAQ: Cloudflare Website Slow Related Common Questions
Cloudflare ব্যবহার করলে WordPress slow কেন হয়?
Cloudflare configuration, cache MISS, Worker, redirect, WAF rule, SSL/TLS বা network routing-এর কারণে delay হতে পারে।
Cloudflare TTFB 5 seconds কেন?
প্রথমে Origin Server TTFB test করুন। Origin যদি দ্রুত হয়, তাহলে Cloudflare-side processing বা configuration investigate করুন।
Cloudflare TTFB 6 seconds হলে কী করব?
Cloudflare এবং Origin আলাদা করে test করুন। curl দিয়ে TTFB compare করাই সবচেয়ে ভালো প্রথম ধাপ।
WordPress server fast কিন্তু Cloudflare slow কেন?
এক্ষেত্রে Cloudflare cache, Worker, Rules, redirect, SSL/TLS এবং Cloudflare-to-Origin connection পরীক্ষা করুন।
Cloudflare Cache HIT কী?
Cache HIT হলে Cloudflare নিজের cache থেকে content দিতে পারে, ফলে Origin Server-এ request পাঠানোর প্রয়োজন নাও হতে পারে।
Cloudflare Cache MISS কী?
Cloudflare cache-এ content না থাকলে সাধারণত Origin Server থেকে response নিতে হয়।
WordPress-এর জন্য Cloudflare ভালো?
সঠিক configuration থাকলে Cloudflare WordPress website-এর performance, caching এবং security উন্নত করতে পারে। তবে ভুল configuration থাকলে delay তৈরি হতে পারে।
শেষ কথা
WordPress website slow হওয়ার কারণ বের করার সবচেয়ে গুরুত্বপূর্ণ নিয়ম হলো guess না করে test করা।
আপনার website যদি Cloudflare ব্যবহার করে, তাহলে প্রথমেই এই দুইটি test করুন:
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com/
এবং:
curl -k -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" \
--resolve example.com:443:SERVER_IP https://example.com/
যদি Cloudflare দিয়ে:
TTFB: 6.5s
কিন্তু Origin Server দিয়ে:
TTFB: 0.06s
পাওয়া যায়, তাহলে WordPress server-এর performance নিয়ে অযথা কাজ করার আগে Cloudflare configuration এবং request path পরীক্ষা করুন।
সঠিকভাবে test করলে কয়েক মিনিটের মধ্যেই বোঝা সম্ভব যে সমস্যাটি Cloudflare, WordPress, PHP, MySQL, plugin, theme নাকি server থেকে হচ্ছে।
এই পদ্ধতিটি ব্যবহার করলে “WordPress website slow”, “Cloudflare website slow”, “Cloudflare TTFB high”, “WordPress TTFB 6 seconds”, “Cloudflare 5 seconds delay” বা “server fast but website slow” ধরনের সমস্যার root cause অনেক সহজে বের করা যায়।
Share your opinion here!