Карта сайта для WordPress

Карта сайта HTML и XML для WordPress

Здравствуйте, дорогие читатели! Хочется высказать свое мнение о такой немаловажной штуке, как карта сайта. Карта сайта представляет из себя простой список ссылок на все страницы вашего сайта или блога. Бывает несколько типов карты сайта.

Неопытные веб-мастера и блогеры часто пренебрегают картой, не подозревая о положительном влиянии карты сайта. Например, для поисковой системы она является неким проводником по сайту и помогает поисковому роботу быстрее и глубже индексировать сайт. А человеку карта сайта упрощает поиск информации на сайте.

Тем самым, для себя я определил два вида карты сайта. По сути представляют они собой одно и тоже, различаются только форматом. Тем самым xml карта сайта  делается для поискового робота, потому как человеку весьма трудно ее читать. А вот html карта сайта вполне пригодна для изучения человеком. Тем самым мы даем информацию и поисковому роботу и пользователям сайта.

xml карта сайта

Как и любой другой программист, я всегда пытаюсь найти самый простой способ решения задачи. Тем самым, для создания карты сайта в формате xml я использую плагин Google XML Sitemaps, который отлично справляется с этой задачей. Плагин имеет достаточно настроек чтобы детально настроить карту сайта. Установка плагина достаточно проста. После создания карты сайта с помощью пагина, вы можете просмотреть ее по адресу http://yoursait.ru/sitemap.xml. Для того, чтобы ваша карта работала эффективней, вам нужно уведомить поисковую систему о ее существовании.  Для этого вам необходимо добавить ссылку на карту сайта в файл robots.txt, а так же оповестить сами поисковые системы в панели для веб-мастеров - панель веб-мастера на Яндекс. Вот собственно и все.

html карта сайта

Так же, будет полезно создать карту сайта в формате html. С этим будет чуть сложнее, как мне кажется. Но HTML карта сайта так-же необходима, как и xml. Очень часто люди возвращаются на ваш блог в поиске информации, но не могут ее найти. Тогда им будет крайне полезна карта сайта, в которой есть все ссылки на все статьи вашего блога или сайта. Приступим к созданию...

Для начала вам нужно создать отдельный шаблон страницы для карты сайта. Создайте файл page-map.php со следующим содержимым:

<?php /* Template Name: Карта сайта HTML */ ?>

<?php get_header(); ?>

		<div id="container">
			<div id="content" role="main">
			<h2 id="posts">Все записи</h2>
<?php get_template_part('loop', 'map'); ?>
			</div><!-- #content -->
		</div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

После того как вы создали шаблон страницы для карты сайта, загрузите его в папку с вашей темой, например, с помощью ftp клиента. Далее вам необходимо создать файл loop-map.php и так же загрузить в папку вашей темы. Содержимое файла loop-map.php должно быть следующим:

<ul>
<?php
// Категории, которые надо исключить, добавляем к exclude здесь
$cats = get_categories('exclude=');
foreach ($cats as $cat) {
  echo "<li><h3>".$cat->cat_name."</h3>";
  echo "<ul class='uldotted'>";
  query_posts('posts_per_page=-1&cat='.$cat->cat_ID);
  while(have_posts()) {
    the_post();
    $category = get_the_category();
    // Ссылку на заметку выводим только один раз, даже если она указана в нескольких категориях
    if ($category[0]->cat_ID == $cat->cat_ID) {
      echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
    }
  }
  echo "</ul>";
  echo "</li>";
}
?>
</ul>

Далее идем в админку блога и создаем пустую страницу  с именем "Карта сайта". В качествве шаблона выбирам "Карта сайта HTML"  - тот самый, который мы создали раннее. Тем самым мы получаем список всех записей блога по категориям на странице "Карта сайта". Вам остается оформить этот список так, как вам хочется. Эту страницу регистрировать нигде не нужно, так как по большей части он создан для человека. Вам нужно разместить заметную ссылку на вашу HTML карту сайта, чтобы пользователи могли ее найти при желании.

Это полезная статья? - Ставь лайк!
Участвуй в развитии блога и сообщества
Нравится блог? - Читайте ВКонтакте
Ответим на Ваши вопросы в комментариях