마 젠토 2 : 마 젠토 2에서 사이트 맵을 얻으려면 어떻게해야합니까?


9

Magento 1과 동일한 방식으로 Magento 2에서 사이트 맵 페이지를 만드는 방법 은 무엇입니까?

http://example.com/catalog/seo_sitemap/

1
XML에 대해 이야기 (sitemap.xml) / HTML Sitemap? fastcomet.com/tutorials/magento2/sitemap
Ankit Shah

HTML 사이트 맵을 Magento1.x와 동일
Ashish Jagnani

귀하의 사이트에 대한 새로운 맵을 생성하는 것은 당신이 도움 받기가 가능하다 참조 emagentosupport.com/2018/12/...
데니쉬 Vachhani

답변:


6

마 젠토 2 : 기본적으로 HTML Sitemap을 제공하지 않습니다.

자유로운 연장을 사용할 수 있습니다 :

https://www.mageplaza.com/magento-2-seo-extension/

다음과 같은 옵션이 있습니다

CMS 페이지 : Magento 1 기사 참조 가능 /programming/5020257/creating-a-magento-sitemap-page 그런 다음 Magento 2로 변환하면 CMS 페이지에 유용한 정보

카테고리 및 하위 카테고리 : magento 2에서 사용 가능한 모든 카테고리, 하위 카테고리 목록 가져 오기

카테고리 제품 : Magento 2 : 카테고리 ID를 사용하여 제품 콜렉션 가져 오기


Mageworx에서 $ 79 달러. 아직 무료 버전이 없다는 것에 놀랐습니다. 사이트 맵은 매우 현명한 SEO 현명합니다.
rhand

예, 기본적으로는 아닙니다. 따라서 원하는 옵션 중에서 선택하십시오
Ankit Shah

마 젠토는 사이트 맵 옵션을 제공합니다. pls 확인 : belvg.com/blog/how-to-generate-a-sitemap-in-magento-2-0.html
Jai

이 또한 도움이 될 것입니다 magenticians.com/create-magento-2-sitemap
재이에게

7

Magento 버전 2.1.8부터는 사이트 맵 기능이 기본적으로 관리자에 포함되어 있습니다.

  • 사이트 맵 위치를 정의하십시오 ( 마케팅> SEO & 검색> 사이트 맵) . 여기에서 사이트 맵 파일을 수동으로 생성 할 수도 있습니다.

  • cron 설정 구성 : 상점> 구성> 카탈로그> XML 사이트 맵

다음은 반복 크론 작업설정하기 위한 지침입니다 . Magento 1.x와 마찬가지로 시스템의 크론은 작업을 예약하는 Magento 크론 스크립트를 호출합니다.


1
이것은 올바른 것이어야합니다. 타사 모드를 설치하는 것은 이미 내장 된 것의 최후의 수단이어야합니다. 감사합니다!
ajankuv

6

Magento 2에는 magento 1.xx와 같은 카테고리 및 제품에 대한 html 사이트 맵 URL이 없습니다. 이를 위해 'sitemap /'과 같은 CMS 페이지를 만들고 phtml 파일을 호출 할 수 있습니다

여기에는 모든 카테고리를 호출하는 맞춤 코드가 포함됩니다

cms 페이지에서 다음을 호출하십시오.

{{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을 쉽게 만들 수 있습니다.


안녕하세요, 나 자신의 html 사이트 맵을 만들고 싶습니다. 도와주세요 ..이 코드를 사용하는 방법. @Riddhish Bhayani
물어 바이트

2

기본 Magento 모듈을 확장 할 모듈을 개발할 수 있습니다 module-sitemap.

및 방법 을 사용하여 Sitemap모델을 기반으로 할 수 있습니다 .\Magento\Sitemap\Model\Sitemap::generateXml_initSitemapItems

두 가지 접근 방식 :

  1. 새로운 것을 만들고 FO controller등을 사용하여 디스플레이를 관리하십시오 template/layout.

  2. HTML로 정적 파일을 생성하여 Webserver사용자 정의 URL에 제공합니다.

그리 어렵지 않을 것입니다.

감사,



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.