एक सरल और बुनियादी साइटमैप इंडेक्स sitemap.xml बनाएँ
पाइथन कोड के साथ sitemap.xml फ़ाइल बनाना ताकि सर्च इंजन हमारे वेब पेजों को जान सकें। .html और .php फ़ाइलों का उपयोग करने वाली एक स्थिर वेबसाइट का एक उदाहरण दिया गया है, साथ ही इसका उपयोग कैसे करें और इसे सर्च कंसोल या पिंग URL के माध्यम से Google और Bing को कैसे भेजें, इसके निर्देश भी दिए गए हैं।
साइटमैप एक फ़ाइल होती है जो आपकी वेबसाइट के महत्वपूर्ण पृष्ठों के URL संकलित करती है, जिससे सर्च इंजन आपके पृष्ठों को आसानी से समझ और नेविगेट कर पाते हैं, जो SEO और ट्रैफ़िक बढ़ाने के लिए अच्छा है। अधिकतम दक्षता के लिए साइटमैप बनाने और Google को सबमिट करने का तरीका यहां बताया गया है।
1. साइटमैप और साइटमैप इंडेक्स को समझना
- साइट मैपयह एक XML फ़ाइल है जो गूगल जैसे सर्च इंजन को बताती है कि हमारी वेबसाइट पर कौन से पेज हैं।
- साइटमैप सूचकांक: यह एक XML फ़ाइल है जो कई उप-साइटमैप को जोड़ती है, जिससे बड़ी वेबसाइटों का प्रबंधन आसान हो जाता है।
2. की मानक संरचना साइटमैप.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourdomain.com/</loc>
<lastmod>2025-08-17</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://yourdomain.com/about</loc>
<lastmod>2025-08-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
<loc>
= वेब पेज का URL<lastmod>
= अंतिम अद्यतन तिथि (प्रारूपवर्ष-माह-दिन
)<changefreq>
= अपेक्षित अद्यतन आवृत्ति (हमेशा, प्रति घंटा, दैनिक, साप्ताहिक, मासिक, वार्षिक, कभी नहीं
)<priority>
= महत्व मान (0.0 – 1.0)
3. निर्माण के लिए उदाहरण पायथन कोड साइटमैप.xml
यह कोड URL की सूची पढ़ेगा और आपके लिए sitemap.xml फ़ाइल लिखेगा।
import datetime
domain = "https://yourdomain.com"
pages = [
"/",
"/about",
"/contact",
"/products",
"/blog"
]
today = datetime.date.today().isoformat()
sitemap_path = "sitemap.xml"
with open(sitemap_path, "w", encoding="utf-8") as f:
f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
f.write('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n')
for page in pages:
f.write(" <url>\n")
f.write(f" <loc>{domain}{page}</loc>\n")
f.write(f" <lastmod>{today}</lastmod>\n")
f.write(" <changefreq>weekly</changefreq>\n")
f.write(" <priority>0.8</priority>\n")
f.write(" </url>\n")
f.write("</urlset>\n")
print("Sitemap index created successfully!")
4. एक स्थिर वेबसाइट के लिए साइटमैप बनाएँ
4.1 (सादे .HTML फ़ाइलों) स्थिर पृष्ठों के लिए
यदि आपकी वेबसाइट स्थैतिक वेबसाइट (सादा HTML) और ऐसे कई पृष्ठ हैं जैसे
/index.html
/about.html
/contact.html
/blog.html
/products/product1.html
/products/product2.html
एक स्थिर वेबसाइट के लिए साइटमैप बनाने हेतु पायथन कोड नमूना
import os, datetime
domain = "https://yourdomain.com"
web_dir = "./public_html"
today = datetime.date.today().isoformat()
urls = []
for root, dirs, files in os.walk(web_dir):
for file in files:
if file.endswith(".html"):
rel_path = os.path.relpath(os.path.join(root, file), web_dir)
url = "/" + rel_path.replace("\\", "/")
if url.endswith("index.html"):
url = url.replace("index.html", "")
urls.append(url)
sitemap_path = os.path.join(web_dir, "sitemap.xml")
with open(sitemap_path, "w", encoding="utf-8") as f:
f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
f.write('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n')
for url in urls:
f.write(" <url>\n")
f.write(f" <loc>{domain}{url}</loc>\n")
f.write(f" <lastmod>{today}</lastmod>\n")
f.write(" <changefreq>monthly</changefreq>\n")
f.write(" <priority>0.5</priority>\n")
f.write(" </url>\n")
f.write("</urlset>\n")
print("Sitemap index created successfully!")
यह कोड आपके वेब फ़ोल्डर में सभी .html फ़ाइलों को स्कैन करेगा और स्वचालित रूप से sitemap.xml लिखेगा।
🔹 उपयोग
- इस कोड को अपने प्रोजेक्ट फ़ोल्डर में रखें (उदाहरण के लिए.
generate_sitemap.py
) - साथ चलाएं
पायथन generate_sitemap.py
- आपको फ़ाइल मिल जाएगी
साइटमैप.xml
जड़ पर स्थित (public_html/साइटमैप.xml
) - ब्राउज़र में खोलें →
https://yourdomain.com/sitemap.xml
- Google और Bing पर सबमिट करें (Search Console या पिंग URL का उपयोग करें)
4.2 .php फ़ाइलों (स्थिर पृष्ठों) का उपयोग करने वाली स्थिर वेबसाइटों के लिए
यदि आपकी वेबसाइट एक स्थिर वेबसाइट है जो .php फ़ाइलों (जैसे index.php, about.php, contact.php) का उपयोग करती है, तो sitemap.xml बनाने की विधि .html मामले के समान है, सिवाय इसके कि हमें इसके बजाय .php फ़ाइल को खींचना होगा।
/index.php
/about.php
/contact.php
/blog.php
/products/product1.php
/products/product2.php
निर्माण के लिए पायथन कोड साइटमैप.xml
लेख्यपत्र से .php
import os, datetime
domain = "https://yourdomain.com"
web_dir = "./public_html"
today = datetime.date.today().isoformat()
urls = []
for root, dirs, files in os.walk(web_dir):
for file in files:
if file.endswith(".php"):
rel_path = os.path.relpath(os.path.join(root, file), web_dir)
url = "/" + rel_path.replace("\\", "/")
if url.endswith("index.php"):
url = url.replace("index.php", "")
urls.append(url)
sitemap_path = os.path.join(web_dir, "sitemap.xml")
with open(sitemap_path, "w", encoding="utf-8") as f:
f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
f.write('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n')
for url in urls:
f.write(" <url>\n")
f.write(f" <loc>{domain}{url}</loc>\n")
f.write(f" <lastmod>{today}</lastmod>\n")
f.write(" <changefreq>monthly</changefreq>\n")
f.write(" <priority>0.5</priority>\n")
f.write(" </url>\n")
f.write("</urlset>\n")
print("Sitemap index created successfully!")
🔹 उपयोग
- इस स्क्रिप्ट फ़ाइल को अपने प्रोजेक्ट फ़ोल्डर में रखें (उदाहरण के लिए, "प्रोजेक्ट फ़ोल्डर")।
generate_sitemap.py
) - साथ चलाएं
पायथन generate_sitemap.py
- आपको फ़ाइल मिल जाएगी
साइटमैप.xml
जड़ पर स्थित (public_html/साइटमैप.xml
) - इसे ब्राउज़र में खोलने का प्रयास करें →
https://
yourdomain
.com/साइटमैप.xml - इसे दूर ले जाएँ Google Search Console / Bing वेबमास्टर पर सबमिट करें
यदि आप साझा होस्टिंग का उपयोग कर रहे हैं, जो इस तथ्य से सीमित है कि आपको सीधे साझा होस्टिंग पर पायथन फ़ाइलें चलाने की अनुमति नहीं है।
तो, sitemap.xml को स्वचालित रूप से जनरेट करने के लिए दो विकल्प हैं।
🔹 विकल्प 1 (सबसे आसान) - बनाने और अपलोड करने के लिए अपनी स्थानीय मशीन का उपयोग करें।
अपनी मशीन पर पायथन स्थापित करें (विंडोज़/मैक)
पायथन स्क्रिप्ट चलाएँ → आपको एक फ़ाइल मिलेगी साइटमैप.xml
कमांड प्रॉम्प्ट (विंडोज़) या टर्मिनल (मैक/लिनक्स) खोलें और टाइप करें:
python generate_sitemap.py
फ़ाइल अपलोड करें साइटमैप.xml
जाओ सार्वजनिक_html/
के माध्यम से होस्टिंग की फ़ाइल प्रबंधक / FTP
ब्राउज़र पर जाएँ →
https://yourdomain.com/sitemap.xml
🔹 विकल्प 2 - अपनी होस्टिंग पर साइटमैप बनाने के लिए PHP का उपयोग करें।
यदि आप स्थानीय रूप से पायथन नहीं चलाना चाहते हैं, तो आप स्वचालित रूप से sitemap.xml उत्पन्न करने के लिए PHP कोड लिख सकते हैं।
<?php
$domain = "https://yourdomain.com";
$web_dir = __DIR__; // public_html
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($web_dir));
$urls = [];
foreach ($files as $file) {
if ($file->isFile() && pathinfo($file, PATHINFO_EXTENSION) === "php") {
$path = str_replace($web_dir, "", $file->getPathname());
$url = str_replace("\\", "/", $path);
if (basename($url) === "index.php") {
$url = str_replace("index.php", "", $url);
}
$urls[] = $url;
}
}
$today = date("Y-m-d");
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
foreach ($urls as $url) {
$sitemap .= " <url>\n";
$sitemap .= " <loc>{$domain}{$url}</loc>\n";
$sitemap .= " <lastmod>{$today}</lastmod>\n";
$sitemap .= " <changefreq>monthly</changefreq>\n";
$sitemap .= " <priority>0.5</priority>\n";
$sitemap .= " </url>\n";
}
$sitemap .= "</urlset>";
file_put_contents($web_dir . "/sitemap.xml", $sitemap);
echo "✅ Sitemap created at {$domain}/sitemap.xml";
?>
🔹 उपयोग
- फ़ाइल के रूप में सहेजें
generate_sitemap.php
- अपलोड करें
सार्वजनिक_html/
- वेब के माध्यम से फ़ाइलें कॉल करें, जैसे:
https://yourdomain.com/generate_sitemap.php
- आपको फ़ाइल मिल जाएगी
साइटमैप.xml
तुरंत जड़ पर
6. एक नया sitemap.xml पृष्ठ है जो स्वचालित रूप से अपडेट होता है।
आप देना चाहते हैं जब कोई नया पृष्ठ जोड़ा जाता है (.php) → साइटमैप.xml
यह स्वचालित रूप से अपडेट हो जाता है, क्योंकि पायथन को सीधे नहीं चलाया जा सकता है, हम हर बार public_html में .php फ़ाइल की जांच करने के लिए एक PHP स्क्रिप्ट का उपयोग करेंगे और एक नया sitemap.xml लिखेंगे।
PHP कोड: हर बार चलने पर साइटमैप स्वतः जनरेट करें
<?php
$domain = "https://yourdomain.com";
$web_dir = __DIR__; // public_html
$today = date("Y-m-d");
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($web_dir));
$urls = [];
foreach ($files as $file) {
if ($file->isFile() && pathinfo($file, PATHINFO_EXTENSION) === "php") {
$path = str_replace($web_dir, "", $file->getPathname());
$url = str_replace("\\", "/", $path);
if (basename($url) === "index.php") {
$url = str_replace("index.php", "", $url);
}
$urls[] = $url;
}
}
// sitemap.xml
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
foreach ($urls as $url) {
$sitemap .= " <url>\n";
$sitemap .= " <loc>{$domain}{$url}</loc>\n";
$sitemap .= " <lastmod>{$today}</lastmod>\n";
$sitemap .= " <changefreq>monthly</changefreq>\n";
$sitemap .= " <priority>0.5</priority>\n";
$sitemap .= " </url>\n";
}
$sitemap .= "</urlset>";
file_put_contents($web_dir . "/sitemap.xml", $sitemap);
echo "✅ Sitemap updated at {$domain}/sitemap.xml";
?>
🔹 कैसे उपयोग करें
- generate_sitemap.php फ़ाइल को public_html पर अपलोड करें।
- ब्राउज़र में फ़ाइल को कॉल करें:
https://yourdomain.com/generate_sitemap.php
- → यह हर बार sitemap.xml को पुनः उत्पन्न (या अद्यतन) करेगा।
- नई .php फ़ाइल जोड़ते समय → बस इस फ़ाइल को फिर से चलाएँ और यह साइटमैप को अपडेट कर देगा।
🔹इसे वास्तव में ऑटो बनाएं (क्रॉन जॉब सेट करें, इसे स्वयं दबाने की कोई आवश्यकता नहीं है)
उदाहरण के लिए, आप generate_sitemap.php को दैनिक/साप्ताहिक रूप से चलाने के लिए होस्टिंग के क्रॉन जॉब का उपयोग कर सकते हैं।
होस्टिंग hPanel में:
- जाओ उन्नत → क्रॉन जॉब्स
- एक क्रॉन जॉब जोड़ें जैसे:
php /home/username/public_html/generate_sitemap.php
php /home/username/public_html/generate_sitemap.php
- फिर समय निर्धारित करें दिन में एक बार
साइटमैप इंडेक्स फ़ाइल का उपयोग करके साइटमैप प्रबंधित करने की सलाह दी जाती है। जब साइटमैप का आकार सीमा से ज़्यादा हो जाता है, तो उसे कई फ़ाइलों में विभाजित करने और इंडेक्स फ़ाइल का उपयोग करके Search Console में एक साथ प्रति साइट 500 फ़ाइलें सबमिट करने की सलाह दी जाती है। इंडेक्स फ़ाइल का XML फ़ॉर्मैट सामान्य साइटमैप जैसा ही होता है और उसे उसी डायरेक्टरी में या उससे कहीं ज़्यादा गहराई में स्थित होना चाहिए।
अधिक जानकारी https://developers.google.com