Карта сайта – что это такое? Для непосвященных открою маленькую тайну: карта сайта wordpress бывает двух видов – карта в формате XML (для того, чтобы поисковые системы быстрее индексировали сайт) и карта сайта в виде страницы со ссылками на страницы, записи, рубрики и архивы сайта.

Второй тип карты сайта предназначен для пользователей – чтобы можно было быстрее и более удобно искать нужную информацию, если сразу найти необходимое не получилось. Сегодня я расскажу о том, что такое вордпресс карта сайта в формате XML, и покажу пример карты в HTML формате. HTML карту можно построить при помощи плагина, а можно обойтись и без него, только на основе скрипта php.

Карта сайта в формате XML

Самый распространенный wordpress плагин карта сайта в формате XML – это плагин Google XML Sitemaps. О нем я писал в статье, ссылку на которую я только что дал. Коротко скажу – плагин автоматически формирует динамическую карту сайта и заливает ее в корень вашего сайта.

То есть, никаких лишних телодвижений вам делать не нужно – достаточно один раз настроить плагин карта сайта, выставить частоту обновлений страниц, записей, рубрик и тэгов – и плагин будет сам обновлять вашу карту, а также обновлять ее в таких сервисах, как Google, Bing и других, если вы там зарегистрированы.

Карта сайта в формате XML

Это – небольшой фрагмент со страницы настроек плагина. Также карта сайта на wordpress очень хорошо организована в плагине All In One SEO Pack, о котором я писал в статье Настройки обновленного seo плагина All in One SEO Pack. Здесь есть один нюанс – если вы пользуетесь этим seo-плагином, то плагин Google XML Sitemaps вам устанавливать совершенно не нужно, о чем вы и получите предупреждение при установке сразу двух модулей на сайт.

Этот wordpress плагин карта сайта выполняет не только функции формирования карты в формате XML, но карту он делает замечательно. Вот скриншот из настроек плагина с настройками карты:

Карта сайта в формате XML

Оба плагина не взаимозаменяемы, так как выполняют разные функции, но одна из них – как раз создание карты в формате XML. Ваша карта сайта google XML Sitemaps – более узкоспециализирована, но, так как этот плагин больше ничего не умеет делать, я советовал бы вам сразу устанавливать плагин All In One SEO Pack – так вы убьете не одного зайца.

Карта сайта в формате HTML

Самый распространенный плагин вордпресс карта сайта в формате HTML — Dagon Design Sitemap Generator. О нем я тоже подробно писал в статье Установка и настройка плагина Dagon Design Sitemap Generator, поэтому снова описывать его работу смысла нет. А вот как создать карту HTML без плагина – об этом я расскажу более подробно.

Ваша wordpress карта сайта без плагина будет основана, конечно, на php коде, который мы вставим в новый шаблон страницы, созданный специально для этого.

Для создания нового шаблона страницы вам нужно будет в папке с шаблоном вашей темы создать новый файл с любым названием. Пусть это будет файл map.php. В самом начале файла пропишите вот этот код:

 <?php

/*

Template Name: map.php

*/

?>

Этот код создаст новый шаблон, на основе которого мы будем создавать свою карту сайта без плагина. Теперь нужно сделать вот что: скопируйте полностью все содержимое файла page.php в файл map.php.

Это будет база для новой страницы – в ней уже будет прописано все, что вам нужно для динамического формирования страницы – сайдбары, подвал, шапка сайта и основной контент (код которого нужно будет убрать, а вместо него вставить код карты сайта).

Только вместо основного контента вам нужно будет вставить код, который и будет формировать вашу карту сайта. Вот этот код:


<h1>Карта сайта</h1>

               <div class="box links margin_top"> 

                   <h3>Страницы</h3>

                   <ul>

                     <?php wp_list_pages('title_li=&depth=-1&exclude='.get_theme_mod('pagelist').','.$post->ID); ?>

                   </ul>                               

               </div>

               <div class="box links margin">

                   <h3 class="margin_null">Записи</h3>

                   <?php $cats = get_categories('orderby=name&hierarchical=0');

                       foreach ($cats as $category) {

                         print '<div class="category_map">Категория <span><a href="'.get_category_link($category->cat_ID).'" title="Посмотреть все записи в этой категории">'.$category->name.':</a></span></div>';

                         print '<ul class="list">';

                         query_posts(array('cat' => $category->cat_ID,'showposts'=>1000));

                         while (have_posts()) { the_post();

                        $showed_ids[] = get_the_ID();

                   ?>

                     <li><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title() ?></a></li>

                   <?php }           

                         print '</ul>';

                         } 

                   ?>

Вот что у нас получилось:

Карта сайта в формате HTML

Теперь в нашей новой карте есть страницы и рубрики со всеми записями в этих рубриках. И не нужно устанавливать плагин для wordpress карта сайта, нагружать сервер запросами, а базу данных – лишними таблицами. Решение очень простое и доступное для всех.

Как я уже говорил, вам нужно убрать вывод основного контента. Это строка:


<?php the_content(); ?>

Вот вместо нее вам и нужно будет вставить код карты. А ниже – код стилей для вашей новой карты сайта. Вы можете изменить дизайн карты на свое усмотрение.


.box {               

            width: 531px;

            height: auto;

 margin: 0 0 10px 0; 

 padding : 15px 0 15px 15px; 

 border-radius: 5px; 

 -moz-border-radius: 5px; 

 -webkit-border-radius: 5px; 

 border : 1px solid #c7c7c8; 

 overflow: hidden;

 clear: both;

}

.box ul {

 color: #666;

 margin: 0 0 10px 0; 

 padding: 0; 

} 

.box li {                                   

 float : left; 

 list-style-position: outside;

 list-style-type: disc; 

} 

.box h3 {          

            margin: 0 0 15px 0;

            padding: 0;

}

Надеюсь, понятно, как устанавливается wp плагин карта сайта в формате XML и HTML. На этом все – удачного вам дня, с наступающим Новым Годом, здоровья и успехов в бизнесе! До встречи в следующих публикациях!