. Как сделать карту сайта для InstantCMS - карта блогов - Зухерница - личный сайт диджея Зухера

 

 

Кто онлайн?
Пользователей: 0
Гостей: 16

Как сделать карту сайта для InstantCMS - карта блогов

18 марта 2011 - Зухер

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

И всё бы ничего, наверное и не сделал бы я этой темы, но нашла коса на камень ))) Когда я применил подобное изделие к Неформатному радио, не понравилась сия штука Яндексу, база данных Неформатки уже давно исчисляется сотнями мегабайт, соответственно и материалов там великое множество. В случае с Неформаткой я получил сообщение о том, что лимит ссылок в 3072 штуки - превышен ))). Вот вам картинка, чтобы не быть голословным )))

Понял, что действия мои не верны и решил распределить карты на несколько штук, конкретно по Неформатке - выделил "блоги гиганты", и большие разделы со статьями, юзеров выделил в отдельную категорию, остальные левые ссылки нам не нужны, перекрёстность внутри сайта и так прекрасно создаётся силами движка, а поисковикам скармливать теги не советую, есть шанс попасть под злощастный АГС - и это не на пустом месте, реально изучал ситуацию. Но эта тема уже для другой статьи, как только проанализирую и стану жутко умным, конечно же со всеми поделюсь основными моментами )))

Меня этот вопрос весьма заинтересовал и пробежался я взглядом по интернету, дабы выяснить какой же все таки разумный минимум надо оставлять для поисковых ботов. Выяснил я, но опять же это голословно, что Гугель отсекает ссылки после первой сотни. Насколько это проверенная информация - утверждать не берусь, но эту магическую цифру я нашел на многих сайтах.

Как будем реализовывать данную вещь?

Скажу сразу, я не делаю вещей интегрированных в движок - мне это не нужно, и на практике скажу, что для личного пользования, всяческие интеграции нахер не надо, если тебе надо сделать это для заказчика, тогда обратись к моим хорошим друзьям на инстанте : Максисофту, Фузу и Р2 - они тебе быстренько за бабло это дело интегрируют, я такой хернёй не занимаюсь, мне это не интересно. Реализацию будем делать по принципу инклюдинга скрипта внутренней функцией "ФАЙЛ= путь до файла"

Сначала предлагаю сделать карту "блога гиганта" - объясню принцип действия. Так как активно пишущих, качественных блогеров на любом сайте не так уж и много, не поленимся пройтись по списку блогов и выписать их ники, лично я сделал так ))) Потом заходим в админку, жмем на пользователей и переписываем их идшники, больше нам ничего не потребуется. У меня получилось всего девять активных блоггеров, которых мне хотелось бы проиндексировать, гавно вопрос - будем индексировать. И так начнём - вот код:

<h1>Заголовок карты Блога</h1>
<p>Здесь какое то изречение о том как хорошо быть блоггером)))</p>
<?php
$razdel=1;  // Сюда вбиваем идшник блоггера

 $inCore = cmsCore::getInstance();
 $inDB = cmsDatabase::getInstance();
 $sql3 = "SELECT * FROM cms_users
              WHERE id=$razdel";
$result3 = $inDB->query($sql3);
if (!$result3)
{echo "<p>Запрос не прошел.<br> <strong>Код ошибки:</strong></p>";exit(mysql_error());}
if (mysql_num_rows($result3) > 0)
{
$myrow3 = mysql_fetch_array($result3);
if ($myrow3['status']==""){$myrow3['status']="Статус не заполнен";}
}
$sql4 = "SELECT * FROM cms_user_profiles
              WHERE user_id=$razdel";
$result4 = $inDB->query($sql4);
if (!$result4)
{echo "<p>Запрос не прошел.<br> <strong>Код ошибки:</strong></p>";exit(mysql_error());}
if (mysql_num_rows($result4) > 0)
{
$myrow4 = mysql_fetch_array($result4);

} ?>
<div id="usertitle">
    <div id="user_ratings">
        <div id="u_karma" title="Карма" class="karma">
                            <div class="value-positive"><table cellspacing="0" cellpadding="2"><tbody><tr><td style="color: green;"></td><td>=<?php echo $myrow4['karma'];?></td><td style="color: red;"></td></tr></tbody></table></div>
                    </div>
        <div title="Рейтинг" class="rating">
            <div class="value"><?php echo $myrow3['rating'];?></div>
        </div>
    </div>

    <div id="nickname" class="con_heading">
        <?php echo $myrow3['nickname'];?>
    </div>
        </div>
        <div class="usr_status_bar">
    <div class="usr_status_text">
        <span><?php echo $myrow3['status'];?></span>
        <span class="usr_status_date">// </span>
    </div>
            <div class="usr_status_link"><a href="/users/<?php echo $myrow3['login'];?>">Перейти в профиль Неформатного...</a></div>
    </div>
        <div id="nickname" class="con_heading">
         </div></div>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="250" align="center" valign="top">
    <div class="usr43_avatar"><img class="usr_avatar"src="/images/users/avatars/<?php echo $myrow4['imageurl'];?>" alt="Аватарка пользователя <?php echo $myrow3['nickname'];?>" title="Аватарка пользователя <?php echo $myrow3['nickname'];?>"/><div>
        <div class="title">E-mail : <?php echo $myrow3['email'];?></div>
        <div class="title">ICQ : <?php echo $myrow3['icq'];?></div>
       </td>
    <td valign="top">
    <?php
$sql = "SELECT id, title, seolink FROM cms_blogs
                                  WHERE allow_who='all'
                                AND user_id=$razdel
                                ORDER BY pubdate DESC ";
$result = $inDB->query($sql);
if (!$result)
{echo "<p>Запрос не прошел.<br> <strong>Код ошибки:</strong></p>";exit(mysql_error());}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
$idblog=$myrow['id'];
$seo1=$myrow['seolink'];
$nameblog=$myrow['title'];
?>
<h1 class="con_heading"><a style="color:#009900;" href="/blogs/<?php echo $seo1;?>"><?php echo $nameblog;?></a></h1><br>
<?php
$sql2 = "SELECT title, seolink FROM cms_blog_posts
                                  WHERE blog_id='$idblog'
                                ORDER BY pubdate DESC";
                                $result2 = $inDB->query($sql2);

if (!$result2){echo "<p>Запрос не прошел.<br> <strong>Код ошибки:</strong></p>";exit(mysql_error());}
if (mysql_num_rows($result2) > 0){
$myrow2 = mysql_fetch_array($result2);
do
{
?>
<div class="blog_entry_title"><a style=" font-size:16px;float:left"href="/blogs/<?php echo $seo1;?>/<?php echo $myrow2['seolink'];?>.html "><?php echo $myrow2['title'];?></a>&nbsp;<br></div>
<?php 
}
while ($myrow2 = mysql_fetch_array($result2));
}
}
while ($myrow = mysql_fetch_array($result));
}
?>
    </td>
  </tr>
</table>

 

Кому лень писать ручками вот файл )))

blogmap.rar| 1,46 Kб| Скачан: 209 раз

 

Таким же способом делаем карты для статей, форумов и юзеров, кто понял принцип сделают сами, кто не понял, выложу позже - скачаете у меня))))

Укладываем их в папочку /includes/myphp затем создаём статью в каталоге который не видно остальным пользователям и прикрепляем к статье "Вставить внешний скрипт"

Вот тут смотрим как работает: Карта Зухероблога

 

Продолжение тут.....

Ещё раз повторюсь, я не претендую на звание супер-пупер кодера. Сделал для себя, у меня работает, если тебе это нужно, бери пользуйся.

 Кошельки тут мои кошельки, если захочешь сказать "спасибо Зухер"

Рейтинг: 0 Голосов: 0 9888 просмотров
Kam # 19 марта 2011 в 00:15 +1
Благодарю, очень полезное привнесение.
Анатолий # 12 апреля 2014 в 20:25 0

Спасибо, хорошая статья! Нашел хороший сайт

 
 

Сайт Захара Гулина © 2007-2017

 

Rambler's Top100           Яндекс.Метрика