Карта сайта для WordPress — с плагином или без?

Создание карты сайта для WordPress решает сразу две задачи — облегчает поисковику быстро проиндексировать все страницы блога и помогает читателю быстро найти нужную ему статью. И для ее создания блоггеры часто используют популярный плагин карты сайта WordPress — Dagon Design Sitemap Generator. Мы также не будем отделяться от коллектива и обязательно его рассмотрим в видеоуроке, но также изучим еще одну возможность — создать карту сайта без плагина.

Карта сайта Вордпресс

Итак, почему я рекомендую делать карту без плагина? По разным данным, даже такой классный и продвинутый плагин, как DDSitemapGen делает множество запросов в базу данных — по разным данным от 100 до 150 запросов, — нагружая сервер и замедляя загрузку страницы. Мы уже избавлялись от лишних запросов в уроке про уменьшение количества запросов в БД, так зачем же лишний раз ее еще раз напрягать? Давайте создадим все своими ручками!

Открываем файл single.php в Блокноте или NotePad++, находим код, который выводит основной контент записи на страницу и полностью его удаляем — остается только html разметка, типа

<div id="content">

здесь был код вывода записи

</div>

И теперь вместо старого кода WordPress вставляем туда нижеприведенный:

<h2 id="authors">Авторы</h2>
<ul>
<?php 
wp_list_authors( 
  array(
    'exclude_admin' => false,
  )
); 
?>
</ul>
 
<h2 id="pages">Страницы</h2>
<ul>
<?php
// Add pages you'd like to exclude in the exclude here
wp_list_pages( 
  array(
    'exclude' => '',
    'title_li' => '',
  )
);
?>
</ul>
 
<h2 id="posts">Статьи</h2>
<ul>
<?php
// Добавляем категории, которые хотим исключить
$cats = get_categories('exclude=');
foreach ($cats as $cat) {
  echo '<li><strong>Категория:</strong> <a href="' . get_category_link( $cat->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $cat->cat_name ) . '" ' . '>' . $cat->cat_name.'</a>';
  echo "<ul>";
  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>

а в самом начале файла, сразу после

<?php

добавляем несколько строк

/*
Template Name: Site Map
*/





и сохраняем этот файл под именем map.php

Далее загружаем его в текущую тему оформления. Заходим в админку и создаем новую страницу.
А в правом сайдбаре, в разделе Атрибуты страницы — Шаблон, в выпадающем списке выбираем Site Map. Озаглавливаем страницу как «Карта сайта» и сохраняем с пустым текстом. Все, заходим на вновь созданную страницу и видим классную карту без всяких плагинов.

Если же Вам все-таки такой вариант не нравится и хочется управлять процессом из админки, то смотрим видеоурок

Плагин для создания на WordPress карты сайта

А для ленивых, типа меня, предлагаю скачать плагин Dagon Design Sitemap Generator
Также могу посоветовать неплохой плагин Article Directory, который выводит на страницу все имеющиеся рубрики. Я его использую на одном сайте на странице ошибки 404 в качестве своеобразного каталога — хорошее дополнение к карте сайта.

Код вставки карты сайта на страницу

<!-- ddsitemapgen -->

Влияние карты сайта на ранжирование

 

Наличие карты сайта 58%
Актуальность карты сайта 54%
Наличие страницы в карте сайта 48%
Указание приоритета индексации страниц в карте сайта 40%

Данные от ТопЭксперт.Рф 

Добавить комментарий