FENOM'енальный курс. Часть 18. Robots, Sitemap, Canonical.

Шаблон MAGAZINE вы можете скачать по ссылке.

Этот урок будет последним в нашем с вами курсе. В нем мы с вами рассмотрим, как создать robots.txt, sitemap.xml и как настроить канонические ссылки. Погнали!

Начнем мы с вами с простого – robots.txt. Для этого нам необходимо создать ресурс в корне сайта:

  • Заголовок – robots
  • Шаблон – пустой шаблон
  • Срыть из меню – Да
  • Опубликован – Да
  • Тип содержимого – text
  • Доступен для поиска – нет
  • Использовать HTML-редактор – нет

А в содержимое ресурса пишем:

User-agent: *

Allow: /

Host: {$_modx->config.site_url}

Sitemap: {$_modx->config.site_url}sitemap.xml
	

Теперь вы сможете управлять файлом robots с помощью панели администратора. Аналогично создаем ресурс sitemap:

  • Заголовок – sitemap
  • Шаблон – пустой шаблон
  • Срыть из меню – Да
  • Опубликован – Да
  • Тип содержимого – XML
  • Доступен для поиска – нет
  • Использовать HTML-редактор – нет

Но sitemap у нас будет хитрый и состоять из нескольких кусков. Поэтому в содержимое ресурса пишем вызов pdoResources:

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    {$_modx->runSnippet("pdoResources",[
        "parents" => $_modx->resource.id,
        "limit" => 0,
        "tpl" => "@FILE chunks/sitemap.tpl"
    ])}
</sitemapindex>
	

Как вы уже догадались, данный файл у нас будет иметь дочерние ресурсы. Чанк sitemap.tpl:

<sitemap>
	<loc>{$id | url : ['scheme' => 'full']}</loc>
</sitemap>
	

И создаем дочение подресурсы, аналогичные родителю. Содержимое ресрурса sitemap1:

{$_modx->runSnippet("pdositemap",[
    "showHidden" => 1,
    "sortby" => "uri"
])}
	

Содержимое ресурса sitemap2:

{$_modx->runSnippet("sfSitemap",[
    "fast" => 1,
    "mincount" => 1
])}
	

В первом ресурсе мы выводим все страницы сайта в сайимап, а во втором виртуальные страницы SEOFilter. Я бы еще поправил последнюю строку в robots.txt:

Sitemap: {71 | url : ["scheme" => "full"]}
	

Теперь нам нужно настроить канонические ссылки, для того, чтобы склеить все дубли страниц в поисковой системе. Реализуется это с помощью простой конструкции, которую нужно вставить в чанк meta.tpl:

{if $_modx->getPlaceholder('sf.url')}
	<link rel="canonical" href='{$_modx->resource.id | url : ["scheme"=>"full"]}{$_modx->getPlaceholder("sf.url")}'>
{else}
	<link rel="canonical" href='{$_modx->resource.id | url : ["scheme"=>"full"]}'>
{/if}
	

Good work, everyone! Мы с вами справились с нашим большим курсом! Поздравляю всех, кто дошел до этой части.

Оцените статью:

Проголосовало: 5

Комментарии ()

Ваш комментарий будет первым!

Написать комментарий

Наши клиенты

Многие компании уже доверяют нам. Будьте в их числе!

Хотите реализовать проект?

Контакты

Напишите нам - мы расскажем вам много интересного!


Пермь, ул. Крупской 34, офис 510