Карта сайта демотиваторЗдравствуйте, в сегодняшней статье я расскажу про создание карты сайта wordpress плагином Google XML Sitemaps и Dagon Design Sitemap Generator, а так же как можно обойтись без плагинов при создании карты сайта. Для тех, кто сталкивается с данным понятием впервые, я немного поясню, карта сайта — это краткое содержание сайта с разделением по дате или по разделам.

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

Создание карты сайта плагином wordpress

С начало поговорим про проверенный мной вариант создания карты сайта плагином. Для этого вам необходимо залить на хостинг два плагина — Google XML Sitemaps и Dagon Design Sitemap Generator и активировать или в административной панели во вкладке плагины нажать на закладку «добавить новый» и ввести нужный вам плагин, после чего его установить.

После того как активировали плагины во кладке «Настройки» в административной панели кликаете на XML Sitemaps и в появившемся окне вверху нажимаете создать карту сайта. Остальные настройки изменять не надо, если хотите, можете поиграться с ними, но и базовые настройки грамотно подобраны.

Далее воспользуемся вторым плагином, для этого создаем новую страницу и называем её карта сайта или по-другому и в режиме html верстки вставляете следующий код:

<!-- ddsitemapgen -->

В режиме предпросмотра вы можете наблюдать вашу карту сайта. Так же в административной панели во вкладки настройки при клике на DDSitemapGen вы можете изменить настройки, но и их я не сильно рекомендую менять.

Создание карты сайта без плагинов

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

Автор способа Тимур и его блог про альтернативный взгляд на wordpress в своей статье про вывод всех постов по месяцам, он предлагает добавить в файл function.php  следующий код:

/* Функция вывода постов по месяцу.
----------
* Параметры:
* $show_comment_count (0) — показывать ли колличество комментариев. 1 — показывать.
* $before ('<h4>') — HTML тег до заголовка (названия месяца).
* $after ('</h4>') — HTML тег после заголовка.
* $year (0) — огриничить вывод годом. Если указать 2009, будут выведены записи за 2009 год по месяцам
* $post_type ('post') — тип поста. Если нужно вывести нестандартный тип постов (отличный от post)
* $limit (100) — ограничение количества выводиммых постов для каждого месяца. При большой базе, создается сильная нагрузка. Укажите 0 если нужно снять ограничение
----------
Пример вызова: <php echo get_blix_archive (1, '<h4>', '</h4>'); ?>
*/
function get_blix_archive ($show_comment_count=0, $before='<h4>', $after='</h4>', $year=0, $post_type='post', $limit=100){
global $month, $wpdb;
$result = '';

if ($year) $AND_year = « AND YEAR (post_date)='$year'»;
if ($limit) $LIMIT = « LIMIT $limit»;
$arcresults = $wpdb->get_results ("SELECT DISTINCT YEAR (post_date) AS year, MONTH (post_date) AS month, count (ID) as posts FROM " . $wpdb->posts . « WHERE post_type='$post_type' $AND_year AND post_status='publish' GROUP BY YEAR (post_date), MONTH (post_date) ORDER BY post_date DESC»);

if ($arcresults){
foreach ($arcresults as $arcresult){
$url  = get_month_link ($arcresult->year, $arcresult->month);
$text = sprintf ('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
$result .= get_archives_link ($url, $text, '', $before, $after);

$thismonth = zeroise ($arcresult->month,2);
$thisyear = $arcresult->year;

$arcresults2 = $wpdb->get_results ("SELECT ID, post_date, post_title, comment_status, guid, comment_count FROM « . $wpdb->posts . „ WHERE post_date LIKE '$thisyear-$thismonth-%' AND post_status='publish' AND post_type='$post_type' AND post_password='' ORDER BY post_date DESC $LIMIT“);

if ($arcresults2){
$result .= „<ul class=\“postspermonth\»>\n";
foreach ($arcresults2 as $arcresult2) {
if ($arcresult2->post_date != '0000-00-00 00:00:00') {
$url       =  get_permalink ($arcresult2->ID); //$arcresult2->guid;
$arc_title = $arcresult2->post_title;

if ($arc_title) $text = strip_tags ($arc_title);
else $text = $arcresult2->ID;

$result .= «<li>». get_archives_link ($url, $text, '');
if ($show_comment_count){
$cc = $arcresult2->comment_count;
if ($arcresult2->comment_status == «open» OR $comments_count > 0) $result .= « ($cc)»;
}
$result .= «</li>\n»;
}
}
$result .= «</ul>\n»;
}
}
}
return $result;
}

После необходимо создать страницу в режиме html вставить следующий код:

<?php echo get_blix_archive (1, '<h4>', '</h4>'); ?>

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

Для новичков и не только я рекомендую воспользоваться моим вариантов с использованием плагинов, который я и использую на этом блоге ahawks.ru. Для него всего лишь нужно установить два плагина и перекопировать код и все. Решайте сами использовать для создания карты сайта плагин или код, в обоих случаях есть свои плюсы.

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

Делюсь жирными ссылками, ссылка будет храниться 48 часов, после чего она удалиться, поэтому подпишетесь на RSS ленту, чтобы следить за всеми моими новыми статьями и собирать жирные ссылки.

***.de ТИЦ 500 ПР 3, переходим по ссылки и регистрируемся, заполняем нужные поля и добавляем в аддурилку.

Видео по созданию карты сайта от Евгения Попова, который я нашел на рутубе.