WordPress wp-config.php ফাইলটি WordPress সাইটের মূল কনফিগারেশন ফাইল, যা ডাটাবেসের সংযোগ থেকে শুরু করে নিরাপত্তা চাবি পর্যন্ত বহু গুরুত্বপূর্ণ তথ্য সংরক্ষণ করে। এই ফাইলের নিরাপত্তা নিশ্চিত করা প্রত্যেক ওয়েবসাইট পরিচালকের জন্য অব্যweich্য। সঠিক কনফিগারেশন ও পর্যাপ্ত ব্যবস্থাপনা ছাড়া wp-config.php ফাইলের ফাঁকফোকর দিয়ে হ্যাকিং, ডাটা চুরি কিংবা সম্পূর্ণ সাইটের ক্র্যাশ হওয়ার ঝুঁকি থাকে। এই ব্লগে WordPress wp-config.php ফাইল কী, কেন নিরাপত্তা প্রয়োজন, ইউজার পারমিশন, কনফিগারেশন ভুলের প্রভাব, বাংলা ও জায়গাভেদে লোকালাইজেশন বিষয়, নিরাপত্তা চাবি তৈরির নিয়ম, উন্নত নিরাপত্তা সেটিংস, নিয়মিত চেকলিস্ট, ব্যাকআপ ও রিকভারি, এবং ভালো নিরাপত্তার জন্য করণীয়—সব কিছুর ব্যাপারে বিস্তারিত আলোচনা করা হয়েছে।
WordPress wp-config.php ফাইল কী?
wp-config.php ফাইল WordPress কনফিগারেশনের মূল স্তম্ভ—ডাটাবেসের সাথে সংযোগ, সাইটের ভাষা, নিরাপত্তা চাবি, টেবিল prefix, এবং debug মোডসহ বাস্তবিকভাবে সাইটের প্রাণ। এটি সাধারণত সাইটের root ডিরেক্টরিতে থাকে, এবং WordPress ইন্সটলের সময় স্বয়ংক্রিয়ভাবে তৈরি হয় কিংবা আপনাকে হ্যান্ডমেড তৈরি করতে হয়। ফাইলের সঠিক সেটিংস ছাড়া সাইট চলে না—ডাটাবেস সংযোগ হয় না, কিছু বিকল হলেই সাদা স্ক্রিন কিংবা আনেক সমস্যা দেখা দেয়।
ফাইলের ভিতরে কী কী থাকে, দেখে নিন:
| সেটিং | বিস্তারিত | কেন দরকার |
|---|---|---|
| DB_NAME | ডাটাবেসের নাম | সাইট চালাতে বাধ্যতামূলক |
| DB_USER | ডাটাবেস ইউজারের নাম | ডাটাবেসে সংযোগ করার জন্য |
| DB_PASSWORD | ডাটাবেস ইউজারের পাসওয়ার্ড | নিরাপত্তার জন্য অত্যন্ত গুরুত্বপূর্ণ |
| DB_HOST | ডাটাবেস সার্ভারের ঠিকানা | সংযোগের জন্য বাধ্যতামূলক |
নিরাপত্তা চাবি (authentication unique keys and salts) ফাইলের সবচেয়ে গুরুত্বপূর্ণ অংশ, cookie ও session authentication কে শক্তিশালী করে দেয়। এই চাবিগুলো না থাকলে বা দুর্বল হলে Hackers সহজেই cookies ধরতে পারে। এগুলো নিয়মিত update করা জরুরি। wp-config.php এর প্রধান ফিচারগুলো:
- বেসিক ডাটাবেস সেটিংস (নাম, ইউজার, পাসওয়ার্ড, host)
- নিরাপত্তা চাবি (unique keys ও salts)
- Table prefix (ডিফল্ট ‘wp_’, customize করলে security বাড়ে)
- Debug মোড (উন্নয়ন/testing চলাকালে দরকার)
- Auto-save interval (post/page draft save সময়)
- WordPress ভাষা (WPLANG) — বাংলার জন্য ‘bn_BD’ কিংবা ইংরেজির জন্য ‘en_US’
সব মিলিয়ে wp-config.php আপনার সাইটের নিরাপত্তা, স্ট্যাবিলিটি, পারফরম্যান্স ও লোকালাইজেশন নির্ধারণের জন্য অবিচ্ছেদ্য। ফাইলটি বোঝা এবং ভালোভাবে ব্যবস্থাপনা করা প্রতিটি WordPress webmaster-এর দায়িত্ব।
কেন wp-config.php ফাইলের নিরাপত্তা অতি জরুরি?
এই ফাইলটি হল সার্ভারের ‘হাড়’, যার মধ্যে ডাটাবেস credential, authentication keys, salts—সবকিছু থাকে। কোনোভাবে কেউ যদি wp-config.php-তে access পায়, আপনার ডাটাবেস, files, credentials, এবং পুরো সাইট “মুঠোফোনের ঘড়ির মতো” পরিবর্তন, মুছে দেওয়া বা চুরি করা সম্ভব! তাই সার্ভার/ফাইলের সুরক্ষা WordPress security-এর প্রাথমিক পদক্ষেপ।
সুরক্ষা লঙ্ঘনের ঝুঁকি:
| হুমকি | বিশ্লেষণ | প্রতিরোধ |
|---|---|---|
| Database Hack | Credential leak হলে database চুরি, edit বা delete করা যায় | শক্তিশালী পাসওয়ার্ড, নিয়মিত পরিবর্তন |
| Data Leakage | ব্যবহারকারীর তথ্য, email, password leak হতে পারে | নিক্বিত নিরাপত্তা চাবি update |
| Site Hijack | মালিকানা ছাড়াই সাইটের পুরো ওপর control চলে যেতে পারে | পারমিশন (chmod/owner) ঠিকভাবে সেট করুন |
| Data Loss | হ্যাকার আক্রমণে ডাটাবেস destroy অথবা wipe out | পুঙ্খানুপুঙ্খ backup ও restore |
Common Security Flaws
- ভুল পারমিশন
- দুর্বল পাসওয়ার্ড
- পুরাতন WordPress/core/plugins — vulnerability
- নিরাপত্তা চাবির অনুপস্থিতি বা দুর্বলতা
- wp-config.php প্রকাশ্য (public) ফোল্ডারে
আপনি যদি নিরাপত্তা উপেক্ষা করেন, ক্লায়েন্টদের ডেটা যেমন নাম, email, password সরাসরি চুরি হবার সম্ভাবনা থাকে। সাইটের সুনাম হারাতে পারে। স্থায়ী সফলতার জন্য wp-config.php সুরক্ষা করা প্রযুক্তিগত ব্যাপার হলেও পেশাদারিত্বেরও প্রতীক।
wp-config.php ফাইলের পারমিশন সেটিংস
নিরাপত্তার বেলায় ব্যবহারকারীর পারমিশন (permission) অত্যন্ত গুরুত্বপূর্ণ। শিথিল পারমিশনে (যেমন 777, যেখানে সবাই লিখতে/পড়তে পারে) wp-config.php accessible হলে, কোন অচেনা user/php script ইচ্ছা মতো content edit করতে পারে। তাই “need-to-know”-এর ভিত্তিতে সর্বনিম্ন privilege নির্ধারিত হতে হবে।
| ফাইল/ফোল্ডার | পারমিশন | বিস্তারিত |
|---|---|---|
| wp-config.php | 644 বা 440 | শুধু সার্ভার owner পড়তে পারবে। অন্য user যেন লিখতে/পড়তে না পারে। |
| .htaccess | 644 | Apache config। মাথায় রাখুন, group/others যেন edit করতে না পারে। |
| /images/ | 755 | WordPress ছবি upload/serve করে, কিন্তু executable/ওয়েবসাইটে runnable না হয়। |
| /wp-content/plugins/ | 755 | Plugins এর জন্য ঠিকভাবে permission ফিক্স করা দরকার। |
সিডিএন/ক্লাউডফ্লেয়ার ব্যবহার হলে ফায়ারওয়ালেও access policy ঠিকমতো সেট করুন। নিচের ধাপে permission সেটিং:
- পারমিশন সেটিং স্টেপস
- SSH/FTP দিয়ে সার্ভারে connect করুন
- wp-config.php ফোল্ডারে যান
chmodদিয়ে permission সেট করুন (chmod 644 wp-config.php)- ফোল্ডার permission
chmod 755 images/ইত্যাদি - ls -l দিয়ে permission চেক করুন
- owner ঠিক আছে কিনা, না হলে
chownদিয়ে ফিক্স করুন
এ বিষয়ে hosting provider-এর guideline দেখতে ভুলবেন না। পারমিশন একটু গড়বড় হলে ডাটা চুরি কিংবা সাইট compromised হওয়ার আশঙ্কা অনেক বাড়ে।
কনফিগারেশন ভুলের প্রভাব
wp-config.php ফাইলে ছোট একটা typo, ভুল host, username, অথবা debug|auth key অনুপলব্ধ—একটা সাইট ফটাফট down হয়ে যেতে পারে অথবা hacker-এর জন্য সাইট খুলে দিতে পারে। তাই editing বা migration-এর আগে/পরে double check করতেই হবে।
ভুল করাতেই বেশি তথ্য leak হয় কিংবা বিশাল performance সমস্যার সৃষ্টি হয়।
- ডাটাবেস সংযোগ সমস্যা: ভুল info দিলে সাইট “Error establishing database connection” দেখাবে
- নিরাপত্তা দুর্বলতা: “auth” key/hash ভুল হলে, hacker cookies থেকে login credentials পেয়ে যাবে
- পারফরমেন্স সমস্যা: ভুল caching/buffer/memory limit দিলে slow ও crash
- ডাটা লস: auto backup/failover ভুল থাকলে restore করা কঠিন
- বারবার error notice: ডিফল্ট debug রেখে দিলে sensitive info leak হতে পারে
| ভুল | সম্ভাব্য ফলোআপ | প্রতিরোধ |
|---|---|---|
| Database info ভুল | সাইট inaccessible | ডাটাবেস credential পুনরায় পরীক্ষা |
| নিরাপত্তা key দুর্বল | cookie session hack | শক্তিশালী ও random security key ব্যবহার |
| caching ভুল | সাইট slow | cache config debug ও পরীক্ষা |
| memory limit ভুল | PHP/Javascript error, crash | server resource অনুযায়ী ঠিকেমতো memory নির্ধারণ |
Debug settings ভুলে live environment-এ sensitive error info (পথ, credential) leak করতে পারে। backup না করলে restore অসম্ভব। সাইট চালু রাখতে হলে প্রতিটি config change detect করে বুঝে-বুঝে পরিবর্তন করতে হবে—blind edit বিপজ্জনক।
লোকালাইজেশন ও wp-config.php
WordPress wp-config.php ফাইল শুধু security নয়, localization-এর জন্যও গুরুত্বপুর্ণ। ভাষা, টাইম জোন, ডেট, টাইম ফরম্যাট—এগুলো বাংলা সাইট/ভারতীয়/মধ্যপ্রাচ্য—ভবিষ্যত SEO ও user experience নির্ধারণ করে। সঠিকভাবে WP_LANGUAGE, টাইম জোন নির্ধারণ করে search engine/Google/Bing কে locale ধরতে সহজ করে দেয়।
| সেটিং | ব্যাখ্যা | নিমিত উদাহরণ |
|---|---|---|
| WPLANG | সাইটের ভাষা | 'bn_BD' |
| WP_TIMEZONE | টাইম জোন | 'Asia/Dhaka' |
| DB_COLLATE | ডাটাবেস কোলেশন | 'utf8_general_ci' |
| DATE_FORMAT | তারিখ ফরম্যাট | 'd.m.Y' বা 'Y-m-d' |
- WPLANG: ভাষার জন্য (বাংলা, 'bn_BD'; ইংরেজি, 'en_US')
- WP_TIMEZONE: টাইম জোন (Asia/Dhaka, Europe/London)
- DATE_FORMAT: ফরম্যাট (বাংলা সুবিধার জন্য 'd-m-Y')
- TIME_FORMAT: ঘড়ি ফরম্যাট ('H:i')
ভাষা সেটিংস
wp-config.php থেকে language setting (WPLANG) দিলে WordPress admin, menu, টাইটেল, date, everything বাংলা হয় বা যেকোনো ভাষা হয়। বহুভাষিক বা single-language—উভয় ক্ষেত্রেই user satisfaction ও SEO performance উন্নত হয়।
ক্লাচারাল সেটিংস (বিন্যাস, ফরম্যাট)
বাংলা বা জায়গা অনুযায়ী (date, time, currency, address formatting) সেটিং করে ইউজারকে cultural fit এবং আনন্দদায়ক browse সুবিধা দেওয়া যায়। উদাহরণ: DATE_FORMAT 'd-m-Y' দিলে ২৫-০৬-২০২৪—ইউজার local format পাবে। পাশাপাশি search engine-ও website-এর locale সঠিকভাবে চিনবে।
ঠিক localization সেটিংস সাইটের “যোগাযোগ” বাড়ায়, মানদন্ডের সাথে relevant করে তোলে।
গুপ্ততাব চাবি (Security Keys) তৈরি

WordPress-এর wp-config.php ফাইলের সবচেয়ে গুরুত্বপূর্ণ security অংশ—‘security keys’। এই keys/authentication salts session cookie encryption, login protect, database security নিশ্চিত করে। four keys—AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY—প্রত্যেকটি আলাদা purpose serve করে।
| কী | ব্যাখ্যা | কত জরুরি |
|---|---|---|
| AUTH_KEY | মূল authentication key | অতি উচ্চ |
| SECURE_AUTH_KEY | HTTPS session protected key | উচ্চ |
| LOGGED_IN_KEY | লগইন protection key | মাঝারি |
| NONCE_KEY | ওয়ান টাইম nonce security | মাঝারি |
কীভাবে random, শক্তিশালী key পাবেন?
- Key generate করবেন:
- WordPress security key generator-এ যান (api.wordpress.org/secret-key/1.1/salt/)
- output keys copy করুন
- wp-config.php backup নিন, edit করুন
- পুরনো keys সরিয়ে নতুন keys পেস্ট করুন
- save করুন ও server-এ upload করুন
কয়েক মাস পর পর (নতুন user/full site access/hack হলে) keys fresh করুন। cookie/session renew হলে হ্যাকার cookie-hijack করতে পারবে না। এই keys security armor, যা cookie, session, login ধারাবাহিকভাবে নিরাপদ রাখে।
উন্নত সুরক্ষা সেটিংস
wp-config.php ফাইলে “advanced security” সেটিং দিলে হ্যাকার, সংযোগের দুর্বলতা, ফাইল access, databank exploit—সবার বিরুদ্ধে সুরক্ষা বাড়ে। যেমন: বেসিক key ছাড়াও file edit/ debug/ db-prefix—সব customize করা যায়।
| গ্রাহ্য নিরাপত্তা সেটিং | ব্যাখ্যা | উদাহরণ |
|---|---|---|
| AUTH_KEY | Authentication শক্তি | 'put your unique phrase here' |
| SECURE_AUTH_KEY | SSL-secure authentication | 'put your unique phrase here' |
| WP_DEBUG | Error debug option | false (live সাইটে) |
| DISALLOW_FILE_EDIT | theme/plugin edit আটকাতে | true |
- Advanced Security Actions
- Db connection credentials “hide” রাখা
- AUTH_KEY ইত্যাদি নিয়মিত “update”
- file edit disable (
DISALLOW_FILE_EDIT) - error debug live environment-এ বন্ধ (
WP_DEBUG) - auto update সামলান (safe হতে হলে)
- custom table prefix এ SQL Injection রোধ
wp-config.php edit করার আগে অবশ্যই full backup নিতে হবে। ভুল config-এ সাইট inaccessible হয়ে যেতে পারে।
উন্নত কনফিগারেশন উদাহরণ
Custom table prefix দিয়ে SQL injection কমানো যায়, DISALLOW_FILE_EDIT true করে theme/plugin edit হ্যাকিং impossible হয়, nonce keys রেগুলার update করলে security triple হয়ে যায়।
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
নিয়মিত চেকলিস্ট
wp-config.php security ensure করতে নিয়মিত audit/check করতে হবে। কী কী জরুরি—permission, security key, db info, update policy, backup—সব যাচাই করুন।
| চেকপয়েন্ট | ব্যাখ্যা | সেরা চর্চা |
|---|---|---|
| Permission | 644/600 permission | 644/600 |
| Security Key | unique/random | নতুন keys, update always |
| Db Info | passwd/user শক্তিশালী | complex password, change করা |
| Automatic Updates | policy/enable করে ফেলুন | core security update enable |
backup ভুলবেন না—trouble হলে দ্রুত restore পাওয়া যাবে। settings audit করলে যেমন debug অন্য environment-এ; risk বা অপ্রয়োজনীয় define, remove করুন।
- Checklists
- 644/600 permission confirm করুন
- auth key salts অপটিমাল কিনা
- db credentials মিললে password ধরুন
- auto-update enable
- backup নিয়মিত নিন
- risk-define/remove করুন
ব্যাকআপ ও পুনরুদ্ধার
সাইটের সুরক্ষা নিশ্চিত করতে wp-config.php নিয়মিত backup ও restore policy থাকা must-have। hosting, FTP, plugin—সব করে backup নিতে পারেন। backup ছাড়াই ভুল config বা server crash হলে restore অসম্ভব হবে, ফলে site/business থেমে যাবে।
| ব্যাকআপ রীতি | ব্যাখ্যা | রুটিন |
|---|---|---|
| Manual | FTP/server থেকে ডাউনলোড করে local store | মাসে ১বার বা সাইট upgrade করলে |
| Plugin | UpdraftPlus/BackupBuddy দিয়ে auto backup | সাইট popular হলে weekly/daily |
| Hosting Provider | cPanel/Plesk, WHM backup service | উহ্য hosting policy অনুযায়ী |
| DB Backup | WordPress database backup tool | সাইট edit/change হলে backup |
best security হলো—local, cloud backup দুটো রাখুন (Google Drive/Dropbox)। backup restore করার জন্য FTP/cPanel দিয়ে upload করুন, এরপর troubleshooting/restore করার জন্য support team help নিন। backup verify করুন—ভুল backup restore দিলে আরো সমস্যা হবে।
- Backup Steps
- root directory থেকে wp-config.php খুঁজে বের করুন
- FTP/hosting panel দিয়ে PC-তে ডাউনলোড করুন
- passphrase-locked folder/cloud এ backup রাখুন
- plugin হলে scheduler ঠিক করুন
- hosting backup policy check করুন
- restore test চলে কিনা —verify করুন
restore করার জন্য backup upload করে check করুন; কনফিগারেশন, credentials, keys—সব মিলাচ্ছেন তো! site restore হলে homepage, login, admin menu—সব test করুন।
উপসংহার ও করণীয়
wp-config.php WordPress-এর core—security, db credentials, session, cookie—সবকিছু স্থান। password, key, salts-update, permission policy—এগুলো ছাড়া সাইট কখনো নিরাপদ না। শুধু plugin install বা শক্তিশালী password পেলেই চলছে না, config/security-ও must!
| প্রস্তাবনা | ব্যাখ্যা | গুরুত্ব |
|---|---|---|
| ফাইল permission সংকুচিত করুন | 644/640 হলে hacker access বন্ধ | essential! |
| নিরাপত্তা key update করুন | regular interval update রক্ষা করে | session hijack impossible |
| root directory থেকে সরিয়ে ফেলুন | wp-config.php এক directory উপরে রাখুন | direct browser access বন্ধ |
| db security নিশ্চিত করুন | password complex, backup always | data integrity & recovery |
- নিয়মিত backup — wp-config.php ও site file backup নিন
- কঠিন password — user, admin, db account strong password
- Two-factor authentication — admin panel login
- Security plugin — যেমন SiteLock, Wordfence
- সবসময় update রাখুন — WordPress core/themes/plugins up-to-date
- access log/watch — wp-config.php access log monitor করুন
গুরুত্বপূর্ণ: security “journey”—একবার config করে খুশি হওয়া নয়। নিয়মিত security audit, রানিং-updates, latest vulnerabilities জানা, security habits তৈরি করা; wp-config.php সুরক্ষা “start”—পুরো সাইট সুরক্ষার প্রথম ধাপে।
জিজ্ঞাস্য
WordPress সাইট ঠিকভাবে চলার জন্য wp-config.php কেন এত জরুরি?
wp-config.php ফাইল সাইটের মূল কনফিগারেশন: ডাটাবেস credentials, security keys/salts, table prefix, debug—সব এখানে নির্ধারিত। ভুল config বা corrupted ফাইল হলে সাইট চলবে না বা data leakage/security issue হবে।
wp-config.php ফাইল unauthorized access থেকে বাঁচাতে কি করা যায়?
ফাইল root directory থেকে উপরের (server accessible কিন্তু public inaccessible) ফোল্ডারে সরিয়ে দিন; permission restrict করুন; .htaccess দিয়ে deny policy সেট করুন; security plugin দিয়ে মনিটর করুন।
wp-config.php ফাইলের permission কিভাবে ঠিক করি?
644 বা আরও নিরাপদ হলে 600; অর্থাৎ owner-read/write, others/group no-access। incorrect permission হলে file-edit hack বেড়ে যাবে।
wp-config.php-তে ভুল config দিলে কী সমস্যা?
ডাটাবেস connection error, সাইট inaccessible, blank screen, security leak/credential hack হবার ঝুঁকি বাড়বে — credentials, key, salts, prefix, debug—সব double-check করা চাই।
wp-config.php ফাইলে localization কি শুধু ভাষা-নির্ভর?
না, ভাষা ছাড়াও date/time format, timezone, external server locale — সব কিছু customize করা যায়; যেন বাংলা, ইংরেজি বা অন্য locale এর সেরা user experience পাওয়া যায়।
WordPress security key বানানোর সেরা উপায় কী?
WordPress-এর own salt key generator (https://api.wordpress.org/secret-key/1.1/salt/) থেকে copy-paste করুন; cookie/session/hash security triple হলে hacker session hijack করতে পারবে না।
wp-config.php ফাইলের উন্নত security config কী কী করা যেতে পারে?
custom table prefix (wp_ থেকে ‘xyz_’), file edit disable (DISALLOW_FILE_EDIT), auto core update enable, debug live এ বন্ধ রাখা; password, keys নিয়মিত update—সব উন্নত config।
wp-config.php ফাইল কতদিন পরপর চেক করতে হবে?
WordPress core/plugins update, security alert, new user access, major site modification—এরপর config check করুন; credentials, keys, permission—all audit করুন।