Самый быстрый способ продвинуть сайт, получи индивидуальное предложение и подарок!

HTML карта сайта для WordPress без плагинов

 22 июля 2018      
 WordPress      
 Комментариев еще нет      
 186

HTML карта сайта — это отдельная веб-страница, которая содержит список всех страниц и разделов сайта (и ссылки на них!). Очень полезна как для посетителей, так и для SEO, поэтому должна быть на каждом сайте.

WordPress «из коробки» не умеет автоматически создавать карту сайта. Для этого написано множество плагинов. Но реализовать эту функцию можно и не прибегая к дополнительному ПО.

Как создать карту сайта для WordPress

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

/* Подключаем карту сайта */
require_once 'htmlsitemap.php';

Делаем мы это чтобы не захламлять код.

Добавьте следующие строки в файл htmlsitemap.php:

<?php

function mb_htmlsitemap( $atts ) {
    global $post;
    echo "\n" . '<div class="htmlsitemap">' . "\n";
	$cats = get_categories();
	foreach ($cats as $cat) {
		echo '<h2><a href="' . get_category_link($cat->term_id) . '">' . $cat->cat_name . '</a></h2>' . "\n";
		echo '<ul class="htmlsitemap-list">' . "\n";
		$posts = get_posts(array('category' => $cat->term_id, 'posts_per_page' => '-1'));
		foreach ($posts as $post) {
			if(!in_array($post->ID)){
				echo "\t" . '<li><a href="' . get_permalink($post->ID) . '">'."$post->post_title" . '</a></li>' . "\n";
			}
		}
		echo '</ul>' . "\n";
	}
    echo '<h2>Страницы</h2>' . "\n";
	echo '<ul class="htmlsitemap-list">' . "\n";
	$pages = get_pages(array('posts_per_page' => '-1'));
	foreach ($pages as $page) {
		if(!in_array($page->ID)){
			echo "\t" . '<li><a href="' . get_permalink($page->ID) . '">'."$page->post_title" . '</a></li>' . "\n";
			}
		}
	echo '</ul>' . "\n";
    echo '</div>';
}

add_shortcode( 'htmlsitemap', 'mb_htmlsitemap' );

Подправьте стили на свое усмотрение:

/* Карта сайта */

ul.htmlsitemap-list li {
list-style-position:inside;
list-style-type: disc;
line-height: 1.4;
margin: 0 0 0 2%;
}

Как использовать скрипт создания карты сайта

Мой скрипт резервирует шорт-код. Поэтому создаем новую веб-страницу и просто вставляем на нее шорт-код [htmlsitemap]:

HTML карта сайта для WordPress без плагинов

При ее посещении, в моем примере это https://info.net.ru/sitemap/, вы увидите следующее:

HTML карта сайта для WordPress без плагинов

На мой взгляд она выглядит лаконично и симпатично.

Как работает скрипт карты сайта для WordPress

Скрипт создает список ссылок всех записей и страниц сайта группируя их по рубрикам. Если заглянете в код созданной страницы, то увидите следующее:

Рекомендую прочесть:  WordPress JavaScript — как правильно подключить файл скрипта к шаблону сайта

HTML карта сайта для WordPress без плагинов

Плюсы от использования своего PHP скрипта карты сайта

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

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

Благодарности

При написании статьи были использованы следующие источники:

  1. http://kostyakhmelev.ru/texnicheskaya-chast/karta-sajta-wordpress-bez-plagina-legko-i-bystro.html
  2. http://smarticle.ru/kak-sdelat-kartu-sajjta-na-wordpress-bez-plagina/
  3. https://pribylwm.ru/samoobrazovanie/karta-sajta-dlya-wordpress.html
Поделись этой страницей с друзьями!

Прочтите это обязательно

4 бесплатные книги по поисковой оптимизации SEO

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

Поисковая оптимизация seo Далее

Обзор облачных услуг и выделенных серверов от xelent.ru - 2018

Понятие «виртуальная машина» уже перестало быть чем-то экзотическим и далеким. Многие организации, так или ина ...

Обзоры хостинга vds vps xelent Далее

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

2018 © Технический блог
SQL - 90 | 0,189 сек. | 8.51 МБ
доступность сайта