Блог Максима Войтика
Публикации о способах
заработка в интернете и SEO

Как создать HTML карту сайта на WordPress плагином DDSitemapGen

11 мая 2012
Комментарии: 33

html карта сайта

Привет. Вот и подходят к концу майские праздники и теперь можно с головой окунуться в работу.

В предыдущем посте мы узнали, какая карта сайта wordpress создается с помощью плагина google xml sitemaps.

Как она помогает роботам поисковиков лучше индексировать все страницы блога.

Кроме xml карты, существует еще и карта сайта wordpress, которая помогает посетителям лучше и легче находить информацию непосредственно на сайте.

Посмотреть пример моей карты сайта можно в меню «Все статьи блога».

HTML карта сайта для движка WordPress


Для того, чтобы создать ее существует два способа:

1) Нужно скачать, установить и настроить плагин dagon design sitemap generator. Это самый простой способ, вы закачиваете данный плагин на блог, производите пару настроек и радуетесь.

2) Создание карты сайта без использования плагина. Здесь придется немного потрудиться ручками, но оно того стоит, так как в отличие от плагина, такая карта сайта не нагружает используемый сайтом хостинг (сервер), в результате чего движок сайта wordpress загружается быстрее. Такую карту, вы сможете настроить по своему вкусу и цвету.

СПОСОБ 1. Плагин Dagon Design Sitemap Generator

Первым делом скачиваем этот плагин с официального сайта вордпресс. Затем переходим в админ панель блога и в разделе «Плагины» >>> «Добавить новый» >>> «Загрузка».

В открывшемся окне нажимаем «Обзор» и выбираем место, куда бы сохранен плагин на компьютере. В завершении жмем кнопку «Установить» и ждем пока завершится установка и активация.

Как установить плагин dagon design sitemap generator

Для того, чтобы плагин знал в каком месте ему показать карту сайта wordpress, необходимо вставить данный код:

<!-- ddsitemapgen -->

В админ панели wordpress в разделе «Страница» >>> «Добавить новую» создаете страницу, под названием «Карта сайта» (любое другое название) и в пустое поле для ввода текста вставляете данный код.

карта сайта на движке wordpress

Имеет огромное значение, чтобы добавляемая страница была включена в редакторе "HTML«, а не „Визуально“. В противном случае ничего работать не будет.

html карта

Для того, чтобы настроить плагин DDSitemapGen переходим в раздел админ панели wordpress „Параметры“ >>> „DDSitemapGen“.

панель настроек карты сайта

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

Для карты сайта wordpress можно указать количество записей на странице (по умолчанию стоит значение 50). Если на блоге будет больше записей, тогда карта автоматически разобьется на страницы.

Есть возможность указать, что показывать в карте блога (страницы и публикации), в каком их порядке показывать и задать для них необходимую сортировку.

настройки плагина

Укажите, какой формат (последовательность отображения) даты вам нужен. Отрегулируйте, как будет отображаться навигация (1,2,3,... или „вперед“|»назад"), а также, где ее располагать.

Пропишите путь к файлу xml sitemap, у моего блога он имеет следующий адрес:

http://seoslim.ru/sitemap.xml

И укажите, где показывать ссылку на файл sitemap (в конце каждой страницы или в конце последней страницы).

настройки плагина DDSitemapGen

Если по каким-то причинам вы хотите исключить из карты сайта необходимые для вас статьи, тогда в поле «Исключить страницы» пропишите ID этих страниц.

Для того, чтобы узнать ID страницы наведите курсор на ссылку «Редактировать страницу» и посмотрите внизу в строке состояния номер id (после post.php?post= ). В выбранной на скрине странице id=722.

http://seoslim.ru/wp-admin/post.php?post=722&action=edit

проверяем id страниц

После настройки плагина dagon design sitemap generator не забудьте сохранить сделанные изменения, нажатием кнопки «Записать настройки».

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

1
$t_out .= '<div style="text-align: right"><p style="font-size: 90%">' . DDSG_CREDITS . ' <a title="Dagon Design" href="http://www.dagondesign.com">dagondesign.com</a></p></div>';

убираем левые ссылки

СПОСОБ 2. Создаем HTML карту сайта на WordPress без плагина

Для того, чтобы снизить нагрузку на сервер я у себя на блоге решил отказаться от использования плагина DDSitemapGen и создал вручную HTML карту сайта.

Для того, чтобы ее создать открываем файл functions.php и копируем данный код в любое место между тегами <?php ...... ?>.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
function sp_html_sitemap() {
 $category = true; // показывать блок с постами, false - не показывать, true - показывать
 $categoryDate = true; // показывать дату написания поста, false - не показывать, true - показывать
 $categoryExclude = '352, 7'; // номера категорий через запятую, что надо исключить, в противном случаи оставить переменную пустой (т.е. два опострофа)
 $categoryEmpty = false; // показывать пустые категорий, false - не показывать, true - показывать
 $page = false; // показывать блок со страницам, false - не показывать, true - показывать
 $pageExclude = '1783, 511'; // номера страниц через запятую, что надо исключить, в противном случаи оставить переменную пустой (т.е. два опострофа)
 $author = false; // показывать блок с авторами, false - не показывать, true - показывать
 $authorExcludeAdmin = false; // исключить из списка авторов пользователя с логином admin, false - не искючать, true - исключить
 
 $result = '<div>';
 if ($category) {
 $cats = get_categories(array(
 'orderby' => 'name',
 'hierarchical' => false,
 'exclude' => $categoryExclude,
 'hide_empty' => $categoryEmpty,
 ));
 $result .= '<h1>Посты</h1><ul>';
 foreach ($cats as $category) {
 $result .= '<li><h2><a href="'.get_category_link($category->cat_ID).'">'.$category->name.'</a></h2>';
 $result .= '<ul>';
 query_posts(array('cat' => $category->cat_ID,'showposts'=>1000));
 while (have_posts()) {
 the_post();
 $cat = get_the_category();
 if ($cat[0]->cat_ID == $category->cat_ID) {
 $result .= '<li>';
 $result .= '<a href="'.get_permalink().'" rel="bookmark" title="'.get_the_title().'">'.get_the_title().'</a>';
 $result .= ($categoryDate)?' <span>('.get_the_time('d.m.Y').')</span>':'';
 $result .= '</li>';
 }
 }
 $result .= '</ul></li>';
 }
 $result .= '</ul>';
 }
 
 if ($page) {
 $result .= '<h1>Страницы</h1><ul>';
 $result .= wp_list_pages(
 array(
 'exclude' => $pageExclude,
 'title_li' => '',
 'echo' => false,
 )
 );
 $result .= '</ul>';
 }
 
 if ($author) {
 $result .= '<h1>Авторы</h1><ul>';
 $result .= wp_list_authors(
 array(
 'exclude_admin' => $authorExcludeAdmin,
 'echo' => false,
 )
 );
 $result .= '</ul>';
 }
 
 $result .= '</div>';
 wp_reset_query();
 echo $result;
}

Следующим шагом будет это создание файла sitemap.php. Для этого откройте в вашей теме файл page.php и уберите все ненужное.

html карта блога

Дальше в самом верху пишем данный код:

1
2
3
4
5
<?php
/*
Template Name: sitemap
*/
?>

А в то место, где удалили все ненужное, вставляем вот такой код:

<?php sp_html_sitemap(); ?>

В итоге у нас должен получиться файл sitemap.php со следующим содержимым:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
/*
Template Name: sitemap
*/
?>
 
<?php get_header(); ?>
<div id="content">
 
 <?php sp_html_sitemap(); ?>
 
 </div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Забыл сказать, что по желанию можно преобразить внешний вид карты сайта вставив в файл style.css блога вот такой код (измените его под свой дизайн):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.html_sitemap {
 font-size: 14px;
}
 
.html_sitemap a{
 color: black;
}
 
.html_sitemap h1{
 text-align: center;
}
 
.html_sitemap h2{
 text-align: left;
}
 
.html_sitemap .time {
 color: #999999;
}
 
.html_sitemap ul {
 list-style-type: none;
}
 
.html_sitemap ul li ul {
 margin: 5px 0 5px 20px;
}

После всех проделанных операции переходим в админ панели wordpress в разделе «Страница» >>> «Добавить новую», где создаете страницу, под названием «Карта сайта» и выбираете в настройках «Атрибуты страницы» шаблон sitemap.

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

готовая sitemap карта сайта

На этом я с вами прощаюсь. Скажу, что последнее слово остается только за вами, так как вам решать, как вы будите делать карту сайта, используя плагин или вручную прописывать html код.

P.S. Недавно у меня вышел новый обучающий видеокурс «Как создать блог на WordPress», он стоит того, чтобы вы на него взглянули.

(2 голос., в среднем: 5,00 из 5)
Загрузка...
С уважением, Максим Войтик
Буду рад, если нажмете на любую из кнопок:
Комментарии (33)
  1. Елена в 12:09

    Спасибо. Очень полезная статья. Я новичок в создании сайтов, но проблем не возникло. .ty-agronom.ru

    Ответить
    • MaskoVa в 13:08

      И я не «старичок» , поэтому пока плагином все делаем. :-D

      Ответить
  2. Вадим в 15:48

    Что то код не копируется полностью, только первые 26 строк.

    Ответить
    • Максим Войтик в 18:22

      Можете уточнить какой именно... Я проверил нет никаких проблем.

      Ответить
  3. Виктор в 10:24

    Фигурные кавычки в functions.php не закрыты, исправь.

    Ответить
  4. Виктор в 10:28

    Извиняюсь, скобки.

    Ответить
    • Максим Войтик в 19:04

      извените, но я не понял в каком месте конкретно кавычки не закрыты?

      Ответить
  5. Crack в 04:21

    Всем привет,

    Максим, а вам не кажется, что тега как то многовато? Одного на страницу (для правильной сео оптимизации) вполне достаточно, к примеру: категория, авторы, страницы лучше в h2, а ссылки в h3.

    Ответить
    • Максим Войтик в 01:39

      Немного не понял, какого тега вам кажется что многовато???

      Ответить
      • Crack в 06:09

        H1 тег — заголовок на странице должен быть один или как?

        Ответить
      • Максим Войтик в 12:32

        Да Н1 должен употребляться только один раз. В моем случае это название статьи, дальше я использую Н2 и Н3 заголовки.

        Ответить
  6. Икар(это прозвище) в 17:19

    извините за беспокойства, но у меня не получается удалить ссылку, как удаляю, то выходит ошибка 501 Not Implemented

    The page you are looking for cannot be displayed because a header value in the request does not match certain configuration settings on the Web server.

    Ответить
    • Максим Войтик в 17:33

      Тогда рекомендую сделать карту сайта без плагина, как описано в статье. Удачи.

      Ответить
  7. Андрей в 22:37

    Здравствуйте Максим при активировании Плагина Dagon Design Sitemap Generator весь экран заполнился арабскими буквами,объясните что не так, спасисибо

    Ответить
    • Максим Войтик в 22:54

      Значит у вас стоит неправильная кодировка. Должна быть UTF-8.

      Ответить
  8. Иван в 17:02

    Здравствуйте Максим, я установил на мой сайт плагин «Dagon Design Sitemap Generator» , только мне не нравится ссылка которая стоит ниже «Плагин написан dagondesign.com» Скажи пожалуйста как я могу её удалить ❓

    Ответить
    • Максим Войтик в 18:44

      Внимательней прочитайте эту статью, я рассказал как это сделать можно.

      Ответить
  9. Иван в 19:22

    Очень полезная статья ❗

    Ответить
  10. Елена в 19:06

    Максим, спасибо Вам огромное!! У меня получилось! Я просто счастлива! Изучаю Вашу статью, в голове появляется множество вопросов, и тут же вашей статье нахожу на них ответы.

    Творческих успехов и новых статей!!!

    Ответить
    • Максим Войтик в 19:45

      Спасибо Елена!!!

      Ответить
  11. Виталий в 21:11

    Здравствуйте, Максим!

    Подскажите, пожалуйста, возможно ли создать единую карту для нескольких сайтов, из которых один — основной, а остальные расположены в субдомене основного сайта.

    Все три сайта прикреплены к одной базе SQL

    С уважением, Виталий

    Ответить
    • Максим Войтик в 07:31

      Не могу ответить, так как никогда таким не занимался, да и зачем? Один сайт — одна карта.

      Ответить
  12. Иван в 10:31

    второй способ создания карты сайта, не html, а php.

    Ответить
  13. Дарья в 14:18

    Спасибо за статью!!! Давно искала как убрать ссылку на сайт разработчика. Вот теперь я наконец довела свою карту сайта до совершенства! 😀

    Ответить
    • Максим Войтик в 17:06

      Всегда пожалуйста Дарья, рад был помочь.

      Ответить
  14. Жук Юрий в 17:40

    Тоже этот плагин использовал. Вполне устраивает. Карта сайта, так вообще говорить не стоит. Это неотъемлемая часть ведения блога или сайта. ;-)

    Ответить
  15. Николай в 22:27

    Максим, а можно глянуть на карту сайта твою, ее в меню нет. Или она не отображается, а существует только для поисковиков?

    Я на многих блогах ее использую для поиска информации.

    Ответить
    • Максим Войтик в 19:04

      Как нет, а раздел «Все статьи»? Это она и есть :)

      Ответить
  16. Жук Юрий в 19:15

    Да, вот интересно: одни пишут карта сайта, а другие все статьи. Мне кажется, что второй вариант более интересен.

    Ответить
  17. Вадим в 18:15

    Здравствуйте, Максим!

    Спасибо за прекрасные статьи и конкретно решение для построения карты сайта без плагина!

    Я поменял шаблон и начал «разгружать» блог от плагинов. Недавно заметил, что карта сайта, созданная ранее плагином DDSitemap, почему-то перестала работать. Плагин установлен, шорткод на странице прописан, а на деле показывает пустую страницу. Не знаю почему, может какой-то глюк у плагина, может дело в шаблоне, а может из-за sitemap.xml, который у меня теперь генерится виртуально плагином All In One seo, т.е. ссылка на него работает, а вот файла такого в корне сайта на хостинге нет.

    В итоге снес плагин и заменил кодом. За что Вам спасибо :)

    Кстати, не сочтите за нахальство, но я нашел небольшую неточность. Когда я прописал стили оформления, то они не поменялись. Начал ковыряться в коде и заметил, что код, выводящий карту сайта в файле sitemap, не взят в контейнер div с классом «html_sitemap» :)

    Ответить
    • Максим Войтик в 23:21

      Рад помощь Вадим, очень приятно, что статья еще не потеряла своей актуальности.

      Ответить
  18. Игорь в 18:20

    Никак,не настроюсь сделать карту сайта для блога.

    Статья,как всегда к стати,буду делать с помощью скрипта.

    Ответить
  19. Юрий в 19:56

    Статья действительно не потеряла актуальности.

    Как и было замечено ранее, в коде не хватает класса html_sitemap у div в 11-той строке и ещё класса time у span в коде: $result .= ($categoryDate)?' ('.get_the_time ('d.m.Y').')':'';

    Спасибо за скрипт!

    Ответить
Оставить свой комментарий
Обязательно ознакомьтесь с правилами комментирования!!! СПАМ будет удален!
:) :-D ;-) :-| [star] [good] [present] [flower] [:-))] [:))] [:--_)] [:-|]

© 2011-2017 seoslim.ru, блог Максима Войтика

Внимание! Копирование материала строго запрещено. Соблюдайте авторские права и уважайте труд других людей!