कैसे हम Magento 2 में साइटमैप पेज बनाते हैं उसी तरह जैसे हमारे पास Magento 1 में है?
http://example.com/catalog/seo_sitemap/
कैसे हम Magento 2 में साइटमैप पेज बनाते हैं उसी तरह जैसे हमारे पास Magento 1 में है?
http://example.com/catalog/seo_sitemap/
जवाबों:
Magento 2: डिफ़ॉल्ट रूप से HTML साइटमैप प्रदान नहीं करता है।
मुफ्त एक्सटेंशन का उपयोग कर सकते हैं:
https://www.mageplaza.com/magento-2-seo-extension/
आपके पास निम्नलिखित विकल्प हैं
सीएमएस पन्ने : उल्लेख कर सकते हैं Magento 1 अनुच्छेद /programming/5020257/creating-a-magento-sitemap-page फिर Magento 2 होगा वाला कुछ क्या सीएमएस पेज के लिए मददगार करने के लिए इसे कन्वर्ट
श्रेणियों और उप श्रेणियों के लिए : Magento 2 में सभी उपलब्ध श्रेणी, उपश्रेणी सूची प्राप्त करना
श्रेणियां उत्पाद के लिए : Magento 2: श्रेणी आईडी का उपयोग करके उत्पाद संग्रह प्राप्त करें
Magento संस्करण 2.1.8 के रूप में, साइटमैप कार्यक्षमता डिफ़ॉल्ट रूप से व्यवस्थापक में शामिल है।
साइटमैप को परिभाषित करें: मार्केटिंग> एसईओ और खोज> साइट मैप । आप यहां से साइटमैप फ़ाइल को मैन्युअल रूप से जनरेट कर सकते हैं।
क्रोन सेटिंग्स कॉन्फ़िगर करें: स्टोर> कॉन्फ़िगरेशन> कैटलॉग> एक्सएमएल साइटमैप
यहाँ आवर्ती क्रोन नौकरियों की स्थापना के निर्देश हैं । Magento 1.x की तरह, सिस्टम का क्रोन Magento cron स्क्रिप्ट को कॉल करता है, जो नौकरियों को शेड्यूल करता है।
Magento 2 में श्रेणी और उत्पादों जैसे Magento 1.xx के लिए html साइटमैप url नहीं है। इसके लिए आप page साइटमैप ’की तरह एक सीएमएस पेज बना सकते हैं और एक phtml फाइल को कॉल कर सकते हैं
जिसमें सभी श्रेणी को कॉल करने के लिए कस्टम कोड शामिल होगा
सेमी पृष्ठ में, इसे कॉल करें:
{{block class="Magento\Framework\View\Element\Template" template="Magento_Theme::sitemap.phtml" name="customsitemap"}}
फिर phtml में, इसे कॉल करें:
<?php
$objectManagerr = \Magento\Framework\App\ObjectManager::getInstance();
$categoryFactory = $objectManagerr->create('Magento\Catalog\Model\ResourceModel\Category\CollectionFactory');
$categoryy = $categoryFactory->create()
->addAttributeToSelect('*');
//->addAttributeToFilter('is_active',1)
//->addAttributeToFilter('is_anchor',1);
$excludedCategory = array(0);
?>
<ul class="sitelist">
<?php foreach ($categoryy as $cc): ?>
<?php if(!in_array($cc->getId(), $excludedCategory)):?>
<div class = "sitemap-list" style="float:left;">
<?php if ($cc->getLevel()==2):?>
<li>
<h3><a href="<?php echo $cc->getUrl(); ?>"><?php echo $cc->getName(); ?></a></h3>
<?php
if($cc->getChildren())
{
$sub = explode(",", $cc->getChildren());
$categoryFactorysub = $objectManagerr->create('Magento\Catalog\Model\ResourceModel\Category\CollectionFactory');
$categoryysub = $categoryFactorysub->create()
->addAttributeToSelect('*');
$subcat=$categoryysub->addFieldToFilter('entity_id', array('in' =>$sub));
//$subcat->printlogquery(true);exit;
?>
<ul style="margin-left:15px;">
<?php foreach ($subcat as $subcategories){ ?>
<?php if ($subcategories->getLevel()==3):?>
<div class = "sitemap-list">
<li>
<?php if($subcategories->getImageUrl()): ?>
<div class="mega-menu-ad">
<img src="<?php echo ($subcategories->getImageUrl()); ?>" width="25" height="25" />
</div>
<?php endif; ?>
<a href="<?php echo $subcategories->getUrl(); ?>"><?php echo $subcategories->getName(); ?></a>
<?php
if($subcategories->getChildren())
{
$subSubCat = explode(",", $subcategories->getChildren());
$subsubCatFactory = $objectManagerr->create('Magento\Catalog\Model\ResourceModel\Category\CollectionFactory');
$subSubCatCollection = $subsubCatFactory->create()
->addAttributeToSelect('*');
$subSubCollection=$subSubCatCollection->addFieldToFilter('entity_id', array('in' =>$subSubCat));
?>
<ul style="margin-left:20px;">
<?php foreach ($subSubCollection as $subSubcategories){ ?>
<div class = "sitemap-list">
<li>
<?php if($subSubcategories->getImageUrl()): ?>
<div class="mega-menu-ad">
<img src="<?php echo ($subSubcategories->getImageUrl()); ?>" width="25" height="25" />
</div>
<?php endif; ?>
<a href="<?php echo $subSubcategories->getUrl(); ?>"><?php echo $subSubcategories->getName()?></a>
</li>
</div>
<?php } ?>
</ul>
<?php } ?>
</li>
</div>
<?php endif;?>
<?php } ?>
</ul>
<?php } ?>
</li>
<?php endif;?>
</div>
<?php endif;?>
<?php endforeach; ?>
</ul>
इस तरह आप आसानी से Magento 2 में साइटमैप URL बना सकते हैं।
आप अपने मॉड्यूल को विकसित कर सकते हैं जो डिफ़ॉल्ट Magento मॉड्यूल का विस्तार करेगा module-sitemap।
आप और विधियों के Sitemapसाथ मॉडल पर आधारित हो सकते हैं ।\Magento\Sitemap\Model\Sitemap::generateXml_initSitemapItems
2 दृष्टिकोण:
एक नया बनाएँ FO controllerऔर template/layoutआदि के साथ प्रदर्शन का प्रबंधन
HTML में एक स्टैटिक फ़ाइल जनरेट करें जो Webserverएक कस्टम URL द्वारा दी जाएगी ।
यह बहुत मुश्किल नहीं होगा।
धन्यवाद,
इस प्लगइन की जाँच करें यह मुफ़्त और अनुकूलन योग्य है https://marketplace.magento.com/vsourz-html-sitemap.html
आप या तो साइटमैप एक्सटेंशन ( https://marketplace.magento.com/fme-advanced-sitemap-generator.html ) का उपयोग कर सकते हैं जो आपको प्रोग्रामिंग के बिना काम पूरा करने में मदद करेगा या आप बस इस लेख पर एक नज़र डाल सकते हैं: https : //www.fmeextensions.com/blog/generate-google-optimized-sitemap-xml-in-magento-2/