Как я делал блог из WordPress (часть 2) или DownloadCounter и WP-stats по-русски

Время идёт, а блог всё стоит, как и стоял — почти голый и с default-темой. Но это только внешне — для себя решил, что сперва стоит настроить те плагины, которые работают независимо от темы, а потом уже подбирать оформление и править его шаг-за-шагом.
Как я писал в первой части своей эпопеи, проблемы не оставили меня после установки. Попытка активировать расширенный TinyMCE (спасибо за наводку Максиму) выдавало в некоторых местах пустые попапы (в advlink и advimage). Бился долго, пока не глянул в список заблокированных AdBlock Plus‘ом элементов на странице. Как оказалось — блокировались скрипты, содержащие в урл слово «popup». Вылечил это недоразумение добавлением фильтра «@@|http://www.cybercore.ru/wp-includes/js/tinymce/*»

От старого движка остался плагин WP-stats, от товарища Lester ‘GaMerZ’ Chans, который занимается выводом различной статистики в одном окне, а так же предоставляет возможность внедрять различные показатели и на отдельные страницы. Раз уж пишу в блоге на русском, то и все страницы предпочитаю видеть на родном языке, поэтому взялся за перевод данного плагина.
Результат работы можно посмотреть на странице статистики, а сам плагин скачать отсюда (wp-stats-2.11.rus.rar).
Стоит отметить, что сам плагин предоставляет лишь общую статистику, как например — количество постов, комментариев и категорий, а для расширенных данных, таких как количество просмотров страниц, количество подписчиков на комментарии и многое другое, используются дополнительные плагины от Lester ‘GaMerZ’ Chans. У себя пока что я применяю лишь WP-PostView, который ведёт учёт просмотров страниц, поэтому русскую версию тоже можно скачать у меня (wp-postviews-1.11.rus.rar).

Раз уж взялся выкладывать файлы для скачки, а уж тем более статистические, то появился некий интерес — а качают ли вообще? Как это выяснить?
А очень просто, как собственно и всё в WordPress, поставить соответствующий плагин и пропускать все ссылки, подсчёт посещения которых хочется вести, через него. Искать пришлось не долго и был установлен DownloadCounter, но и тут меня ждала неудача — после активации он так и не начинал работать — страница в админ.панели появилась, а вот ссылки на файлы не появлялись, сколько я их не добавлял.
После изучения сделал следующие выводы — php-скрипт не верно определяет наличие в БД таблиц, а следовательно и не создаёт её при первой активации. Поправил этот момент.
Теперь файлы начали появляться в списке, но при нажатии на ссылку «Получить код» ничего не происходило. Полез смотреть и править java-скрипт, который не правильно обращался к скрытому DIV на странице.

Дальше — больше. Не знаю кому как, но мне ЧПУ (http://www.cybercore.ru/download/DownloadCounterModRus_1.5.rar) много приятнее строки http://www.cybercore.ru/wp-content/plugins/DownloadCounter/download.php?id=6 и даже укороченный вариант (например у Максима, http://maxsite.org/download.php?file=http://maxsite.org/wp-files/wp-220-up-221-maxsite-org.zip).

Чтобы добиться ЧПУ пришлось внести небольшие изменения в .htaccess в корне сайта и в сам скрипт download.php, на выходе имеем: русскую панель управления и возможность получать УРЛ для файлов в двух вариантах — с указанием имени файла (http://www.cybercore.ru/download/DownloadCounterModRus_1.5.rar) или его номера в списке (http://www.cybercore.ru/download/6), кому как больше нравитсяLaughing.

Скачать, если кто ещё не понял, можно по этой ссылке (DownloadCounterModRus_1.5.rar) , в файле находится описание по установке и настройке. Все замечания и пожелания пишите в комментариях.

П.С.: Теперь буду отслеживать скачки Laughing


Остальные части из серии «Как я делал блог из WordPress»:
Часть 1 — Нахрена оно вообще надо?

Как я делал блог из WordPress (часть 1) или Нахрена оно вообще надо?

Читать — полезное занятие. С этим никто спорить не станет, вот и читаю я последнее время блоги таких людей как Сергей Жуковcкий, Давыдов. Увлекательно, а главное живо и полезно пишут. И что интересно, особо живо читаются отчёты о прибылях с партнёрок и сторонних проектов. Ну что тут скажешь, тоже загорелся «финансовой независимостью» (как много в этой фразе и как часто её в последнее время употребляют везде и всюду) и, впитав некоторый объём информации, по-новому взглянул на свой недоблог — сложилось не самое хорошее впечатление — да, красивенько, но не функционально и большинство советов более опытных блоггеров, как то — добавлять после каждого поста кнопки подписки на RSS, теги, ссылки на соц.закладки, у меня не выполняются.

Стал копать глубже — воспользовался Гугловым «Инструментом для веб-мастеров», который выявил странный глюк в движке WordPress (2.0.5) — ссылки на категории, в которых содержались заглавные буквы (например, AJAX), выдавали 404 ошибку. Долго думать и сомневаться не стал, т.к. давно уже положил глаз на новый релиз WordPress под номером 2.1.1, переведенный к тому времени Максимом. Скачал архив и…

…И понеслось. Делал всё по шагам, чтобы «уж точно», но естественно не прошло без эксцессов.
До этого у меня стоял WordPress с Windows-1251 кодировкой, а в новой 2.1.x ветке, из-за наличия множества AJAX-вставок, все переведено в UTF-8 (если кто не в курсе, то все данные в AJAX передаются именно в этой кодировке). Максим провёл огромную работу, чтобы облегчить переход от win-версии к utf-8 и отдельно описал это в readme, прилагаемом к архиву. Выполнив всю необходимую последовательность действий и стартанув сайт, узрел крякозябры. Посмотрел в FireBug в meta и оказалось, что кодировка в header так и отдаётся Windows-1251, а вот контент уже в UTF. Пришлось лезть в БД и в таблице wp_options в столбце option_name искать строку с ‘blog_charset’ , в которой как раз и стояла старая кодировка.
После изменения всё якобы стало хорошо, во всяком случае текст стал читаемым. Полез в админскую панель, ввёл логин и пароль и… «Вы не имеете достаточно прав для доступа к данной странице». Снова — читать форум, читать readme — «Если и после этого WordPress выдает сообщени об ошибке, то откройте файл wp-config.php и в самом конце файла уберите комментарий («//») со строчки: require_once(ABSPATH . ‘wp-upgrade-all.php’);maxsite_wp_upgrade();». Не повторяйте моей ошибки и не забудьте её (строчку) потом закомментровать.

Дальше-больше, естественно старая тема Vistered Little 1.6 (локализация), отказалась работать с новым движком (это меня не слишком расстроило, т.к. всё равно думал его сменить на нечто менее броское), но вот то, что Advanced TinyMCE Editor перестал корректно работать с FireFox, выдавая вместо окна для редактирования ссылок пустую область, меня убило.

О том, как я боролся с этой проблемой, настройке разных плагинов для WordPress, а так же о идеях — читайте в следующих выпусках.


Остальные части из серии «Как я делал блог из WordPress»:Часть 2 — «DownloadCounter и WP-stats по-русски»

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, возможно добавление информации по пользователям.
Все вопросы и пожелания в комментарии или на почту.

EQDKP, PHPRAID и локализация

По просьбе ГМа и прочих трудящихся моей гильдии Vault Thirteen пришлось вновь взять в руки ФТП-клиент и ZDE и заняться настройкой модулей, без которых не обходится ни одна более-менее серьёзная гильдия в World of Warcraft: DKP-таблицы и календаря рейдов.
Опыт установки и настройки данных модулей имелся изрядный и по сути требовалось лишь обновить их до новых версий, потому что в дополнении к WoW — Burning Crusade появились новые рассы и соответственно старые таблицы уже не подходили. Так же ДКП-мастер жаловался, что новый модуль для учёта рейда (CTRaidTracker) выдаёт данные в формате не поддерживаемом серверной частью модуля.
Первым делом полез на офф.сайты движков и стал смотреть много ли исправлений произошло за последнии пол года. Оказалось, что не мало — на www.eqdkp.com вышла версия для БК, а так же обновление модуля для импорта, на www.phpraider.com вообще появился новый движок, но увы — платный. Пришлось качать последнюю версию старого, который всё равно покрывает 80% нужд гильдии.
Основная сложность была не в установке и настройка (step-by-step), а в подключении модуля отображения тултипов с вещами и из статистикой, а так же локализации движков и тематических шаблонов (в основном это шаблон WowMoonclaw), потому как по умолчанию мало где стоит нужная кодировка. Так же при тестировании были обнаружены мелкие «баги», например, не работающий механизм сессий в EQDKP при импорте строки рейда.
В общем результат можно пронаблюдать тут и тут (честно говоря не совсем нравится шаблон, скорее всего переделаю из старого под новую версию)

Что хотелось бы добавить — если есть необходимость, то со временем могу выложить полность переведенные файлы к соответствующим движкам, включая шаблоны.

И немного рекламы — если вам нужно настроить эти или любые другий движки для своей гильдии, то могу заняться этим за определенную мзду. Писать можно на defy[@]inbox.ru или оставлять заявку на www.webspectrum.ru

Локализация скина и изменения в добавлении меню

Сделал первую версию локализации скина Vistered Little, ещё стоит проверить орфографию и смысловые моменты, но текущую версию перевода можно скачать по этой ссылке.

В процессе локализации скина и освоения движка WordPress наткнулся на такой неприятный момент, как добавление кирилической Рубрики (категории) через «быстрое меню» при создании записи.
Причём удивило то, что добавление в меню «Управление > Рубрики» проходило нормально.

Исследование кода позволило побороть этот недуг, а решением я хочу поделиться с вами.

Читать далее Локализация скина и изменения в добавлении меню