# HTTPS सक्षम करने के बाद मिश्रित सामग्री चेतावनियों को ठीक करना

Source: https://support.kapsulehost.com/hi-in/ssl-mixed-content

## मिश्रित कंटेंट क्या है

एक ब्राउजर किसी पेज को सुरक्षित तभी मानता है जब पेज और उसके द्वारा लोड की जाने वाली सभी चीज़ें HTTPS के माध्यम से आई हों। यदि कोई HTTPS पेज `http://` पते से कोई इमेज, स्क्रिप्ट, स्टाइलशीट, फॉन्ट या iframe खींचता है, तो ब्राउजर इसे फ्लैग करता है।

ब्राउजर इसे दो श्रेणियों में विभाजित करते हैं, और वे बिल्कुल अलग व्यवहार करते हैं:

- **सक्रिय मिश्रित कंटेंट**: स्क्रिप्ट, स्टाइलशीट, iframe और XHR। ब्राउजर इन्हें पूरी तरह ब्लॉक करते हैं। लेआउट ढह जाते हैं, स्लाइडर रुक जाते हैं, फॉर्म सबमिट होना बंद कर देते हैं। यह विनाशकारी प्रकार है।
- **निष्क्रिय मिश्रित कंटेंट**: इमेज, ऑडियो और वीडियो। ये आमतौर पर लोड होते रहते हैं, लेकिन पैडलॉक डाउनग्रेड या हटा दिया जाता है।

इसलिए कोई साइट पूरी तरह ठीक दिख सकती है और फिर भी अपना पैडलॉक खो सकती है, या पेज में कोई स्पष्ट त्रुटि न होने के बावजूद टूटी हुई दिख सकती है।

## SSL सक्षम करने के बाद यह क्यों होता है

SSL को चालू करना बदलता है कि आपकी साइट कैसे परोसी जाती है। यह नहीं बदलता कि इसके अंदर क्या संग्रहीत है।

WordPress डेटाबेस में निरपेक्ष URL लिखता है, इसलिए एक साइट जो किसी भी अवधि के लिए HTTP पर चली है, उसके पास `http://` पते सहेजे हुए हैं:

- पोस्ट और पेज कंटेंट, जिसमें एडिटर के माध्यम से डाली गई प्रत्येक इमेज शामिल है।
- मीडिया अटैचमेंट रिकॉर्ड।
- थीम कस्टमाइज़र सेटिंग्स और थीम विकल्प।
- विजेट कंटेंट और ब्लॉक सेटिंग्स।
- प्लगइन सेटिंग्स, विशेष रूप से पेज बिल्डर और स्लाइडर प्लगइन।
- `siteurl` और `home` विकल्प।

इसमें से कुछ भी स्वयं को अपडेट नहीं करता है। SSL सक्षम करना और फिर सोचना कि पैडलॉक क्यों टूटा है, यह सबसे आम सहायता प्रश्नों में से एक है, और यही कारण है।

## चरण 1: सर्वर पर HTTPS को जबरदस्ती करें

डेटाबेस को छूने से पहले, सुनिश्चित करें कि प्रत्येक आगंतुक पहले ही HTTPS पर लैंड कर रहा है।

1. [KPanel](https://kpanel.kapsulehost.com) में साइन इन करें और बाएँ साइडबार में **Websites** पर क्लिक करें।
2. अपनी साइट पर क्लिक करें।
3. **Settings** खोलें।
4. **Behavior** के अंतर्गत, **HTTPS को जबरदस्ती करें** चालू करें।
5. **परिवर्तन सहेजें** पर क्लिक करें।

![KPanel में किसी साइट के लिए Settings पेज पर Behavior के तहत Force HTTPS सेटिंग](https://support.kapsulehost.com/help/screenshots/ssl-mixed-content.6758a2bb.webp)

अब प्रत्येक HTTP अनुरोध आपकी साइट चलने से पहले सर्वर पर HTTPS को रीडायरेक्ट किया जाता है।

> **Note:** **HTTPS को जबरदस्ती करें** आने वाले अनुरोधों को संभालता है। यह आपके डेटाबेस में पहले से संग्रहीत URL को फिर से नहीं लिखता है, इसलिए अपने आप से यह किसी हार्डकोडेड `http://` इमेज के कारण होने वाली मिश्रित कंटेंट चेतावनी को साफ नहीं करेगा। आपको चरण 1 और चरण 2 दोनों की आवश्यकता है।

यदि SSL अभी सक्रिय नहीं है, या प्रमाणपत्र गलत दिखता है, तो [SSL Certificates](https://support.kapsulehost.com/hi-in/ssl-certificates) से शुरुआत करें।

## चरण 2: संग्रहीत URL को फिर से लिखें

यह वह फिक्स है जो वास्तव में मिश्रित कंटेंट को हल करता है।

1. साइट खोलें, फिर **WordPress** टैब, फिर **त्वरित कार्य** अनुभाग खोलें।
2. **खोजें और बदलें** कार्ड खोजें और **Configure** पर क्लिक करें।
3. **खोजें (पुरानी वैल्यू)** में `http://yourdomain.co.nz` दर्ज करें।
4. **इसके साथ बदलें** में `https://yourdomain.co.nz` दर्ज करें।
5. **ड्राई रन (केवल पूर्वावलोकन, कोई परिवर्तन नहीं)** को चेक किया हुआ रखें और **Preview** पर क्लिक करें।
6. संख्या और प्रति-तालिका विभाजन की समीक्षा करें।
7. **ड्राई रन** को अनचेक करें, **Run** पर क्लिक करें, और पुष्टि करें।

प्रतिस्थापन से पहले एक पूरा बैकअप स्वचालित रूप से लिया जाता है, और प्लगइन द्वारा बनाई गई तालिकाएँ सहित सभी तालिकाएँ कवर की जाती हैं। क्रमबद्ध प्लगइन सेटिंग्स को सही तरीके से संभाला जाता है।

> **Warning:** phpMyAdmin में एक SQL क्वेरी के साथ ऐसा न करें। WordPress प्लगइन और थीम सेटिंग्स को क्रमबद्ध स्ट्रिंग्स के रूप में संग्रहीत करता है जो प्रत्येक मान की लंबाई रिकॉर्ड करते हैं, इसलिए एक कच्चा `REPLACE()` उन्हें तोड़ता है और सेटिंग्स चुपचाप खाली पर रीसेट हो जाती हैं। बैकअप को पुनः स्थापित करने के अलावा कोई मरम्मत नहीं है। पूरी व्याख्या [Running a Search and Replace](https://support.kapsulehost.com/hi-in/wordpress-search-replace) में है।

यदि आपकी योजना में कंसोल शामिल है, तो समतुल्य कमांड है:

```
search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run
```

इसे लागू करने के लिए `--dry-run` को छोड़ दें, और पहले स्वयं एक बैकअप लें: कंसोल ऐसा नहीं करता है।

## चरण 3: प्रत्येक कैश को साफ करें

पेज की कैश की गई कॉपी डेटाबेस को ठीक करने के बाद भी पुराने HTTP URL को लंबे समय तक परोसती रहेगी, यही कारण है कि लोग अक्सर सोचते हैं कि प्रतिस्थापन काम नहीं आया।

1. **WordPress**, फिर **त्वरित कार्य**, फिर **कैश फ्लश करें**।
2. **WordPress**, फिर **Caching**, फिर **कैश हटाएँ**, यदि पूर्ण पेज कैश चालू है।
3. **Performance**, फिर **Kapsule CDN**, फिर **Purge**, यदि CDN चालू है। [Purging the CDN Cache](https://support.kapsulehost.com/hi-in/cdn-cache-purge) देखें।
4. कोई भी कैशिंग प्लगइन, इसकी स्वयं की सेटिंग्स स्क्रीन से।
5. आपका स्वयं का ब्राउजर। निजी विंडो में परीक्षण करें ताकि आप अपने स्वयं के कैश से मूर्ख न बनें।

## चरण 4: जो कुछ बचा है उसे खोजें

चरण 2 के बाद अधिकांश साइटें साफ होती हैं। जब कोई चेतावनी बनी रहती है, तो अनुमान लगाने के बजाय सटीक संसाधन खोजें।

**ब्राउजर कंसोल।** F12 के साथ डेवलपर टूल खोलें, **Console** टैब पर जाएँ, और पुनः लोड करें। मिश्रित कंटेंट एक स्पष्ट चेतावनी के रूप में दिखाई देती है जो अपराधी संसाधन का पूर्ण URL नाम देती है। यह URL आपको बताता है कि कौन सा प्लगइन या थीम जिम्मेदार है।

**Network टैब।** `http://` से फ़िल्टर करें ताकि पेज द्वारा किए गए प्रत्येक असुरक्षित अनुरोध को सूचीबद्ध करें।

**पेज स्रोत।** पेज लोड करें, स्रोत देखें, और `http://` के लिए खोजें। `xmlns` विशेषताओं और स्कीमा घोषणाओं के अंदर कुछ भी अनदेखा करें: ये पहचानकर्ता हैं, अनुरोध नहीं।

सामान्य जीवन रक्षक, और प्रत्येक के बारे में क्या करना है:

| आप जो खोजते हैं | फिक्स |
|---|---|
| थीम कस्टमाइज़र सेटिंग में एक इमेज या लोगो | कस्टमाइज़र में इसे फिर से अपलोड या फिर से चुनें |
| एक पेज बिल्डर मॉड्यूल जिसमें एक टाइप किया हुआ `http://` इमेज URL है | उस मॉड्यूल को संपादित करें और URL को सही करें |
| एक स्लाइडर प्लगइन की स्वयं की सेटिंग्स तालिका | स्लाइडर को फिर से सहेजें, या `--all-tables` के साथ खोजें और बदलें चलाएँ |
| किसी थर्ड पार्टी डोमेन से फॉन्ट या स्क्रिप्ट | जाँचें कि क्या प्रदाता HTTPS प्रदान करता है। अधिकांश अब करते हैं। URL को स्विच करें |
| पुराने विक्रेता से एक ट्रैकिंग पिक्सल या एम्बेड | यदि विक्रेता के पास HTTPS नहीं है, तो इसे हटा दें। यह एक टूटी हुई निर्भरता है, KapsuleHost समस्या नहीं है |
| थीम टेम्पलेट फ़ाइल में हार्डकोडेड `http://` | टेम्पलेट को संपादित करें, या बेहतर अभी भी, `https` या प्रोटोकॉल सापेक्ष संदर्भ का उपयोग करें |

> **Tip:** यदि केवल एक पेज प्रभावित है और बाकी साइट साफ है, तो अपराधी साइट की सेटिंग नहीं, उस पेज पर कंटेंट है। इसे एडिटर में खोलें और उस मीडिया को देखें जो यह एम्बेड करता है।

## पुष्टि करना कि यह ठीक है

1. एक निजी विंडो में साइट लोड करें।
2. पैडलॉक ठोस होना चाहिए, कोई चेतावनी त्रिकोण न हो और कोई काटा-निकाला गया संकेत न हो।
3. पैडलॉक पर क्लिक करें। ब्राउजर कनेक्शन को सुरक्षित रिपोर्ट करता है, मिश्रित कंटेंट नोटिस के साथ कोई समस्या नहीं।
4. कंसोल खोलें और एक बार फिर पुनः लोड करें। शून्य मिश्रित कंटेंट चेतावनियाँ।
5. केवल होम पेज नहीं, एक गहरे पेज की जाँच करें: एक आंतरिक पेज, चित्रों वाली ब्लॉग पोस्ट, और किसी स्टोर पर चेकआउट।

## इसे वापस आने से रोकना

- **Force HTTPS को चालू रखें।** यह एक सेटिंग है जो समस्याओं की एक पूरी श्रेणी को हटा देती है।
- **कभी भी किसी पूर्ण `http://` URL को कंटेंट में टाइप न करें।** मीडिया लाइब्रेरी का उपयोग करें, जो अब HTTPS पते संग्रहीत करता है।
- **कोई भी प्लगइन इंस्टॉल करने के बाद प्लगइन सेटिंग्स की जाँच करें** जो किसी URL के लिए पूछता है।
- **प्लगइन अपडेट के बाद लौटने वाली चेतावनी के लिए देखें।** कुछ प्लगइन अपनी स्वयं की संग्रहीत URL को रीसेट करते हैं।
- **किसी भी माइग्रेशन के बाद खोजें और बदलें को फिर से चलाएँ**, क्योंकि आयातित डेटाबेस पुराने होस्ट के URL के साथ आता है: [Migrating a Website From cPanel](https://support.kapsulehost.com/hi-in/sites-migrate-cpanel)।

## समस्या निवारण

**पैडलॉक मेरे लिए ठीक है, किसी सहकर्मी के लिए टूटा है।** कैश किया गया पेज। उन्हें एक निजी विंडो में पुनः लोड करने दें।

**प्रतिस्थापन के बाद साइट पूरी तरह टूट गई।** स्वचालित पूर्व-रन बैकअप को पुनः स्थापित करें: [Restoring From a Backup](https://support.kapsulehost.com/hi-in/restoring-from-backup)।

**कंसोल एक ऐसे डोमेन पर मिश्रित कंटेंट चेतावनी दिखाता है जो मेरा नहीं है।** एक थर्ड पार्टी संसाधन। आप उनके सर्वर को ठीक नहीं कर सकते: या तो वे HTTPS का समर्थन करते हैं और आप URL को स्विच करते हैं, या आप संसाधन को छोड़ते हैं।

**सब कुछ HTTPS है लेकिन साइट बिल्कुल भी लोड नहीं होगी।** वह मिश्रित कंटेंट नहीं है। [Website Not Loading](https://support.kapsulehost.com/hi-in/website-not-loading) से शुरुआत करें और [SSL Certificates](https://support.kapsulehost.com/hi-in/ssl-certificates) पर प्रमाणपत्र की जाँच करें।

यदि आप इस सबके माध्यम से काम कर चुके हैं और चेतावनी बनी रहती है, तो प्रभावित URL और ब्राउजर कंसोल चेतावनी के सटीक पाठ के साथ [support@kapsulehost.com](mailto:support@kapsulehost.com) को ईमेल करें।
