सामग्री पर जाएं

JSON में बैकलिंक डेटा: $100 फ्री क्रेडिट, कोई कार्ड नहीं, Google साइन-इन।

SEOMasters.dev
SEOMasters.devसाइन अप करें

मेरे बैकलिंक ने कुछ नहीं लौटाया: एक त्रुटि तालिका

आपका टूल उतना ही स्थिर होता है जितनी उसकी त्रुटि हैंडलिंग। नीचे, वे विफलताएँ जो वास्तव में होती हैं, उनका सटीक कारण, और क्या पुनः प्रयास करना उचित है।

विभिन्न त्रुटि अवस्थाओं का प्रतिनिधित्व करने वाले एक रैक पर टंगे चार अलग-अलग प्रकार के औद्योगिक ताले

वह नियम जो अधिकांश मामलों को कवर करता है

नेटवर्क दोषों को पुनः प्रयास करें। 401 या 402 को कभी पुनः प्रयास न करें। पहला प्रकार सेकंडों में स्वयं ठीक हो जाता है; दूसरे के लिए एक मानव की आवश्यकता होती है, और उसे बार-बार धकेलने से केवल आपके लॉग भरे जाते हैं।

हर JSON प्रतिक्रिया में एक ok फ़ील्ड होती है, और प्रमाणीकृत प्रतिक्रियाओं में कॉल की लागत और शेष संतुलन के साथ _credits जोड़ा जाता है। HTTP स्थिति ठीक दिखने पर भी बॉडी में ok की जाँच करें।

नीचे दिए गए पुनः प्रयास के समय हमारी इंजीनियरिंग सलाह हैं, दस्तावेज़ीकृत सीमाएँ नहीं। हमारे पास मौजूद API दस्तावेज़ों में कोई दर सीमा (rate limit) प्रकाशित नहीं की गई है, इसलिए अपनी एक छत बनाएं और उसे संयमित रखें।

401 और 402 को पुनः प्रयास क्यों नहीं किया जाता

401 एक कुंजी की समस्या है, और 402 एक शेष राशि की समस्या है। न तो एक दूसरे प्रयास के बीच सेकंड के अंतर पर स्वयं ठीक होते हैं, इसलिए पुनः प्रयास केवल आपके लॉग में शोर मिलाता है और कुछ नहीं।

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

401 हेडर या कुंजी पैरामीटर की जाँच का हकदार है, और यह जाँच कि कुंजी बदली तो नहीं गई है। उसी गलत कुंजी को कई बार पुनः प्रयास करने से कुछ साबित नहीं होता।

एक खराब कुंजी और एक खाली संतुलन आपके डैशबोर्ड में अलग दिखते हैं। उन्हें अलग-अलग अलर्ट पर रखें, ताकि अपडेट करने वाले व्यक्ति को कुंजी टाइपो के कारण नींद न टूटे, और कुंजी बदलने वाले व्यक्ति को संतुलन के लिए पेज न किया जाए।

नेटवर्क दोष और बैकऑफ

टाइमआउट या कनेक्शन रीसेट स्वयं ठीक हो सकते हैं, इसलिए वे ही मामले हैं जिनके लिए दूसरा प्रयास करना मूल्यवान है। 1, 2, 4 और फिर 8 सेकंड प्रतीक्षा करें, थोड़ा ज़िटर जोड़ें, और चौथे प्रयास के बाद रुक जाएं।

वे समय हमारी सलाह हैं, दस्तावेज़ीकृत सीमा नहीं। अपनी छत बनाए रखें, हर पुनः प्रयास को लॉग करें, और जब पुनः प्रयास बढ़ें तो अलर्ट करें, क्योंकि बढ़ता हुआ पुनः प्रयास दर आमतौर पर अपस्ट्रीम समस्या का पहला संकेत होता है।

अपनी ओर से टाइमआउट को स्पष्ट रखें, एक नामांकित स्थिरांक में। एक अंतर्निहित डिफ़ॉल्ट जो लाइब्रेरी अपग्रेड के साथ बदल जाता है, एक आम कारण है कि एक नाइटली जॉब केवल एक मशीन पर फेल होने लगती है।

अपस्ट्रीम प्रतिक्रिया समय को विफलता दर के साथ देखें। एक धीमी प्रतिक्रिया जो कभी फेल नहीं होती, फिर भी आपके वर्करों को बांधे रख सकती है, और एक पुनः प्रयास लूप उस धीमेपन को और खराब कर देता है।

लक्षण, कारण, प्रतिक्रिया

लक्षणकारणपुनः प्रयास?क्या करें
HTTP 401कुंजी गायब, टाइप की गई या रद्द की गईनहींहेडर या key= मान की जाँच करें, फिर खाता पृष्ठ
HTTP 402क्रेडिट खत्म हो गयानहींखाता पृष्ठ से USDT (TRC-20) में अपडेट करें; वही कुंजी फिर से काम करती है
HTTP 200 पर ok सत्य नहीं हैखराब पैरामीटर, जैसे कि एक URL जहाँ डोमेन होना चाहिएनहींइनपुट मान्य करें; example.com भेजें, https://example.com/page नहीं
टाइमआउट या कनेक्शन रीसेटनेटवर्क या अपस्ट्रीम खराबीहाँ, 3 से 4 बारज़िटर के साथ 1, 2, 4, 8 सेकंड बैकऑफ
एक नई साइट के लिए खाली परिणामअभी इंडेक्स में नहीं; रिफ्रेश मासिक होता हैनहीं"अभी इंडेक्स नहीं हुआ" दिखाएं, इंडेक्स तारीख के साथ
संख्या किसी अन्य टूल से भिन्न हैअलग इंडेक्स और एक अलग DR फॉर्मूलानहींएक ही टूल के भीतर रुझानों की तुलना करें, DR संदर्भ देखें
पंक्तियाँ 50,000 पर रुक जाती हैंपेजिंछिंग छतनहींपेजिंग नोट्स देखें
संतुलन योजना से तेज़ी से कम हो रहा हैलूप में भुगतान किया गया एक्शन, या एक हॉथ पाथ पर 3-क्रेडिट कॉलn/a_credits लॉग करें, एक्शन को अनुमत सूची में डालें
टिप: पहले cURL से परीक्षण करें

अपने कोड को दोष देने से पहले, विफल URL को cURL में उसी कुंजी के साथ पेस्ट करें। यदि वहां यह काम करता है, तो बग आपके क्लाइंट में है। यदि वहां भी यह फेल होता है, तो उत्तर तालिका में है। इस जाँच ने किसी लॉग खोज से अधिक टिकट सुलझाए हैं।

एक डिबगिंग रन, क्रम में

  1. 1

    curl से पुन: उत्पादन करें

    विफल URL को अपने ऐप से निकालें और उसी कुंजी के साथ इसे मैन्युअल रूप से चलाएं। यदि curl काम करता है, तो आपका कोड समस्या है।

  2. 2

    एक मुफ्त एक्शन आज़माएं

    उसी डोमेन पर overview कुंजी की आवश्यकता नहीं है। यदि यह उत्तर देता है, तो इंडेक्स ठीक है और समस्या प्रमाणीकरण या क्रेडिट में है।

  3. 3

    संतुलन पढ़ें

    402 अस्पष्ट नहीं है, लेकिन एक मुफ्त सफलता के बाद एक विफल भुगतान वाली कॉल आमतौर पर क्रेडिट या कुंजी में टाइपो की ओर इशारा करती है।

  4. 4

    इनपुट की जाँच करें

    छोटे अक्षर, कोई स्कीम नहीं, कोई पथ नहीं, कोई ट्रेलिंग डॉट नहीं। अधिकांश ok विफलताएँ यहीं समाप्त होती हैं।

एक लकड़ी के वर्कबेंच पर एक खुरदरी शाखा को एक चिकनी आकृति में रेतते हुए हाथ

कॉल से पहले डोमेन को सामान्य करें

अधिकांश विफल कॉल्स नेटवर्क में नहीं, बल्कि इनपुट बॉक्स में शुरू होती हैं। उपयोगकर्ता जो भी कॉपी किया है वह पेस्ट करते हैं, और आपके कोड को उस API तक पहुँचने से पहले उसे एक नंगे डोमेन में बदलना होगा।

स्कीम और पथ हटाएं

स्कीम, किसी भी पथ और क्वेरी स्ट्रिंग हटा दें। एक पेस्ट किए गए आर्टिकल पता उसके होस्ट बन जाता है, और केवल होस्ट अपस्ट्रीम जाता है।

होस्ट को भी छोटे अक्षरों में करें। सफाई को एक फ़ंक्शन में रखें, ताकि एक ही नियम फॉर्म, बैच जॉब और परीक्षणों में चले।

पाँच या छह वास्तविक पेस्ट किए गए इनपुट के साथ सफाई का परीक्षण करें, जिसमें एक ट्रेलिंग स्लैश वाला और एक क्वेरी स्ट्रिंग वाला शामिल हो। वे मामले बग को सामने लाते हैं जिन्हें एक साफ उदाहरण कभी नहीं दिखाता।

www. के साथ क्या करना है, यह एक बार तय करें

www. के लिए एक नियम चुनें और एक एकल फ़ंक्शन में इसे लागू करें, ताकि एक ही साइट कभी दो वर्तनी के तहत खोजी न जाए।

नियम को फ़ंक्शन के बगल में लिखें। अगला डेवलपर जो एक अकेले www से मिलता है, तो उसे निर्णय मिलेगा, न कि एक दूसरी राय।

आप जो भी नियम चुनते हैं, उसे एक फ़ाइल में रखें और उसके लिए एक परीक्षण लिखें। परीक्षण निर्णय का रिकॉर्ड है, और यह छोटा है।

जो डोमेन नहीं हो सकता, उसे अस्वीकार करें

स्पेस या खाली लेबल वाले इनपुट को अस्वीकार करें, और फॉर्म में एक छोटा संदेश दिखाएं। एक अस्वीकृत स्ट्रिंग का कोई खर्च नहीं है, जबकि एक खराब कॉल की विफलता और एक भ्रमित उपयोगकर्ता का खर्च है।

ट्रेलिंग डॉट एक अजीब मामला है। होस्ट के अंत में एक को हटा दें और कुछ भी अन्य को अमान्य मानें।

अस्वीकृति को फ़ील्ड के बगल में दिखाएं, एक टोस्ट के रूप में नहीं जो गायब हो जाता है। एक उपयोगकर्ता जो देख सकता है कि गलत क्या था, उसे एक ही प्रयास में ठीक कर देता है।

उपयोगकर्ता को क्या दिखाएं

इंटरफ़ेस में कच्चा अपस्ट्रीम त्रुटि कभी न प्रिंट करें। 401 और 402 को एक सामान्य "सेवा अनुपलब्ध" में मैप करें और विवरण को अपने लॉग और एक अलर्ट में भेजें। आगंतुक आपके संतुलन को ठीक नहीं कर सकते, और संदेश आपके टूल को टूटा हुआ दिखाता है।

एक छोटा पौधा अंकुर सूखी मिट्टी से निकल रहा है जिसके पास एक बगीचेkeeper का हाथ है

खाली परिणाम और इंडेक्स की आयु

जब कोई अपने फॉर्म में 'check my backlink' टाइप करता है और कुछ नहीं मिलता, तो एक खाली उत्तर हमेशा त्रुटि नहीं होता। इसका अक्सर मतलब है कि डोमेन नया है, बहुत छोटा है, या बस इंडेक्स में अभी नहीं है, और स्क्रीन को यह बताना चाहिए।

एक बिल्कुल नई साइट

पिछले सप्ताह लॉन्च की गई साइट के इंडेक्स में कोई रेफरिंग डोमेन नहीं हो सकता है। 'अभी इंडेक्स नहीं हुआ' दिखाएं, इंडेक्स तारीख के साथ, और एक क्रॉस-चेक के रूप में मुफ्त overview कॉल की पेशकश करें।

उस खाली उत्तर को लंबे समय तक कैश न करें। कुछ घंटे काफी हैं, और अगली रीबिल्ड साइट को ला सकती है।

आगंतुक को बताएं कि इंडेक्स को आखिरी बार कब रीबिल्ड किया गया था, सादे शब्दों में। एक खाली उत्तर के बगल में एक तारीख लंबे संदेश से बेहतर खालीपन को समझाती है।

अपने UI में एक लाइन नोट यहाँ काफी है। कोई लाइव इंडेक्स की उम्मीद नहीं करता है, और इंडेक्स तारीख के बगल में एक सादे वाक्य को ईमानदार पढ़ा जाता है।

एक संख्या जो किसी अन्य टूल से असहमत है

अलग-अलग क्रॉलर वेब के अलग-अलग हिस्से देखते हैं। DR फ़ील्ड को एक टूल के भीतर एक स्थिति के रूप में पढ़ें, और फॉर्मूला के लिए पाठकों को DR संदर्भ की ओर इशारा करें।

संख्या के नीचे एक छोटा नोट किसी भी माप के माफी से अधिक सपोर्ट समय बचाता है।

यदि दो रीडिंग अलग हैं, तो पहले रेफरिंग-डोमेन गिनती की तुलना करें। DR फॉर्मूला सरल है, इसलिए अधिकांश असहमतियाँ गिनती तक ही सीमित होती हैं।

50,000 पर रुकने वाली पंक्तियाँ

जब एक सूची छत पर रुक जाती है, तो उत्तर API की अनुमति के लिए सही है। कट-ऑफ को लेबल करें और पेजिंग नोट्स लिंक करें, एक गहरे पेज की कोशिश करने के बजाय।

उस बिंदु के बाद गहरे पेज पुनः प्रयास नहीं हैं। वे एक अलग क्वेरी हैं, और उन्हें एक मानना ​​कैसे है कि एक लूप घंटों तक चलता है।

कट-ऑफ को एक्सपोर्ट में भी दिखाए रखें, ताकि एक महीने बाद खोली गई स्प्रेडशीट अभी भी दिखाए कि सूची को कैप किया गया था।

टेबल के बगल में पंक्ति गिनती दिखाना एक कट-ऑफ को एक दृश्यमान तथ्य बना देता है। एक पाठक जो 50,000 पंक्तियाँ देखता है, यह जानता है कि एक संकीर्ण प्रश्न मांगना है।

पुनः प्रयास कोड शिप करने से पहले

  • 401 और 402 कभी पुनः प्रयास नहीं किए जाते
  • टाइमआउट बैकऑफ और एक निश्चित संख्या में प्रयासों के साथ पुनः प्रयास करते हैं
  • हर प्रतिक्रिया की ok जाँच की जाती है, चाहे HTTP स्थिति कुछ भी हो
  • इनपुट को कॉल से पहले सामान्य किया जाता है, जबकि यह फेल होने के बाद नहीं
  • अपस्ट्रीम त्रुटियाँ आपके अपने लॉग में जाती हैं, और आगंतुक एक सामान्य संदेश देखते हैं
  • एक खाली परिणाम एक खाली स्क्रीन के बजाय इंडेक्स तारीख दिखाता है

संबंधित प्रश्न

क्या मेरे उपयोगकर्ता बॉक्स में कोई भी URL टाइप कर सकते हैं?
उनकी अनुमति दें, फिर इसे स्वयं सामान्य करें। स्कीम, पथ, क्वेरी स्ट्रिंग और www. (यदि आप चुनते हैं) हटा दें, होस्ट को छोटे अक्षरों में करें, और तभी API कॉल करें। अपस्ट्रीम एक नंगे डोमेन की उम्मीद करता है, इसलिए अशुद्ध इनपुट विफल कॉल का सबसे आम कारण है।
क्या मुझे विफलताओं को कैश करना चाहिए?
एक खाली "इंडेक्स नहीं" परिणाम को कुछ घंटों के लिए कैश करें, क्योंकि इंडेक्स केवल मासिक बदलता है। 401 या 402 को लंबे समय तक कभी कैश न करें। वे तुरंत साफ हो जाते हैं जब कुंजी या संतुलन ठीक हो जाता है, और एक कैश की गई त्रुटि ठीक को छिपा सकती है।
क्या मुफ्त एक्शन किसी चीज़ के खिलाफ गिनते हैं?
वे क्रेडिट का खर्च नहीं करते। चार मुफ्त domain, overview, stats और suggest हैं। फिर भी उन्हें कैश करें, क्योंकि विनम्रता का कोई खर्च नहीं है और यह आपकी अपनी लेटेंसी को कम रखती है।