Создаем карту сайта для Word Press

Рубрики: на WordPress  

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

Идея очень простая: создать карту сайта, где есть ссылки на все страницы сайта. Ведь «золотое правило» – правило трех кликов (чтобы любую страницу сайта можно было найти, сделав всего 3 или меньше кликов от главной страницы). Ну тут и получается – первый клик на карту сайта (ссылка на нее находится на главной странице), а второй клик – на саму статью.

Карта сайта по сути должна представлять из себя просто напросто перечень ссылок на все статьи. В общем-то, не обязательно, чтобы анкорами ссылок были названия статьей – важны сами ссылки как факт.

Перейдем к практике.

Все статьи WordPress’а находятся в таблице wp_posts. То есть – нужно просто выдрать данные оттуда.

Это сделать довольно просто и понятно, но есть одна заминка. У меня не вышло использовать одну и ту же карту сайта для разных блогов на WP – в первом случае URL’ом статьи был ее ID, подставленный в somesite.ru/?p=ID, а во втором ID не играл никакой роли и URL хранился самостоятельно в отдельном поле таблицы (guid).

Ну и еще одна тонкость – нужно выдавать ссылки только на те статьи, которые уже опубликованы и те, которые являются статьями. Последнее, возможно, звучит странно :) Объяснение – WP зачем-то хранит в wp_posts еще и «аттачи» (приложенные файлы) к статьям и еще всякую дребедень.

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

mysql_connect («хост», «логин», «пароль»);
mysql_select_db («имя базы данных»);

$q = mysql_query («SELECT * FROM wp_posts WHERE post_type=’post’ AND post_status=’publish’;»);
while ($str = mysql_fetch_array ($q)){
echo «<a href=\»".$str['guid'].»\»>».$str['post_title'].»</a><br>»;
}

Как видно из кода: запрос делается в wp_posts, выбираются только те записи, которые являются статьями (post_type=’post’) и (AND) уже опубликованы (post_status=’publish’). Дальше тупо выводятся ссылки. Тут тоже замечу – возможно, строить URL Вам придется иным способом (здесь же URL хранится в поле guid и я его просто вывожу).



Отзывов (9) на «Создаем карту сайта для Word Press»

    Andy пишет:


    admin пишет:

    Пустой коммент – это круто, да )


    Как улучшить индексацию сайта поисковиками? » Блог простого программиста пишет:

    [...] интернет на понятном языке.  Карта сайта « Создаем карту сайта для Word Press Лохотрон в сети (не попадайтесь!) [...]


    NoNaMe_909 пишет:

    Для таких целей существуют плагины, к примеру google-sitemap-generator.3.0.3.3 – для ВП …. сам пока не пробовал, но не думаю, что там будет сложней создать такую карту …


    admin пишет:

    Ага. И смотрим на название – гугл-сайт-мап. Яндекс ее еще не хавает. И вообще… Это же блог программиста. Я все предпочитаю делать сам :)


    Skech пишет:

    Вроде нормально яндекс гугловскую сайтмапу хавает. А ещё есть плагинчик DagonDesign Sitemap Generator. Очень прикольная вещица для тех кто программировать не умеет. :wink:


    Информационные технологии и электроника пишет:

    Админу респект за то, что все показывает на реальном коде. Парой это бывает полезней, чем пользоваться чем-то готовым! Поэтому так держать ;) А можно и не только держать, но и сходить на мой сайтец по !информационным технологиям!. Ссори за рекламу :(

    DimoninG: А не надо за рекламу извиняться. Просто не надо ее публиковать. И ссылки в никнейме, так любезно предоставленные мной, вполне хватит.


    Артем пишет:

    Спасибо за статью … Но, воспользовался генератором DagonDesign Sitemap Generator , но работает как-то корявенько … Ушел искать пути решения проблем, не подскажете ?


    отзывы фильмов пишет:

    Хорошо все расписано, но вот у меня такая проблема:

    На сайте используется плагин qTranslate, в карте сайта не отображаются английские записи…

    Как быть?


Оставьте свой комментарий

Теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не спамер и не робот.
Я спамер и робот!

dimoning.ru
SEO и программирование.
  • Рубрики:



  • Рассылка:

  • Дополнительно:

  • По месяцам:

  • Счетчики:

    Яндекс цитирования
  • Спонсоры:


  • dimoning.ru © 2008-2011 г.
    Все материалы авторские, но их можно копировать с указанием прямой ссылки на источник.