이 확장 프로그램은 Bolt 사이트에 대한 XML 사이트맵을 자동으로 생성합니다. 확장 기능을 활성화한 후 http://example.org/sitemap.xml
로 이동하여 확인하세요.
Google 및 Bing과 같은 더 큰 검색 엔진은 잠시 후 자동으로 사이트맵을 선택하지만 항상 검색 엔진에 사이트맵을 찾을 수 있는 위치를 명시적으로 알려주는 것이 좋습니다. 이를 위해 이 확장 프로그램은 페이지의 <head>
섹션에 링크를 자동으로 추가합니다.
< link rel =" sitemap " type =" application/xml " title =" Sitemap " href =" /sitemap.xml " />
그 외에도 robots.txt
파일에 다음 줄을 추가하는 것도 좋은 습관입니다.
Sitemap: http://example.org/sitemap.xml
당연히 'example.org'를 웹사이트의 도메인 이름으로 바꿔야 합니다.
이 확장은 기본적으로 /sitemap.xml
및 /sitemap
에 대한 '경로'를 추가하지만 사용자 정의 경로보다 우선순위가 낮습니다.
routing.yml
에서 pagebinding
사용하거나 '사이트맵'과 먼저 일치하는 유사한 경로를 사용하는 경우 해당 경로 위에 다음을 추가해야 합니다. AnimalDesign/bolt-translate 확장과 같이 기본 라우팅을 재정의할 수 있는 확장이 있는 경우에도 이 작업을 수행해야 합니다.
sitemap :
path : /sitemap
defaults : { _controller: sitemap.controller:sitemap }
sitemapXml :
path : /sitemap.xml
defaults : { _controller: sitemap.controller:sitemapXml }
searchable: false
속성을 가진 ContentType이 있는 경우 해당 콘텐츠 유형은 무시됩니다.
자체 번들 확장 프로그램이 있는 경우 사이트맵이 렌더링되기 전에 링크를 추가, 제거 또는 변경할 수 있습니다. SitemapEvents::AFTER_COLLECTING_LINKS
이벤트를 구독해야 합니다. 얻을 수 있는 개체는 MutableBag
개체를 반환하는 getLinks
메서드가 있는 SitemapEvent
클래스의 인스턴스입니다. 마지막은 배열과 유사한 링크 목록입니다. 예를 참조하세요:
protected function subscribe ( $ dispatcher )
{
$ dispatcher -> addListener ( SitemapEvents :: AFTER_COLLECTING_LINKS ,
function ( $ event ) {
/** @var SitemapEvent $event */
$ links = $ event -> getLinks ();
$ links -> add ([
' link ' => ' /lorem-ipsum ' ,
' title ' => ' Hello World! ' ,
' depth ' => 1 ,
]);
}
);
}
templates/sitemap_xml.twig
파일과 web/sitemap.xsl
파일을 테마 디렉토리에 복사하고 xml 선언 뒤에 xsl-stylesheet 선언을 추가하면 xslt 스타일시트로 사이트맵을 사용자 정의할 수 있습니다. themes/{yourthemename}/sitemap_xml.twig
다음과 같습니다:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
<? xml-stylesheet type = " text/xsl " href = " {{ paths.theme }}/sitemap.xsl " ?>