phpBB Google Sitemap Gen
Изучая различные материалы по SEO узнал о существовании файла sitemap, который используют некоторые поисковые роботы для оптимизации индексирования страниц. Хотя почитав форумы и отзывы, сложилось впечатление, что эффект от размещения данного файла не слишком велик, но ничто не мешает его использовать - больше не значит хуже.
Синтаксис файла довольно прост и представляет собой обычный xml-файл с небольшим количеством стандартных тегов, которые описывают каждую страницу в виде ссылки с дополнительными параметрами, из которых особый интерес представляют – частота обновления (<changefreq>) и приоритет (<priority>). Подробно можно почитать на гугле или на официальном сайте протокола.
Сайтом, который был взят как тестовый стенд, но с реальной информацией и определенной посещаемостью, стал – www.v13.ru. Так как это сайт игровой гильдии, то как такового контента на нём нет, но есть форум и несколько страниц с дополнительными игровыми модулями (DKP-таблицы и запись на рейды). И тут я столкнулся с первой проблемой – как отображать в одном sitemap файле статичную и динамическую информацию (ссылки на разделы сайта и ссылки на топики форума).
Всё оказалось довольно просто – помимо самого sitemap, есть так называемый sitemapindex – который ссылается на другие файлы sitemap, но находится все файлы должны в пределах одного домена.
Следующее, что заставило задуматься – как получить файл sitemap для форума phpBB, на котором около десяти разделов и более тысячи топиков. Понятное дело, что делать это руками – дело глупое и неблагодарное, поэтому был применен поиск и найдены несколько скриптов, которые создают файл из данных БД, но при ближайшем рассмотрении все они были отброшены, потому как либо делали слишком много лишнего (неоптимизированные запросы к БД), либо требовали доработки (привязка с имени таблиц по умолчанию).
Решено было написать свой скрипт, который можно скачать по ссылке (phpBB sitemap gen v.0.0.8.rar).
Что его отличает от аналогичных скриптов?
· Автоматическое определение УРЛ форума и имён таблиц в БД
· Выдача разделов и топиков форума
· Определение частоты обновления и приоритета топиков
· Установка простым копированием файла скрипта
Когда писал скрипт, то задумался – по какому критерию определить частоту обновления и приоритет для каждого топика. В итоге решил вычислять частоту обновления от даты последнего комментария (<7 дней – daily, <30 – weekly и т.д.), а приоритет в зависимости от количества просмотров топика в отношении к среднему и максимальному количеству просмотров на форуме.
=========================
Изменения в версии v.0.0.7:
1. Исправлен баг в работе скрипта, при наличии мода Advanced post merging
2. Добавлен учет топиков “прикрепленных” и “объявлений” (+0.1 приоритет)
3. Исправлен баг с доп. слешем (’/') в УРЛ
4. Скрытые и не доступные для публичного доступа разделы форума не попадают в сайтмап.
5. Версия пространства имён обновлена до последней (0.9) версии (xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″)
=========================
Пока что есть пара идей по доработке скрипта - выдача файлов в архивированном (.gz) формате, а так же разбивка на несколько sitemap, если количество топиков > 50000, возможно добавление информации по пользователям.
Все вопросы и пожелания в комментарии или на почту.
Из той же оперы, так что прочти обязательно:

20 июля 2007 в 17:23
> который используют некоторые поисковые роботы для оптимизации индексирования страниц.
Этот sitemap гугловцы придумали, чтобы их пауку было удобнее индексировать сайты, и чтобы ни одна страничка не пропускалась при индексации. Так что задумка неплохая и действует.
21 июля 2007 в 0:53
Кстати говоря, не только гугл использует sitemap.
Пока изучал этот вопрос, наткнулся на сайт, который оповещает (ping) поисковые системы об обновлении sitemap. Там помимо google, присутствуют Yahoo!, askme.com, moreover.com(=MSN), т.ч. пользы ещё больше)
К тому же на форуме phpbbguru.net подали пару идей по улучшению скрипта.
23 июля 2007 в 17:25
Ну да, я сказал, что гугловцы додумались до этого, а использовать-то в принципе каждый может - удобно все-таки для глубокой индексации сайта.
28 июля 2007 в 18:24
http://1zos.uzelok.net/forum/sitemap.xml
Ошибку какую-то выдает.
28 июля 2007 в 23:04
ecolog, вы не могли бы сообщить какая версия MySQL у вас установлена на сервере?
30 июля 2007 в 13:39
mysql 5.0.27-standard
31 июля 2007 в 14:35
Попробуйте поставить вот эту версию (phpBB sitemap gen v.0.0.6b.rar) и, если не сложно, сообщите о результатах.
31 июля 2007 в 17:13
http://1zos.uzelok.net/forum/sitemap.xml,ошибка Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/a1zos/public_html/forum/sitemap.php on line 92
31 июля 2007 в 17:24
phpBB sitemap gen v.0.0.6c.rar
Добавил строчки для дебага. Пожалуйста загрузите их на сайт и скопируйте ещё раз текст ошибок. Теперь там должны появится строки с указанием ошибки в запросе.
31 июля 2007 в 18:04
Unknown column ‘post_created’ in ‘field list’
http://1zos.uzelok.net/forum/sitemap.xml
31 июля 2007 в 18:15
А вот это уже настораживает.
Какой версии у вас движок форума? (Я тестировал под 2.0.x)
Если у вас версия из 3.х, то возможно там несколько другие названия полей.
Можно ли получить результаты следующих запросов (через phpmyadmin, например)
describe вашпрефиксфорума_posts
describe вашпрефиксфорума_topics
?
31 июля 2007 в 19:09
Версия 2.022,префикс форума у меня community,вот где собака зарыта
31 июля 2007 в 22:21
странно, по идее данные берутся из конфига, поэтому вне зависимости от того, какой префикс, запрос должен быть верным. И всё же, если можно, хотелось бы глянуть на describe.
5 августа 2007 в 17:07
DESCRIBE community_posts;# Ряды: 13
DESCRIBE community_topics;# Ряды: 13
Может Ваш мод конкурирует с другими модами?
Цитата:”странно, по идее данные берутся из конфига, поэтому вне зависимости от того, какой префикс, запрос должен быть верным. И всё же, если можно, хотелось бы глянуть на describe.”
Да,это я уже увидел в вашем коде,может просто эти переменные заменить на мои константы,т.е вместо $название переменной,просто вставить community?Обидно,что ваш мод у меня не работает,наверно из-за кофликта с другими модами,думаю это никак не повляет этот мод имеет chmod 755(777 у меня запрещён) и лежит в папке public_html/forum/.Кстати под phpbb3 аналогичный мод уже есть.
С уважением,
ecolog
14 августа 2007 в 2:37
Поддерживаю ecolog.
Ошибка Unknown column ‘post_created’ in ‘field list’
выпадает после
$sql = “SELECT t.topic_id, topic_views, DATE_FORMAT(FROM_UNIXTIME(IFNULL(post_edit_time, post_created)), ‘%Y-%m-%d’) as lastdate,
DATEDIFF( FROM_UNIXTIME( UNIX_TIMESTAMP( ) ) , FROM_UNIXTIME( IFNULL( post_edit_time, post_created ) ) ) as datedif
FROM “.$table_prefix.’topics as t, ‘.$table_prefix.’posts as p WHERE (t.topic_last_post_id = p.post_id)’;
реально в таблице нет такого поля
`post_id` mediumint(8) unsigned NOT NULL auto_increment,
`topic_id` mediumint(8) unsigned NOT NULL default ‘0′,
`forum_id` smallint(5) unsigned NOT NULL default ‘0′,
`poster_id` mediumint(8) NOT NULL default ‘0′,
`post_time` int(11) NOT NULL default ‘0′,
`poster_ip` char(8) NOT NULL,
`post_username` varchar(25) default NULL,
`enable_bbcode` tinyint(1) NOT NULL default ‘1′,
`enable_html` tinyint(1) NOT NULL default ‘0′,
`enable_smilies` tinyint(1) NOT NULL default ‘1′,
`enable_sig` tinyint(1) NOT NULL default ‘1′,
`post_edit_time` int(11) default NULL,
`post_edit_count` smallint(5) unsigned NOT NULL default ‘0′,
14 августа 2007 в 2:42
проблема решается заменой
post_created => post_time
Сейчас работает у меня http://www.ukrbanks.info/forum/sitemap.php
Кстати, спасибо за мод. Давно был нужен, да написать все как-то времени небыло.
14 августа 2007 в 2:45
Проблема решается заменой
post_created => post_time
Кстати, спасибо за мод. Давно нужен был, да все руки не доходили
14 августа 2007 в 11:17
2ecolog, да, видимо либо версия форума у меня старая (может там другие именования столбцов таблицы), либо у вас какой-то мод. Попробуйте прописать жёсткие названия таблиц + переименовать столбец “post_created => post_time”, как советует андрей
2андрей, спасибо за поправку. В скором времени обновлю форум и займусь модификацией мода. Поэтому следите за обновлениями. И пользуйтесь на здоровье)
14 августа 2007 в 12:14
2ecolog, только переименовывать надо в файле “sitemap.php”, а не в базе
14 августа 2007 в 17:50
http://forum.ecologrf.ru/sitemap.xml всё фурычит,как по нотам.
14 августа 2007 в 18:07
только гуглу что-то не нра
Ошибки
Строка: 336 Ошибка разбора
Мы не смогли прочитать Ваш Sitemap. Возможно, он содержит нераспознаваемую для нас запись. Проверьте свой Sitemap перед тем, как передать его повторно. [?] Дата появления: 14.08.2007
22 августа 2007 в 9:18
У меня Google при проверке файла sitemap.php пишет “Неправильный тег XML
Этот тег не удалось распознать. Исправьте его и повторите передачу.
Родительский тег: urlset
Тег: br
Родительский тег: urlset
Тег: b “
22 августа 2007 в 12:39
А ссылочку на свой sitemap.xml дать можете? Мой сайтмап гуглом воспринимается на УРА.
22 августа 2007 в 13:40
могу конечно вот http://www.krasnodon.net.ua/forum/sitemap.xml
22 августа 2007 в 13:50
если с расширением *.xml то выдаёт Ошибка синтаксического анализа XML: неправильный
Адрес: http://www.krasnodon.net.ua/forum/sitemap.xml
Строка 30, символ 27:
а Google пишет Неподдерживаемый формат файла
если с расширением *.php то Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/krasnodo/public_html/forum/sitemap.php on line 92
а Google пишет Неправильный тег XML
Этот тег не удалось распознать. Исправьте его и повторите передачу.
Родительский тег: urlset
Тег: br
Родительский тег: urlset
Тег: b “
22 августа 2007 в 14:15
Мда …. а ты че, просто переименовал sitemap.php в sitemap.xml ?
Да и установленного форума phpBB я у тебя не нашел.
22 августа 2007 в 14:20
Сначала поставь форум phpBB, потом скопируй sitemap.php в корень форума
22 августа 2007 в 14:26
Сорри, форум нашел
Все выглядит правильно
//Выводим ссылку на топик, приоритет, дату последнего обновления, частоту обновлений
$sql = “SELECT t.topic_id, topic_views, DATE_FORMAT(FROM_UNIXTIME(IFNULL(post_edit_time, post_created)), ‘%Y-%m-%d’) as lastdate,
DATEDIFF( FROM_UNIXTIME( UNIX_TIMESTAMP( ) ) , FROM_UNIXTIME( IFNULL( post_edit_time, post_created ) ) ) as datedif
FROM “.$table_prefix.’topics as t, ‘.$table_prefix.’posts as p WHERE (t.topic_last_post_id = p.post_id)’;
замени на
//Выводим ссылку на топик, приоритет, дату последнего обновления, частоту обновлений
$sql = “SELECT t.topic_id, topic_views, DATE_FORMAT(FROM_UNIXTIME(IFNULL(post_edit_time, post_time )), ‘%Y-%m-%d’) as lastdate,
DATEDIFF( FROM_UNIXTIME( UNIX_TIMESTAMP( ) ) , FROM_UNIXTIME( IFNULL( post_edit_time, post_time ) ) ) as datedif
FROM “.$table_prefix.’topics as t, ‘.$table_prefix.’posts as p WHERE (t.topic_last_post_id = p.post_id)’;
22 августа 2007 в 16:00
андрей, спасибо за помощь
заменил теперь Google выдаёт при проверке Неподдерживаемый формат файла
а при запуске файла выдаёт Parse error: syntax error, unexpected T_STRING in /home/krasnodo/public_html/forum/sitemap.php on line 86
это строка из замены $sql = “SELECT t.topic_id, ………
22 августа 2007 в 16:08
скобки не закрылись где-то
попробуй скачать и заменить свой файл тем, который я для себя делал. Замени токо имя моего сайта на свой.
http://www.ukrbanks.info/forum/sitemap.zip
22 августа 2007 в 16:36
андрей, спасибо за квалифицированную и оперативную помощь
теперь всё Ok
Tapac, спасибо за скрипт
31 августа 2007 в 0:58
Не работает, гугл говорит, что ошибка.
Я думаю он должен работать как вот тут http://alive.org.ua/sitemap.xml
Хоть это не форум, но написано правильно, или на форум нужно другой???
31 августа 2007 в 5:21
http://phpbbguru.net/community/viewtopic.php?t=15666
На phpBB автор заходи пожалуйста =)))
без тебя там никак
у меня сайтмап генерит вот так
http://www.cybercore.ru// 2007-08-31 daily 1 http://www.cybercore.ru//index.php?c=3 yearly
и т.п.
как можно исправить?
31 августа 2007 в 11:30
По поводу post_time/post_created
Возможно у Tapacа стоит Advanced post merging и мод заточен под APM. Потому что именно он добавляет такое поле. В стандартной поставке такого поля нет, есть post_time (см. \install\schemas из дистрибутива).
2 Tapac
Кстати, обновлённую версию можно будет увидеть на phpBB Guru?
С уважением, VVVas.
3 сентября 2007 в 16:34
2андрей, спасибо за оперативную поддержку пользователей) Обязательно упомяну тебя в следующей версии скрипта.
2VVVas, да, ты совершенно прав по поводу Advanced post merging, т.к. мод довольно популярный, то наверное добавлю проверку на наличие поля.
В обязательном порядке выложу обновленную версию на пхпббгуру
2Игорь, данный сайтмап тоже верен, но в нём отсутствуют дополнительные поля, которые могут помочь гуглу лучше индексировать страницы.
2forall, спасибо за нахождения бага, добавлю проверку на слеши и спец символы.
2Все, к сожалению был на отдыхе в дали от компьютера, т.ч. не мог своевременно отвечать и исправлять баги.
В ближайшее время (неделя-две) постараюсь докончить новую версию с учётом всех исправлений и добавлю пару нововведений.
Всем спасибо за багтестинг)
6 сентября 2007 в 13:58
Я тут настрочил на досуге по поводу этого мода http://phpbbguru.net/community/viewtopic.php?p=156315#156315
прочтите на досуге.
С уважением, VVVas.
17 сентября 2007 в 21:47
Спасибо за скриптик.
Полезная вещица.
14 октября 2007 в 19:31
а как обьявить что вот она карта форума для поисковых ботов?куда это прописать?
14 октября 2007 в 19:45
Если вы хотите оповестить только Гугл, то лучший способ зарегистрироваться на https://www.google.com/webmasters/tools/ и, добавив свой сайт, указать путь к его сайтмапу.
Ещё удобный вариант - http://www.sitemapwriter.com/notify.php?lang=ru - тут пинг идёт сразу на 4 поисковика.
9 декабря 2007 в 2:06
Хочу поблагодарить автора за очень нужный и полезный мод.
Но все бы хорошо, если бы не это:
локально работает, проблем нет, но в инете полностью работать отказывается, в sitemap выводит только перечень разделов и форумов, а перечень тем выводить отказывается.
вот смотрите сами: http://belorus.by/forum/sitemap.xml
В чем может быть проблема?
31 декабря 2007 в 6:15
hot collage girls…
and spiritual wisdom. Because she can
…
19 января 2008 в 8:54
[url=http://loanlending.info/sarah-michelle-gellar/][b]FREE Sarah Michelle Gellar Sex Scenes Download[/b][/url]
[url=http://loanlending.info/sarah-michelle-gellar/] [img]http://aitcostamhome.info/celeb/sarah-michelle-gellar/2.jpg[/img] [img]http://aitcostamhome.info/celeb/sarah-michelle-gellar/4.jpg[/img] [img]http://aitcostamhome.info/celeb/sarah-michelle-gellar/5.jpg[/img] [/url]
[url=http://loanlending.info/celeb/][b]FREE Celebrities Sex Tapes and Scenes[/b][/url]
[B]Related Keywords, Tags: [/B]
Sarah Michelle Gellar Nude
Sarah Michelle Gellar In Cruel Intentions
Naked Sarah Michelle Gellar
Sarah Michelle Gellar As Buffy
Photos Sarah Michelle Gellar
Sarah Michelle Gellar Photo
Sarah Michelle Gellar Quote Women Thin
Pics Of Sarah Michelle Gellar
Sarah Michelle Gellar Harvard Man Opening Credits
Sarah Michelle Gellar Layouts
Pictures Of Sarah Michelle Gellar Tatoo
Sarah Michelle Gellar See Through
Sex Video Of Sarah Michelle Gellar
Buffy Sarah Michelle Gellar
Sarah Michelle Gellar And Jennifer Love Hewitt
Sarah Michelle Gellar Signed Autograph
Fantasy Of Sarah Michelle Gellar
Sarah Michelle Gellar Making The Video Dirrty
Sarah Michelle Gellar Fucking In Southland Tales Video Clips
Sarah Michelle Gellar Megaupload
Sarah Michelle Gellar Sites Web
Sarah Michelle Gellar Magazine Covers
Sarah Michelle Gellar Wedding Dress
Sarah Michelle Gellar Bound And Gagged
Sarah Michelle Gellar And Vinny Chase
Simply Irresistible Sarah Michelle Gellar
Sarah Michelle Gellar Profil
Alice In Wonderland Sarah Michelle Gellar
Sarah Michelle Gellar Lot
Sarah Michelle Gellar History Mtv Awards With Jack Black
Sarah Michelle Gellar Scene
Sarah Michelle Gellar Cruel Intentions 2
Sarah Michelle Gellar Sex Scene Clip Cruel Intentions
Free Online Nude Pics Sarah Michelle Gellar
Porno Sarah Michelle Gellar
Sarah Michelle Gellar Nude Pic
Bound Gagged Sarah Michelle Gellar Pictures
Kelly Ripa And Sarah Michelle Gellar
Sarah Michelle Gellar In Purple
Sarah Michelle Gellar Pieds
Sarah Michelle Gellar Footnotes
Sarah Michelle Gellar Buffy Pics
Sarah Michelle Gellar Xxl
Sarah Michelle Gellar Sex Tapes
Sarah Michelle Gellar Michelle Gellar
Sarah Michelle Gellar Embarazada
Kidnapped Sarah Michelle Gellar
Sarah Michelle Gellar Chirurgie Esth?tique
Sarah Michelle Gellar Fucking Scooby Doo Pic
Sarah Michelle Gellar Martial Arts
15 августа 2008 в 16:48
А файл то не скачивается, ссылка битая