Согласно the documentation, при использовании внутреннего DI вы можете отключить конечную точку /sitemap.xml
, используя настройку MvcSiteMapProvider_EnableSitemapsXml
.
<appSettings>
<add key="MvcSiteMapProvider_EnableSitemapsXml" value="false"/>
</appSettings>
При использовании внешнего DI, необходимо удалить эту строку из файла /App_Start/MvcSiteMapProviderConfig.cs
(или в другом месте, оно может существовать в вашем коде запуска приложения).
// Register the Sitemaps routes for search engines
//XmlSiteMapController.RegisterRoutes(RouteTable.Routes);
FYI - хотя эта настройка делает то, что вы просили, на самом деле не было никаких проблем для начала. Поисковые системы не просматривают веб-сайты для файлов Sitemap для XML, они должны быть явно представлены. Согласно sitemap protocol, они могут быть отправлены через HTTP-запрос через панель управления поисковой системой или путем добавления местоположения в файл \robots.txt
. Но ни одно из них не выполняется без явного вмешательства со стороны веб-мастера. Во всех случаях веб-мастер выбирает URL-адрес, по которому будет размещаться карта сайта XML. В отличие от файла \robots.txt
, для него нет местоположения по умолчанию. Мы выбрали наиболее разумный логический путь \sitemap.xml
, но технически это могло быть что угодно.