Скрипт php автоматическое построение sitemap. Что же это такое- sitemap

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

Что же это такое- sitemap ?

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

Как создать sitemap.xml?

Есть куча сервисов по созданию карты сайта. Я не собираюсь их перечислять: побарабань пальцами по клавиатуре, и добрый дядя гоша или яша через секунду выдаст тебе с десяток сервисов. Но здесь есть минусы: обычно, эти сервисы делают карту не более 500 страниц, реже- 1000, а если твой сайт содержит более? Тогда давай денюжку. Но мы ж не будем за "здорОво живешь" расставаться со своими кровными! Тем более все равно есть неудобство: нужно будет каждый раз заходить на этот сервис, создавать карту, качать ее к себе... Жуть, короче.

Есть еще способ: существует масса программ для создания sitemap, однако за такую утилиту придется отдать порядка 20 американских рублей, что меня лично тоже не устраивает. Ты уже в курсе, уважаемый читатель, что я- самое ленивое существо на этом свете, а раз ты читаешь все это и до сих пор не перелистнул страницу- значит мы близки по духу. Поэтому я выбрал самый легкий путь, которым и поделюсь с тобой. Мы просто создадим php- файл, который будет брать всю необходимую информацию из базы MySQL, и выводить ее. А роботу наврем, что это файл.xml, ему-то какая разница... Итак, поехали. Создаем файл sitemap.php с примерно таким содержанием:

  1. require_once "db.php" ;
  2. header ("Content-type: application/xml" ) ;
  3. echo "nn" ;
  4. echo " n" ;
  5. $urladdr = "http://" . $_SERVER [ "HTTP_HOST" ] . "/" ;
  6. $result = mysql_query ("SELECT * FROM video ORDER BY video_id DESC" , $db )
  7. or die (mysql_error () ) ;
  8. $rows = mysql_num_rows ($result ) ;
  9. if ($rows > 0 ) {
  10. while ($data = mysql_fetch_array ($result ) ) {
  11. echo "tn" ;
  12. echo "tt" . $urladdr . "video.php?act=video&video_id=" . $data [ "video_id" ] . " n" ;
  13. $date = date ("Y-m-d" , $data [ "video_data" ] ) ;
  14. echo "tt" . $date . " n" ;
  15. echo "ttdaily n" ;
  16. echo "tt0.7 n" ;
  17. echo "t rn" ;
  18. echo " n" ;

Надеюсь, ты сам сможешь изменить названия таблиц и полей, к которым нам необходимо будет обращаться, а также выводимый адрес. Данную операцию можешь повторить столько раз, сколько тебе угодно, только меняй названия таблиц и адреса. Далее- обманываем робота: пусть он думает, что видит файл.xml, а не.php, хотя ему, в общем-то, фиолетово: он съест и пых. Открываем(или создаем в простом текстовом редакторе, если его еще нет) файл .htaccess , и добавляем в него следующие строчки:

RewriteEngine on

RewriteRule ^sitemap.xml$ sitemap.php [L]

Все, робот нагло обманут нами и видит теперь файл sitemap.xml вместо sitemap.php, который, кстати, не забудь кинуть в корень сайта. Видит он примерно следующее:

Код: XML

http://www.твой_сайт.ru/video.php?act=video&video_id=5

2013-01-01

daily

0.7

А так как у нас включен цикл while, то скрипт выведет все ссылки, на которые есть id.

Ну и последний штрих- сообщим паукам, что эта карта у нас, наконец, появилась. Открываем robots.txt (если его еще нет- создаем), и добавляем строчку

Код: ROBOTS

Host: www.твой_сайт.ru

Sitemap: http://www.твой_сайт.ru/sitemap.xml

Вот, в общем, и все, уважаемый читатель. Не забывай только, что одна карта сайта может быть размером не более 10 Мб или 50 000 ссылок. Если их у тебя больше- придется разбивать sitemap на несколько частей, но об этом- в другой раз. Благодарю за внимание.

01 Фев 2012 / Дарья Рыбалтович

В данной статье я постараюсь рассказать, как упростить создание и обновление файла sitemap.xml с помощью небольшого скрипта на PHP. Обязательным условием для работы данного скрипта является наличие на сайте базы данных в формате MySQL. Если же ваш сайт написан без использования баз данных, то, по идее можно модифицировать этот скрипт для прохода по дереву папок, но это будет куда больше работы, так что оставляю это на усмотрение фанатов.

Что такое карта сайта sitemap.xml?

Наверняка, посещая различные интернет ресурсы, вы сталкивались с пунктом меню «Карта сайта» или с вот таким значком - . Так вот, это все нужно и хорошо, но это – для пользователей. А наша с вами задача сделать тоже самое, но для поисковых роботов. Файл sitemap.xml не виден пользователям и выполняет чисто технические задачи.

Sitemap (карта сайта) – это специальная структура данных в формате XML (Яндекс также поддерживает текстовый формат), которая содержит на одной странице ссылки на все страницы вашего сайта. С ее помощью можно заставить поисковик максимально быстро проиндексировать все страницы вашего сайта. Кроме того, вы сможете указать, какие страницы на сайте являются более важными, задав им приоритет.

Cоздание sitemap.xml вручную

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

Ниже приведен пример файла Sitemap, в котором содержится только один URL-адрес и использованы все необязательные теги. Необязательные теги выделены курсивом.

Сначала опишем заголовки файла и корневую директорию:

$zag = "\n\n\t\t0.8\n\t\n"; $end = ""; //создадим соединение с базой и выберем нужные нам записи из таблицы require_once("constants.inc.php"); //подключаем файл с константами соединения mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD) or die("Не могу создать соединение "); mysql_select_db(DB_NAME) or die(mysql_error()); $result = mysql_query ("SELECT url, priority, modify FROM `info` WHERE `priority`<>"0" ") or die (mysql_error()); //выбираем из таблицы все записи while ($row = mysql_fetch_assoc($result)) { $str1 = "\t\n\t\t".$url.$row.".html\n"; //адрес страницы, если есть страницы во вложенных папках, которые надо проиндексировать, то перед переменной $url можно добавить переменную с категорией $str2 = "\t\t".$row["priority"]."\n"; //приоритетность $str3 = "\t\t".$row["modify"]."\n"; //дата изменения страницы $str4 = "\t\n"; $str = $str.$str1.$str2.$str3.$str4; //собираем итоговую строку. } $str = $zag.$str0.$str.$end;

Теперь добавим обработчик файла:

$file = "./sitemap.xml"; //адрес, куда запишем файл (я пишу в корень) if(!$handle = fopen($file, "w")){ echo "Cannot open file ($file)"; exit; } if (fwrite($handle, $str) === FALSE) { echo "Cannot write to file ($file)"; exit; } echo "Success"; fclose($handle);

В итоге наш файл будет выглядеть так:

\n\n\t\t0.8\n\t\n"; $end = ""; require_once("constants.inc.php"); mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD) or die("Не могу создать соединение "); mysql_select_db(DB_NAME) or die(mysql_error()); $result = mysql_query ("SELECT url, priority, modify FROM `info` WHERE `priority`<>"0" ") or die (mysql_error()); while ($row = mysql_fetch_assoc($result)) { $str1 = "\t\n\t\t".$url.$row["from"].".html\n"; $str2 = "\t\t".$row["priority"]."\n"; $str3 = "\t\t".$row["modify"]."\n"; $str4 = "\t\n"; $str = $str.$str1.$str2.$str3.$str4; } $str = $zag.$str0.$str.$end; $file = "./sitemap.xml"; if(!$handle = fopen($file, "w")){ echo "Cannot open file ($file)"; exit; } if(fwrite($handle, $str) === FALSE) { echo "Cannot write to file ($file)"; exit; } echo "Success"; fclose($handle); ?>

Загружаем файл на сервер и запускаем из браузера. Если все сделано правильно, получаем сообщение "Success" и наслаждаемся результатом.

Куда дать знать о sitemap.xml поисковикам

Обычно файл sitemap.xml загружается в корневую папку сайта. Но, при желании, его можно загружать в любую, доступную через браузер папку сайта. Далее, необходимо прописать путь к файлу sitemap.xml в файле robots.txt .

Если на вашем сайте ещё нет файла robots.txt , то нужно создать его минимальную версию, полностью разрешающую всем поисковикам сканирование всего сайта. Для этого нужно сделать файл всего из двух строчек:

User-agent: * Allow: /

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

Sitemap: http://сайт/sitemap.xml

В данном случае файл sitemap.xml находится в корне сайта и доступен поисковым роботам.

Метки: СЕО, Сайтостроение

С помощью нашего генератора карты сайта создайте файлы в формате XML, которые могут быть представлены в Google, Яндекс, Bing, Yahoo и других поисковых системах, чтобы помочь им индексировать ваш сайт.

Сделайте это за три простых шага:

  • Введите полный URL веб-сайта в форму.
  • Нажмите кнопку "Начать" и дождитесь, пока сайт полностью просканируется. При этом Вы увидете полное количество работающих и неработающих ссылок.
  • Нажав кнопку "Sitemap.xml", сохраните файл в удобном месте.

  • Sitemap – это карта сайта в формате XML, который В 2005 году поисковик Google стал использовать для индексации страниц сайтов. Файл Sitemap представляет собой способ организации веб-сайта, выявление адреса и данные по каждому разделу. Ранее карты сайта в основном были направлены для пользователей сайта. Формат XML был разработан для поисковых систем, что позволяет им найти данные быстрее и эффективнее.

    Новый протокол Sitemap был разработан в ответ на увеличения размера и сложности веб-сайтов. Бизнес-сайты часто содержат тысячи продуктов в своих каталогах, популярность блогов, форумов, досок объявлений вынуждают вебмастеров обновлять свои материалы, по крайней мере один раз в день. Поисковым системам все труднее отслеживать весь материал. Через протокол XML поисковые системы могут более эффективно отслеживать адреса, оптимизируя их поиск путем размещения всей информации на одной странице. XML также показывает, как часто обновляется определенный веб-сайт, и записывает последние изменения. XML карты не являются инструментом для поисковой оптимизации. Это не влияет на ранжирование, но это позволяет поисковым системам сделать более точные рейтинги и поисковые запросы. Это происходит путем предоставления данных, удобных для считывания поисковыми системами.

    Общее признание протокола XML означает, что разработчикам веб-сайтов больше не нужно создавать различные типы карт сайта для различных поисковых системах. Они могут создать один файл для представления, а затем обновить его, когда они внесли изменения на сайте. Это упрощает весь процесс тонкой настройки и расширения веб-сайта. Сами Вебмастера начали видеть преимущества использования этого формата. Поисковые системы ранжируют страницы в соответствии с релевантностью содержания конкретных ключевых слов, но до формата XML часто содержимое страниц не было правильно представлено. Это часто расстраивает вебмастерам, которые понимают, что их усилия по созданию веб-сайта были оставлены незамеченными. Блоги, дополнительные страницы, добавление мультимедийных файлов занимают несколько часов. Через файл XML эти часы не будут потрачены впустую, их увидят все известные поисковые системы.

    Чтобы создать свой Sitemap в формате XML и держать поисковые системы в курсе всех изменений вашего сайта, попробуйте наш бесплатный генератор карты сайта.



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: