business-directory-website-development.html
< BACK डिजाइनर की डेस्क जिसमें कई स्क्रीन पर डायरेक्टरी listings दिख रही हैं

होस्टलिस्ट बनाते हुए मैंने क्या सीखा: 25,000 वेब होस्ट्स

कहीं 11,000वें होस्ट के आसपास, मैंने सच में हर फैसले पर शक करना शुरू कर दिया जो मैंने कभी लिया था। नाटकीय तरीके से नहीं -- बस वह शांत, खास दहशत जो तब आती है जब तुम्हें एहसास हो कि तुमने खुद को एक कोने में पेंट कर दिया है, डेटासेट बढ़ता ही जा रहा है, और स्कीमा ऐसे बनी थी जैसे शायद 500 entries के लिए ही। वह था HostList। वेब होस्ट की एक डायरेक्टरी। सभी, या जितने सभी मैं पा सकता था।

मैं तुम्हें बताने वाला हूँ कि असल में क्या हुआ -- आर्किटेक्चर के फैसले, डेटा की परेशानियाँ, वह लम्हे जहाँ चीजें क्लिक करीं, और वह हिस्से जो मैं आज शुरु करूँ तो बिल्कुल अलग तरीके से करूँ।

वेब होस्टिंग डायरेक्टरी क्यों

सच कहूँ तो? मुझे गुस्सा आ गया। मैं एक Seahawk क्लाइंट के लिए रिसर्च कर रहा था -- एक mid-market SaaS जिसे होस्ट migrate करने थे -- और मुझे एक भी डायरेक्टरी नहीं मिली जो व्यापक और current दोनों हो। ज़्यादातर या तो affiliate pages थीं जो neutral होने का नाटक कर रही थीं, या outdated lists जिनमें अभी भी ऐसे होस्ट थे जो 2017 में बंद हो गए थे।and current. Most were either thin affiliate pages pretending to be neutral, or outdated lists that still featured hosts that had gone under in 2017.

वेब होस्टिंग industry में हजारों active providers हैं। दर्जनों नहीं। हजारों। Shared hosts, managed WordPress hosts, VPS providers, bare-metal specialists, regional players जिन्हें आपने कभी नहीं सुना। किसी ने इसे properly map नहीं किया था। तो मैंने सोचा: मैं करूँगा। छः हफ्ते, मैंने अपने आप से कहा।WordPress hosts, VPS providers, bare-metal specialists, regional players you've never heard of. Nobody had mapped it properly. So I thought: I'll do it. Six weeks, I told myself.

इसमें छह हफ्तों से काफी ज्यादा समय लगा।

मार्केट ने इस instinct को validate किया, हालांकि। देखो कि niche directories छोटे स्केल पर भी क्या कर सकते हैं -- Soak Oregon, एक simple hot springs directory, सिर्फ 25,000 monthly visitors पर तकरीबन $1,000 महीने का ad revenue खींचता है। यह typo नहीं है। 25,000 visitors। एक well-targeted directory की economics एक general content site से बिल्कुल अलग हैं।Soak Oregon, a simple hot springs directory, pulls roughly $1,000 a month in ad revenue on just 25,000 monthly visitors. That's not a typo. 25,000 visitors. The economics of a well-targeted directory are genuinely different from a general content site.

डेटा समस्या जिसके बारे में कोई बात नहीं करता

यहीं पर अधिकांश डायरेक्टरी-बिल्डिंग गाइड आपको पूरी तरह निराश करती हैं। वे आपको कैटेगरीज और लिस्टिंग फील्ड्स सेट अप करने के लिए कहेंगे। ठीक है। वे आपको यह नहीं बताएंगे कि 25,000 सटीक, संरचित रिकॉर्ड एकत्र करना एक पूरी तरह से अलग समस्या है।

मेरा पहला तरीका था manual research plus एक scraping layer जो मैंने एक weekend में जोड़ दिया। scraper ठीक था। डेटा अराजकता था। Hosting providers अपनी pricing लगातार बदलते हैं। कुछ के पास तीन अलग-अलग brand names थे। कुछ resellers के resellers थे -- वही underlying infrastructure पंद्रह अलग-अलग logos पहने हुए। सिर्फ deduplication मुझे तीन हफ्ते लगे।data was chaos. Hosting providers change their pricing constantly. Some had three different brand names. Some were resellers of resellers -- the same underlying infrastructure wearing fifteen different logos. Deduplication alone cost me three weeks.

कुछ चीजें जिनके बारे में मैं चाहता था कि मैंने पहले ही फैसला कर लिया होता:

  • प्रति कानूनी इकाई एक canonical रिकॉर्ड, प्रति ब्रांड नहीं। कुछ होस्ट्स के पास चार ब्रांड हैं। वे अभी भी एक ही होस्ट हैं।, not per brand. Some hosts have four brands. They're still one host.
  • हर फील्ड पर freshness dating। सिर्फ row पर "last updated" नहीं -- हर फील्ड पर। Pricing features से ज्यादा तेजी से stale हो जाती है।Not just "last updated" on the row -- per field. Pricing goes stale faster than feature sets.
  • दिन एक से ही एक human review queue। Automated ingestion पहले pass के लिए ठीक है। लेकिन आपको ऐसे records को flag करने का एक process चाहिए जो गलत दिख रहे हों उससे पहले कि वो live हों।Automated ingestion is fine for first-pass. But you need a process for flagging records that look wrong before they go live.

विशेष रूप से तीसरा बिंदु। मैंने शुरुआत में इसे छोड़ दिया और एक chunk listing के साथ समाप्त हुआ जिसमें पूरी तरह से गलत कीमत tiers थे क्योंकि एक होस्ट ने अपनी योजनाओं को rebrand किया था और स्क्रेपर ने पुरानी पेज संरचना पर match किया था। इसे खोजने में मुझे बहुत समय लगा।

सही टेक स्टैक का चयन

मैं WordPress के साथ गया। मुझे पता है। लेकिन मेरी बात सुनो।

इस स्केल की एक डायरेक्टरी के लिए, तुम्हें कुछ चाहिए जिसके पास एक mature plugin ecosystem हो और एक query layer जिसे तुम गहराई से समझो। मैंने छोटे projects पर Directorist use किया था और यह अच्छे से काम करता था -- flexible schema, Gutenberg के साथ काम करता है, sensible defaults। HostList के लिए खास तौर पर मैंने इसे एक custom post type layer के साथ pair किया, क्योंकि मुझे ऐसे fields की जरूरत थी जो कोई भी off-the-shelf plugin को anticipate नहीं हुए (जैसे data-centre locations, peering arrangements, control panel versions)।Directorist on smaller projects and it held up well -- flexible schema, works with Gutenberg, sensible defaults. For Hostlist specifically I paired it with a custom post type layer on top, because I needed fields that no off-the-shelf plugin anticipated (things like data-centre locations, peering arrangements, control panel versions).

चार pages जो असल में matter करते हैं -- और मैं यह कहूँगा कि यह किसी भी niche की किसी भी डायरेक्टरी के लिए सच है --

  1. होमपेज स्पष्ट उद्देश्य के साथ, फीचर्ड लिस्टिंग्स, और एक बेहद सरल सर्च के साथ
  2. आर्काइव/ब्राउज़ पेज तेज़ फिल्टरिंग के साथ (यह वह जगह है जहां आपके 80% यूजर्स रहते हैं)
  3. सिंगल लिस्टिंग पूर्ण रिकॉर्ड के साथ, स्ट्रक्चर्ड डेटा मार्कअप, और क्लेम/रिपोर्ट करने का एक तरीका
  4. सबमिशन पेज (भले ही आप शुरुआत में यूजर सबमिशन नहीं कर रहे हों, इसे तैयार करके बनाएं)

मैं archive page को लेकर काफी जोर दे सकता हूँ। यूजर्स आपके homepage पर नहीं आते और फिर navigate नहीं करते। वे Google से एक archive page पर लैंड करते हैं और चार सेकंड में decide कर लेते हैं कि डेटा credible दिख रहा है या नहीं। उस page को पहले ही सही बनाएँ।then navigate. They land on an archive page from Google and decide within four seconds whether the data looks credible. Get that page right first.

स्टैक के बारे में मैं क्या बदलूंगा

Custom tables। मुझे core listing data को post meta से निकाल कर proper relational tables में बहुत पहले move कर देना चाहिए था। WordPress post meta तकरीबन 5,000 records तक ठीक है। उससे आगे, queries painful हो जाती हैं। large-scale web applications के लिए performance considerations real हैं -- RAM, query optimisation, caching strategy -- कोई भी चीज जो तुम plan नहीं करते जब तुम सिर्फ चीज को launch करने की कोशिश कर रहे हो।performance considerations for large-scale web applications are real -- RAM, query optimisation, caching strategy -- none of which you plan for when you're just trying to get the thing launched.

डायरेक्टरी को होस्ट करना (वास्तव में अजीब)

एक वेब होस्टिंग डायरेक्टरी बनाने और फिर इसके लिए एक होस्ट चुनने में एक विशेष विडंबना है। मैंने पहले साल में तीन होस्ट्स का उपयोग किया।

पहला एक managed WordPress host था जिसका नाम मैं नहीं लूंगा। वह import process में विफल हो गया -- 25,000 posts WP-CLI के जरिए जाना उनके infrastructure के लिए डिज़ाइन किया गया कुछ नहीं था। दूसरा एक VPS था जहाँ मैंने सब कुछ खुद संभाला: Nginx एक reverse proxy के रूप में, Redis object caching के लिए, ufw firewall के लिए। यह self-hosted architecture approach तब शानदार तरीके से काम करता है जब आप जानते हैं कि क्या कर रहे हैं -- पूरी visibility, कोई mystery throttling नहीं, आप cache headers को control करते हैं। लेकिन यह भी है कि गुरुवार की रात 11 बजे कुछ टूट जाता है और यह पूरी तरह आपकी समस्या होती है।That self-hosted architecture approach works brilliantly when you know what you're doing -- total visibility, no mystery throttling, you control the cache headers. But it's also 11pm on a Thursday when something breaks and it's entirely your problem.

मैं root एक्सेस के साथ एक managed VPS पर पहुंचा। दोनों का सर्वश्रेष्ठ। मैंने Nginx को सामने रखा, स्टेटिक एसेट्स के लिए एक CDN लेयर जोड़ा, और यह तब से चल रहा है।

सबक: चाहे आप जो भी host चुनो, अपने actual डेटा volume के साथ commit करने से पहले इसे test करो। Sample नहीं। आपका real import। एक host जो 500-post blog को flying colours के साथ handle करता है, कभी-कभी पूरी तरह से collapse हो जाता है जब आप 25,000 records को database rebuild के दौरान फेंकते हो।test it with your actual data volume before you commit. Not a sample. Your real import. A host that handles a 500-post blog with flying colours will sometimes completely fall over when you throw 25,000 records at it during a database rebuild.

मुद्रीकरण: मैंने क्या कोशिश की, क्या काम किया

2019 में एक ग्राहक ने मुझसे कहा था, "पैसा लिस्टिंग में है, ट्रैफिक में नहीं।" मैंने तब इसे पूरी तरह समझा नहीं। अब समझता हूं।

Hostlist की राजस्व कुछ जगहों से आई है, जो वास्तव में सुई हिलाई, उसके मोटे क्रम में:

  • Featured/premium listings -- hosts शीर्ष पर दिखाई देने के लिए प्रासंगिक category pages पर भुगतान करते हैं। यह काम करता है। CPMs अच्छे हैं क्योंकि intent अधिक है। -- hosts pay to appear at the top of relevant category pages. This works. The CPMs are good because the intent is high.
  • Verified badges annual renewal के साथ -- एक पूरी premium listing की तुलना में हल्का-फुल्का, लेकिन यह जमा हो जाता है। -- lighter-touch than a full premium listing, but it adds up.
  • Display advertising -- मैंने यह बाद में जोड़ा और यह काफी हद तक सबसे कमजोर प्रदर्शनकारी है। audience बहुत छोटी है और broad ad networks के लिए इसमें specific है। -- I added this late and it's the weakest performer by quite a lot. The audience is too small and too specific for broad ad networks to value properly.
  • Lead gen / affiliate -- मैं यहाँ सावधान था क्योंकि मैं नहीं चाहता था कि HostList हर दूसरे biased comparison site जैसा दिखे। मेरे पास referral arrangements की एक छोटी संख्या है लेकिन वे disclosed और limited हैं। -- I was cautious here because I didn't want Hostlist to look like every other biased comparison site. I have a small number of referral arrangements but they're disclosed and limited.

जो मैंने नहीं किया वह एक freemium model है जहाँ basic listings free हों और upgrades paid हों। मैंने इस बारे में सोचा। Web hosting के साथ खास बात यह है कि जिन providers के लिए वाकई आपके platform पर होना काबिले-गौर है, वे भी exposure के लिए आपकी डायरेक्टरी की जरूरत महसूस करने से सबसे कम संभव हैं। छोटे hosts को listed होने से ज्यादा फायदा होता है, लेकिन वे ही सबसे छोटे budgets वाले होते हैं। Economics awkward हैं।not done is a freemium model where basic listings are free and upgrades are paid. I thought about it. The problem with web hosting specifically is that the providers worth having on your platform are also the ones least likely to need your directory for exposure. The smaller hosts benefit more from being listed, but they're also the ones with the smallest budgets. The economics are awkward.

Brilliant Directories और समान platforms के पास यह community-oriented directories के लिए समझ गया है -- wedding vendors, parenting resources -- जहाँ members genuinely को locals द्वारा खोजा जाना चाहते हैं। Web hosting अलग है। यह एक global, hyper-competitive market है। have this figured out for more community-oriented directories -- wedding vendors, parenting resources -- where the members genuinely want to be found by locals. Web hosting is different. It's a global, hyper-competitive market.

एक बड़ी डायरेक्टरी के लिए SEO: जो बिट्स वास्तव में मदद करते हैं

25,000 प्रविष्टियों वाली एक डायरेक्टरी एक SEO संपत्ति है यदि आप इसे सही तरीके से संभालते हैं। यह एक SEO दायित्व है यदि आप नहीं करते।

विशिष्ट चीजें जो मदद करती हैं:

  1. Unique, templated लेकिन variable meta descriptions प्रत्येक listing के लिए -- सिर्फ host name + "web hosting review" नहीं। मैंने actual data points (price tier, primary use case, founding year) को descriptions generate करने के लिए pull किया जो genuinely different थे। -- not just the host name + "web hosting review". I pulled in actual data points (price tier, primary use case, founding year) to generate descriptions that were genuinely different.
  2. Category और tag pages with real editorial content -- सिर्फ एक grid of cards नहीं। एक 200-word intro जो समझाता है कि "managed WordPress hosting" actually क्या है, एक बार लिखा, category पर लागू किया। Google देखना चाहता है कि किसी ने page के बारे में सोचा है। -- not just a grid of cards. A 200-word intro explaining what "managed WordPress hosting" actually means, written once, applied to the category. Google wants to see that someone thought about the page.
  3. Structured data (Schema.org) -- हर listing के पास LocalBusiness या Organization markup है। Click-through rates में मैंने इसे properly add करने के बाद खासतौर पर सुधार देखा। -- every listing has LocalBusiness or Organization markup. Click-through rates improved noticeably after I added this properly.
  4. Canonicals filter combinations पर -- यह लगभग मुझे मार डाला। Faceted search हजारों URL combinations generate करता है। अगर आप उन्हें canonical नहीं करते clean archive URL पर वापस, आप crawl-budget bankrupt हो जाएंगे एक महीने में। -- this nearly killed me. Faceted search generates thousands of URL combinations. If you don't canonical them back to the clean archive URL, you'll be crawl-budget bankrupt within a month.
  5. केवल सक्रिय होस्ट के लिए इंडेक्स की गई लिस्टिंग -- जो कुछ भी मैं पुष्टि नहीं कर सकता कि अभी भी चल रहा है, मैं उसे noindex करता हूँ। मृत लिस्टिंग कोई लिस्टिंग न होने से भी बदतर है। -- I noindex anything I can't confirm is still operating. Dead listings are worse than no listing.

जो चीज़ मुझसे शुरुआत में गलत हुई: मैंने सब कुछ तुरंत इंडेक्स कर दिया। स्टब्स के साथ जिनके पास लगभग कोई डेटा नहीं था। गूगल ने उन्हें क्रॉल किया, पतले पेज पाए, और कुछ समय के लिए पूरे डोमेन को आंशिक रूप से डिसकाउंट कर दिया। सीख: इसे तब तक इंडेक्स न करें जब तक यह इंडेक्स करने लायक न हो।don't index it until it's worth indexing.

मैं क्या अलग तरीके से करूंगा

कुछ चीजें, जल्दी से:

  • पहले एक छोटे, अधिक सटीक niche से शुरुआत करें। "Web hosting directory" तो विशाल है। मुझे "managed WordPress hosts" के साथ लॉन्च करना चाहिए था -- शायद 300-400 रिकॉर्ड -- कॉन्सेप्ट साबित करो, फिर विस्तार करो।
  • Data pipeline को front end से पहले build करो। मैंने यह उल्टा किया। Front end live था import process के solid होने से पहले, जिसका मतलब था कि मैं हमेशा live data को patch कर रहा था।before the front end. I did it backwards. The front end was live before the import process was solid, which meant I was constantly patching live data.
  • पहले दिन से लिस्टिंग के लिए शुल्क लें। यहां तक कि £1/month भी। निःशुल्क लिस्टिंग उन होस्ट को आकर्षित करती है जो फॉर्म को गलत तरीके से भरते हैं और update requests का कभी जवाब नहीं देते। एक छोटा सा भुगतान quality के लिए filter करता है।
  • एक उचित contributor system में पहले निवेश करें। मेरे द्वारा प्राप्त सबसे अच्छे डेटा सुधार उन users से आए जिन्होंने errors देखे। मेरे पास पहले आठ महीनों के लिए उन्हें स्वीकार करने का कोई structured तरीका नहीं था।

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

---

FAQ

Hostlist बनाने में कितना समय लगा?

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

आपने डायरेक्टरी कार्यक्षमता के लिए कौन सा WordPress प्लगइन उपयोग किया?

Directorist को आधार के रूप में, फिर इस पर काफी हद तक कस्टम डेवलपमेंट। एक छोटी डायरेक्टरी के लिए मैं इसे कमोबेश बॉक्स से सीधे इस्तेमाल करता। 25,000 entries पर, आप अंततः कस्टम queries लिखेंगे ही -- प्लगइन बस आपको शुरुआत का बिंदु देता है।

क्या एक वेब होस्टिंग डायरेक्टरी वास्तव में लाभदायक है?

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

आप 25,000 सूचियों को अपडेट कैसे रखते हैं?

अपूर्ण रूप से। मेरे पास scheduled scrapers का एक संयोजन है जो pricing page में बदलाव की जांच करते हैं, एक community-reported corrections queue है, और traffic के अनुसार top 500 hosts के लिए एक manual review cycle है। long tail समय के साथ degrade हो जाता है। मैंने इसे स्वीकार कर लिया है।

क्या आप पहली project के रूप में एक बड़ी directory बनाने की सिफारिश करेंगे?

नहीं। कुछ ऐसा शुरू करो जो तुम 500 records के साथ कर सको। साबित करो कि लोग इसे use करते हैं और कि monetisation का कोई path है। फिर scale करो। एक बड़ी डायरेक्टरी की technical और data-management complexity genuinely non-trivial है, और तुम इन problems का सामना उसके बाद करना चाहते हो जब तुमने idea को validate कर दिया हो, पहले नहीं।Then scale. The technical and data-management complexity of a large directory is genuinely non-trivial, and you want to encounter those problems after you've validated the idea, not before.

---

Directories के बारे में बात यह है कि ये एक long game हैं। आप एक content site नहीं, एक data asset बना रहे हैं। Traffic धीरे-धीरे बढ़ता है, काम unglamorous है, और पहले छह महीने के लिए आप सोचेंगे कि किसी को परवाह है या नहीं। लेकिन जब data अच्छा हो और niche सही हो, तो directories एक तरह की gravitational pull develop करते हैं जो किसी अन्य format के साथ replicate करना कठिन है। इसलिए मैं उन्हें बनाते रहता हूं।

< BACK