WordPress wp-config.php फाइल: काम और एडिट करने का तरीका
wp-config.php में WordPress का डेटाबेस लॉगिन, सिक्योरिटी कीज़ और साइट सेटिंग्स होती हैं। जानिए यह कहां है, हर हिस्से का काम और इसे सुरक्षित रूप से एडिट करना।
wp-config.php वह फाइल है जो WordPress को बताती है कि अपने डेटाबेस से कैसे जुड़ना है और कैसे चलना है। यह आम तौर पर आपके इंस्टॉल के रूट फोल्डर में wp-admin और wp-content के बगल में होती है। आप “That’s all, stop editing!” (“बस इतना ही, एडिट करना बंद करें!”) लाइन के ऊपर सेटिंग्स सुरक्षित रूप से जोड़ या बदल सकते हैं, और उस लाइन के नीचे के कोड के दो ब्लॉक वैसे ही छोड़ देने चाहिए। पहले बैकअप रखें, क्योंकि एक टाइपो पूरी साइट को बंद कर सकता है।
मुख्य बातें
- इस फाइल में आपका डेटाबेस पासवर्ड और सिक्योरिटी कीज़ होती हैं, इसलिए इसे पासवर्ड की तरह संभालें और इसकी सामग्री कभी किसी फोरम या सपोर्ट चैट में न डालें।
- अपनी सेटिंग्स “stop editing” लाइन के ऊपर जोड़ें। उसके नीचे की आखिरी लाइन WordPress को लोड करती है, और उसके बाद की सेटिंग बहुत देर से आ सकती है।
- WordPress के डाउनलोड में
wp-config-sample.phpहोती है। असलीwp-config.phpसेटअप के दौरान बनती है।- लाइव साइट पर सिर्फ वह लाइन एडिट करके
$table_prefixन बदलें। WordPress ऐसा व्यवहार करेगा जैसे वह इंस्टॉल ही नहीं है।
wp-config.php कहां मिलेगी
SFTP से कनेक्ट करें या अपने होस्ट का फाइल मैनेजर खोलें, फिर उस फोल्डर में जाएं जिसमें wp-admin, wp-includes और wp-content हैं। WordPress डॉक्यूमेंटेशन इसे आपकी WordPress फाइल डायरेक्टरी का रूट कहता है।
अगर फाइल वहां नहीं है, तो एक फोल्डर ऊपर देखें। WordPress का लोडर पहले इंस्टॉल फोल्डर जांचता है, फिर पैरेंट फोल्डर, और अगर पैरेंट में अपनी wp-settings.php हो तो उसे छोड़ देता है, क्योंकि इसका मतलब है कि वहां कोई दूसरा WordPress इंस्टॉल है।
अगर दोनों जगह फाइल नहीं है, तो WordPress विज़िटर्स को अपनी सेटअप स्क्रीन पर भेजता है। वह स्क्रीन फाइल बनाती है wp-config-sample.php से। जब वह फोल्डर में लिख नहीं पाती, तो आपको वह टेक्स्ट दिखाती है जिसे नई फाइल में हाथ से पेस्ट करना होता है।

wp-config.php हटने के बाद हमारी टेस्ट साइट पर यही दिखा: WordPress सेटअप का पहला चरण। यह इसी भाषा सूची से शुरू होता है।हर डिफॉल्ट हिस्सा क्या करता है
wp-config-sample.php टेम्पलेट है, और इसके हिस्से इसी क्रम में होते हैं:
| हिस्सा | इसमें क्या होता है | क्या आप बदल सकते हैं? |
|---|---|---|
DB_NAME, DB_USER, DB_PASSWORD, DB_HOST | डेटाबेस लॉगिन। सैंपल में होस्ट localhost है, और असली वैल्यू आपका वेब होस्ट दे सकता है। | हां, जब आपके डेटाबेस की जानकारी बदले। गलत वैल्यू से डेटाबेस कनेक्शन स्थापित करने में त्रुटि आती है। |
DB_CHARSET, DB_COLLATE | डेटाबेस में टेक्स्ट कैसे सेव होता है। डिफॉल्ट utf8mb4 और एक खाली वैल्यू हैं। | सैंपल की अपनी टिप्पणी कहती है कि शंका हो तो DB_COLLATE न बदलें। |
AUTH_KEY से NONCE_SALT तक | लॉगिन कुकीज़ के लिए इस्तेमाल होने वाली आठ सिक्योरिटी कीज़ और सॉल्ट। | हां। इन्हें बदलने से सभी यूज़र लॉग आउट हो जाते हैं। |
$table_prefix | हर डेटाबेस टेबल के नाम की शुरुआत का टेक्स्ट, डिफॉल्ट रूप से wp_। | सिर्फ इंस्टॉल के समय, जब तक आप टेबल्स का नाम न बदलें और डेटाबेस की उन सेव की गई एंट्री को अपडेट न करें जिनके नाम में यह प्रीफिक्स है। |
WP_DEBUG | डीबग मोड, सैंपल में false पर सेट। | हां। डीबग लॉग लोकेशन गाइड बताती है कि एरर को फाइल में कैसे भेजें। |
| “custom values” (“कस्टम वैल्यू”) वाली टिप्पणी | आपकी अपनी सेटिंग्स के लिए खाली जगह, जो “stop editing” लाइन पर खत्म होती है। | हां, आपकी जोड़ी हुई चीज़ें यहीं जाती हैं। |
ABSPATH और wp-settings.php वाली लाइन | WordPress का पाथ, फिर वह लाइन जो बाकी सब लोड करती है। | नहीं। इन्हें वैसे ही रहने दें। |
नई कीज़ बस एक क्लिक दूर हैं: WordPress.org की सीक्रेट-की सर्विस हर बार लोड करने पर एक नया सेट देती है। आठों लाइनों को नए सेट से बदल दें।
पुरानी फाइलों में “custom values” वाली टिप्पणी नहीं हो सकती और “Happy publishing” की जगह “Happy blogging” लिखा हो सकता है। दोनों काम करते हैं, और नियम वही रहता है: अपनी सेटिंग्स उस लाइन के ऊपर जोड़ें।
आम तौर पर बदली जाने वाली सेटिंग्स
इनमें से हर एक सिर्फ एक लाइन है। ये सभी wp-config.php डॉक्यूमेंटेशन से हैं, और डिफॉल्ट वैल्यू WordPress की default-constants.php से।
// Memory for the front end, then for wp-admin
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
// Keep at most 3 revisions per post (false turns revisions off)
define( 'WP_POST_REVISIONS', 3 );
// Autosave every 180 seconds
define( 'AUTOSAVE_INTERVAL', 180 );
// Empty the trash after 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
// Remove the theme and plugin file editor from wp-admin
define( 'DISALLOW_FILE_EDIT', true );
// Force HTTPS for logins and wp-admin
define( 'FORCE_SSL_ADMIN', true );
// Set the site addresses here
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
सिर्फ वही लाइनें कॉपी करें जिनकी आपको ज़रूरत है। इनमें से कुछ के बारे में जानने लायक बातें:
- मेमोरी: WordPress का डिफॉल्ट 40M है, मल्टीसाइट पर 64M, और wp-admin के लिए 256M, जब तक PHP पहले से ज़्यादा की अनुमति न देता हो। अगर आपका होस्ट लिमिट बदलने की अनुमति नहीं देता, तो WordPress वही लिमिट इस्तेमाल करता है जो PHP में पहले से है। ऐसा होने पर क्या करना है, यह मेमोरी खत्म होने वाली गाइड में है।
- रिविज़न: ये डिफॉल्ट रूप से चालू होते हैं। बंद करने के लिए
falseसेट करें, या सीमा तय करने के लिए कोई संख्या। - ऑटोसेव और ट्रैश: डिफॉल्ट 60 सेकंड और 30 दिन हैं।
EMPTY_TRASH_DAYSको0करने से ट्रैश बंद हो जाता है, और डॉक्यूमेंटेशन चेतावनी देता है कि तब कोई “Delete Permanently” (“हमेशा के लिए हटाएं”) पर क्लिक करे तो WordPress पुष्टि नहीं मांगेगा। - फाइल एडिटर: हार्डनिंग गाइड कहती है कि यह किसी हमलावर को मैलिशियस फाइलें अपलोड करने से नहीं रोकेगा, हालांकि कुछ हमले रुक सकते हैं।
DISALLOW_FILE_MODSइससे आगे जाकर प्लगइन और थीम के इंस्टॉल और अपडेट भी रोक देता है। - HTTPS: जब “WordPress पता” सेटिंग पहले से
httpsसे शुरू होता है, तो WordPressFORCE_SSL_ADMINको खुदtrueकर देता है। यह लाइन तभी कुछ बदलती है जब पताhttpsसे शुरू नहीं होता। - साइट के पते: ये सेव की गई वैल्यू को ओवरराइड करते हैं, डेटाबेस में रखी चीज़ को बदले बिना।
https://वाला हिस्सा शामिल करें।
एक सेटिंग को ज़्यादा योजना चाहिए। define( 'DISABLE_WP_CRON', true ); पेज विज़िट से शेड्यूल्ड काम शुरू होना रोक देता है, इसलिए इसे चालू करने से पहले wp-cron.php के लिए सर्वर क्रॉन जॉब सेट करें, नहीं तो शेड्यूल्ड पोस्ट और दूसरे तय समय वाले काम नहीं चलेंगे।
wp-config.php को सुरक्षित रूप से कैसे एडिट करें
- पहले एक कॉपी डाउनलोड करें। इसे अपने कंप्यूटर पर रखें। सर्वर पर
wp-config.php.bakजैसे नाम से छोड़ी गई कॉपी ब्राउज़र में पढ़ी जा सकती है, क्योंकि सर्वर उसे अब PHP नहीं मानता। - फाइल को प्लेन टेक्स्ट एडिटर में खोलें। WordPress की एडिटिंग गाइड Notepad++, Sublime Text और Visual Studio Code को ठीक बताती है, और Google Docs व Microsoft Word से बचने को कहती है, क्योंकि वर्ड प्रोसेसर कोटेशन मार्क बदल देते हैं और ऐसा कोड जोड़ सकते हैं जो फाइलें खराब कर दे।
- “stop editing” लाइन ढूंढें और अपनी नई लाइनें ठीक उसके ऊपर रखें। अगर सेटिंग ऊपर पहले से मौजूद है, तो उसी लाइन को बदलें।
- सेव करके अपलोड करें, फिर अपनी साइट लोड करें एक प्राइवेट ब्राउज़र विंडो में, साथ में wp-admin का एक पेज भी।
- कुछ खराब हो जाए तो अपनी कॉपी वापस रखें। इससे एडिट हट जाता है, तब भी जब wp-admin लोड न हो।

फाइल को वेब रूट से ऊपर ले जाना
हार्डनिंग गाइड कहती है कि wp-config.php को आपके WordPress इंस्टॉल से एक फोल्डर ऊपर रखा जा सकता है, और लोडर कोड बिना किसी अतिरिक्त सेटिंग के इसे संभाल लेता है। फाइल को ले जाएं, फिर जांचें कि साइट अब भी लोड हो रही है। इसकी दो सीमाएं हैं:
- पैरेंट फोल्डर में दूसरा WordPress इंस्टॉल नहीं हो सकता। लोडर उस पैरेंट फोल्डर को नज़रअंदाज़ करता है जिसमें अपनी
wp-settings.phpहो। - एक लेवल ऊपर तभी निजी है जब WordPress वेब रूट पर हो। अगर WordPress
/blog/जैसे सबफोल्डर में है, तो एक लेवल ऊपर आम तौर पर अब भी सार्वजनिक होता है।
वही गाइड कहती है कि कुछ लोगों का तर्क है कि इस कदम के सुरक्षा लाभ बहुत कम हैं, और लापरवाही से करने पर यह गंभीर कमज़ोरियां ला सकता है। इसलिए इसे वैकल्पिक मानें। Apache पर गाइड आपकी .htaccess फाइल के सबसे ऊपर के लिए यह ब्लॉक भी देती है, जो फाइल पर सीधे आने वाले अनुरोधों को रोक देता है:
<Files "wp-config.php">
Require all denied
</Files>
हमारी .htaccess सुरक्षा गाइड इस नियम को दूसरे नियमों के साथ समझाती है।
wp-config.php की फाइल परमिशन
WordPress डॉक्यूमेंटेशन स्थिति के अनुसार थोड़े अलग नंबर देता है:
- हार्डनिंग गाइड कहती है कि फाइल को सिर्फ आप और वेब सर्वर पढ़ सकें, जिसका मतलब उसके अनुसार आम तौर पर 400 या 440 है।
- फाइल परमिशन गाइड suexec वाली शेयर्ड होस्टिंग पर 440 या 400 बताती है, ताकि सर्वर के दूसरे यूज़र इसे न पढ़ सकें। वह 600 को भी एक सुरक्षित उदाहरण के रूप में दिखाती है।
- सामान्य WordPress फाइलों के लिए वही गाइड 644 या 640 बताती है।
कौन सा नंबर काम करेगा, यह इस पर निर्भर है कि आपका वेब सर्वर किस सिस्टम यूज़र के रूप में चलता है। वेब सर्वर को फाइल पढ़नी ही होती है, इसलिए बदलाव के बाद साइट लोड होना बंद हो जाए तो पिछली वैल्यू पर लौटें और अपने होस्ट से पूछें कि उनके सेटअप में कौन सी वैल्यू ठीक है।
आम गलतियां
wp-settings.phpलाइन के बाद सेटिंग पेस्ट करना। वह लाइन WordPress को लोड करती है और उसके डिफॉल्ट सेट करती है। PHP कॉन्स्टेंट स्क्रिप्ट चलने के दौरान बदल नहीं सकता, इसलिए कई सेटिंग्स वहां काम करना बंद कर देती हैं। हमारे टेस्ट मेंWP_POST_REVISIONSऔरWP_DEBUG_LOGका कोई असर नहीं हुआ, जबकिDISALLOW_FILE_EDITकाम करता रहा, इसलिए सेटिंग्स हमेशा उस लाइन के ऊपर जोड़ें।- एक ही सेटिंग को दो बार डिफाइन करना। पहली लाइन वैल्यू सेट करती है और दूसरी उसे बदल नहीं सकती। PHP इस पर एक चेतावनी देता है, और PHP 8.5 में यह चेतावनी यह भी बताती है कि PHP 9 में यह एरर बन जाएगा। जोड़ने से पहले फाइल में उस नाम को खोज लें।
- true या false के चारों ओर कोट लगाना।
'false'एक खाली न होने वाली स्ट्रिंग है, और PHP उसे true मानता है।falseबिना कोट के लिखें।'256M'जैसे साइज़ को कोट चाहिए। - वर्ड प्रोसेसर या वेब पेज से आए कर्ली कोट। PHP को सीधे कोट चाहिए, इसलिए कर्ली कोट ऐसा एरर देते हैं जो साइट को लोड होने से रोक देता है।
- लाइव साइट पर डीबग एरर दिखाना।
WP_DEBUG_DISPLAYका डिफॉल्टtrueहै, इसलिए अगर आप सिर्फWP_DEBUGचालू करते हैं, तो एरर विज़िटर्स को पेज पर दिखते हैं। डीबग लॉग लोकेशन गाइड बताती है कि उन्हें फाइल में कैसे भेजें। WP_ALLOW_REPAIRको चालू छोड़ना। डॉक्यूमेंटेशन कहता है कि इसे सिर्फ ज़रूरत पड़ने पर चालू करें और समस्या हल होने पर बंद कर दें।
अक्सर पूछे जाने वाले सवाल
WordPress में wp-config.php क्या है?
यह कॉन्फ़िगरेशन फाइल है जिसे WordPress शुरू होते समय लोड करता है। इसमें आपका डेटाबेस लॉगिन, सिक्योरिटी कीज़ और टेबल प्रीफ़िक्स होते हैं, और WP_DEBUG या WP_MEMORY_LIMIT जैसी सेटिंग्स आप यहीं जोड़ते हैं।
wp-config.php फाइल कहां होती है?
आम तौर पर आपके WordPress इंस्टॉल के रूट फोल्डर में, यानी उसी फोल्डर में जहां wp-admin, wp-includes और wp-content हैं। WordPress इसे इंस्टॉल से एक फोल्डर ऊपर भी स्वीकार करता है, बशर्ते उस फोल्डर में wp-settings.php न हो।
wp-config.php में कोड कहां जोड़ें? उस लाइन के ऊपर जिसमें लिखा है That’s all, stop editing! Happy publishing. (“बस इतना ही, एडिट करना बंद करें! पब्लिश करने का आनंद लें”)। पुरानी फाइलों में Happy blogging लिखा होता है। उसके नीचे की आखिरी लाइन WordPress को लोड करती है, इसलिए उस लाइन के बाद रखी सेटिंग बहुत देर से आ सकती है।
क्या wp-config.php को एडिट करना सुरक्षित है? हां, अगर आप बैकअप रखें और प्लेन टेक्स्ट एडिटर इस्तेमाल करें। एक टाइपो wp-admin समेत पूरी साइट को लोड होने से रोक सकता है, इसलिए पहले एक कॉपी डाउनलोड करें। एडिट के बाद साइट खराब हो जाए तो वह कॉपी वापस रख दें।
wp-config.php डिलीट करने पर क्या होता है? WordPress को अपना डेटाबेस लॉगिन नहीं मिलता और वह सेटअप प्रक्रिया शुरू कर देता है, जिसमें कॉन्फ़िगरेशन फाइल बनाने को कहा जाता है। आपका कंटेंट डेटाबेस में रहता है, इसलिए बैकअप वापस रखने या उन्हीं जानकारियों से फाइल दोबारा बनाने पर साइट फिर जुड़ जाती है।
wp-config.php की परमिशन क्या होनी चाहिए? WordPress की हार्डनिंग गाइड कहती है कि इसे सिर्फ आप और वेब सर्वर पढ़ सकें, जिसका मतलब आम तौर पर 400 या 440 होता है। उसकी फाइल परमिशन गाइड में 600 भी दिखाया गया है। वेब सर्वर को फाइल पढ़नी ही होती है, इसलिए साइट लोड होना बंद हो जाए तो अपने होस्ट से पूछें।
स्रोत
- WordPress Advanced Administration: wp-config.php, Hardening WordPress, File permissions, Editing files
- WordPress सोर्स कोड: wp-config-sample.php, wp-load.php, default-constants.php, setup-config.php, cron.php
- PHP मैनुअल: Constants, Booleans
ज़रूरी सेटिंग्स को हाथ से टाइप किए बिना, नई सिक्योरिटी कीज़ समेत, मुफ्त wp-config.php जनरेटर से बनाएं।
FAQ
सवाल
WordPress में wp-config.php क्या है?
यह कॉन्फ़िगरेशन फाइल है जिसे WordPress शुरू होते समय लोड करता है। इसमें आपका डेटाबेस लॉगिन, सिक्योरिटी कीज़ और टेबल प्रीफ़िक्स होते हैं, और WP_DEBUG या WP_MEMORY_LIMIT जैसी सेटिंग्स आप यहीं जोड़ते हैं।
wp-config.php फाइल कहां होती है?
आम तौर पर आपके WordPress इंस्टॉल के रूट फोल्डर में, यानी उसी फोल्डर में जहां wp-admin, wp-includes और wp-content हैं। WordPress इसे इंस्टॉल से एक फोल्डर ऊपर भी स्वीकार करता है, बशर्ते उस फोल्डर में wp-settings.php न हो।
wp-config.php में कोड कहां जोड़ें?
उस लाइन के ऊपर जिसमें लिखा है That's all, stop editing! Happy publishing. ("बस इतना ही, एडिट करना बंद करें! पब्लिश करने का आनंद लें")। पुरानी फाइलों में Happy blogging लिखा होता है। उसके नीचे की आखिरी लाइन WordPress को लोड करती है, इसलिए उस लाइन के बाद रखी सेटिंग बहुत देर से आ सकती है।
क्या wp-config.php को एडिट करना सुरक्षित है?
हां, अगर आप बैकअप रखें और प्लेन टेक्स्ट एडिटर इस्तेमाल करें। एक टाइपो wp-admin समेत पूरी साइट को लोड होने से रोक सकता है, इसलिए पहले एक कॉपी डाउनलोड करें। एडिट के बाद साइट खराब हो जाए तो वह कॉपी वापस रख दें।
wp-config.php डिलीट करने पर क्या होता है?
WordPress को अपना डेटाबेस लॉगिन नहीं मिलता और वह सेटअप प्रक्रिया शुरू कर देता है, जिसमें कॉन्फ़िगरेशन फाइल बनाने को कहा जाता है। आपका कंटेंट डेटाबेस में रहता है, इसलिए बैकअप वापस रखने या उन्हीं जानकारियों से फाइल दोबारा बनाने पर साइट फिर जुड़ जाती है।
wp-config.php की परमिशन क्या होनी चाहिए?
WordPress की हार्डनिंग गाइड कहती है कि इसे सिर्फ आप और वेब सर्वर पढ़ सकें, जिसका मतलब आम तौर पर 400 या 440 होता है। उसकी फाइल परमिशन गाइड में 600 भी दिखाया गया है। वेब सर्वर को फाइल पढ़नी ही होती है, इसलिए साइट लोड होना बंद हो जाए तो अपने होस्ट से पूछें।