Отчёт о результатах переезда на WordPress 2.6

Дорогой читатель, если ты какими-то судьбами попадаешь на мой блог, а не просто пролистываешь посты в рсс-читалке, то, наверное, заметил некоторые изменения на блоге:
1. Страницы отдаются быстрее (во всяком случае у меня это так)
2. Из сайдбара исчез Блогролл и добавились виджеты популярных сообщений. Думаю, вместо блогролла просто сделать страничку ссылок ан хорошие блоги, хороших людей.

Это то, что можно заметить на первый взгляд и то, что, как говорится, радует.
Если кто не понял, то я перенёс блог на последнюю версию движка WordPress 2.6, так как на тестовом сайте уж очень мне он понравился своим новым ентерфейсом. Но не всё так гладко с переносом, как кажется, и ниже я расскажу о проблемах, с которыми столкнулся и которые пока не полностью решены. Кстати, на некоторые из них мне указали именно читатели (спасибо Ольге), так что будьте бдительны и сообщайте обо всех «глюках».

Перенос я делал через Экспорт — Импорт средствами WordPress (это когда создаётся WXR файлик (WordPress eXtended RSS)), предварительно сделав полный бэкап как базы, так и файлов. После чего удалил все таблицы и файлы на сервере, залил WordPress 2.6 PowerPack, поднастроил и импортировал файл. Вот что из этого получилось:

Проблема 1. — При импорте продублировались рубрики.
Вообще с рубриками какая-то странная вещь, мало того, что после импорта вылезли дубли, так ещё и рубрики, бывшие пустыми, самопроизвольно присвоились некоторым постам.

Взять к примеру рубрику Forex (скоро я её потру, так что может ссылка будет вести в никуда). Да, я одно время хотел попытаться поиграть с Форексом и писать отчёты про это в блог, но потом «забил», создав пару черновиков, но не опубликовав их. Теперь же рубрика Форекс вылезла с постом о «Как заставить работать устаревший плагин с новым FireFox» 😀
Мысли: Тут видимо сыграл роль плагин RusToLat, который при импорте не посмотрел, что у рубрик прописаны ручками названия на англ, а сделал повторную работу по транслитерации с русского на английский. Так это или нет — покажет практика.
Решение: Скорее всего я буду пытаться «перезалить» файл экспорта и попробую вкл/выкл плагин RusToLat. Если есть какие-то другие соображения — пишите.

Проблема 2. — Обрезались посты.
Заметила это Ольга. В посте про «Обзор Хостингов», где шла интересная дискуссия и я добавил ещё около 5 хостеров в список, произошло «обрезание» на McHost, причём посреди абзаца. И, что очень занимательно, все посты и/или комментарии, которые идут после него на одной странице, выделяются жирным (strong). Это отчётливо видно тут (прокрутите страницу вниз).
Мысли: Тут у меня подозрение на попавший в импорт «спец.символ», который WordPress решил пропустить, одновременно похерив остальную часть текста.
Решение: Сегодня из дома буду пытаться повторно импортировать посты и за одно проверю, что и как там в тексте. Если не получится, то внесу изменения вручную или, как посоветовала Ольга, сделаю второй обзор хостингов, состоящий исключительно из новых хостеров.

Проблема 3. — Проблемы с кодировкой в «title» рубрик.
Ну, думаю тут корни всё оттуда же (см. Проблема 1). Чтобы понять, о чём речь, зайдите в любую рубрику на русском языке (к примеру, Локализация) и посмотрите в заголовок браузера, там будут иероглифы.
Решение: пока не знаю, но, надеюсь, грамотный импорт это исправит. До этого база была в Win-1251 кодировке, а теперь в UTF-8, но т.к. экспорт-импорт делается в UTF, проблем по идее быть не должно.

Проблема 4. — отображение кодов программ.
Хотите узнать «Как сделать тему widget совместимой»? Фиг вам, а не исходные коды.
Мысли: тут всё ясно. Я использовал для «подсветки» исходников плагин CodeHighlighter, но он меня исключительно не устраивал в последнее время. А без него все тэги, записанные в <pre>, обрабатываются браузером, и вы видите «пустоту»
Решение: я уже нашёл неплохой плагин, но не успел его установить. Если всё пойдёт как надо, то напишу/переведу обзор подобных плагинов для подсветки синтаксиса.

Проблема 5. — Глюки с кодировкой FeedBurner у основного фида.
Сейчас вы это уже пронаблюдать не сможете, но пару дней назад, возможно, ваша рсс-читалка выдала вместо русского текста моих постов знаки вопроса (??????).
Мысли: Долго не мог понять, в чём дело, грешил на сам фидбёрнер, но как оказалось проблемка вылезла из-за моих «шаловливых» ручек. Подсказка — основной фид не проходил валидацию и отдавался в непонятной кодировке.
Решение: оно довольно простое, но всё равно выложу его отдельным постом. Совсем скоро, честно-честно.


Пока что навскидку ничего больше не вспоминается из проблем, но есть кое-что, о чём хотелось бы написать:
1. Я отключил нафиг капчу и оставил только Akismet, но пока что спам только СМОшный лезет, а остальной вроде ловится Акисметом. Думаю, те, кто любят комментировать (за что им спасибо), оценят это. AJAX Comments пока не ставил, т.к. думаю всё же обойтись другим плагином.
2. Не забывайте голосовать за посты, если они действительно полезны, а если не полезны, то «закапывайте», чтобы и другим глаза не мозолили.
3. Из плагинов статистики оставил только Гугл Аналистикатор, т.к. ощущение, что FireStats нереально тормозил блог почти оправдалась, а в Гугле вся необходимая информация для меня имеется.
Кстати, если у вас стоит Аналистикатор, то советую отключить «Outbound link tracking». Я заметил, что этот трэкинг вставляется и в рсс-фид, а валидатор не очень хорошо «кушает» onclick в ссылках. Возможно, это можно как-то исправить, но я ещё не смотрел.

И напоследок — буду очень признателен всем, кто сообщит о прочих недостатках, глюках и уродствах, которыми ещё, я уверен, кишит сайт. Например, куча лишних скриптов подключаются в хэдере там, где это совершенно не нужно, разбивка на страницы работает исключительно на главной, а в рубриках уже нет (но это конечно дело быстро поправимое).

В общем, до скорых встреч и, будьте уверены, все комментарии к этой и прочим записям, которые были сделаны в последние два дня (после переезда на WordPress 2.6) будут перенесены после нового импорта.

[Безопасность] Уязвимость в Wp Downloads Manager 0.2

По сведениям от BlogSecurity, плагин Downloads Manager от Giulio Ganci (не путать с WP-DownloadManager от ЛестерЧана) содержит в себе уязвимость, позволяющую злоумышленнику удалённо загрузить и выполнить на сервере произвольный php-скрипт.

А всё потому что плагин не проверяет расширение загружаемых файлов, а, следовательно, выполнив парочку простых скриптов, можно узнать как пароли от БД, так и получить доступ к файлам на сервере.

Если вдруг у вас стоит данный плагин, то желательно снести его от греха подальше. Хоть уязвимость и найдена в версии 0.2 (а текущая 1.0 RC1), но сохраняется вероятность наследования эксплойта новыми версиями.

wp Download Manager small

А вот так выглядит сам плагин 😀

7 полезностей, которые можно сделать после установки WordPress 2.6

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

Теперь поделюсь с вами подборкой небольших фишек, найденных в интернете на буржу-сайте, которые можно сделать с чистой (или обновлённой) установкой WP 2.6, дабы жить было проще и веселее.

Полезность 1. Измените папку по умолчанию для загрузки изображений

По умолчанию, как и прежде, WordPress будет помещать все изображения в папку wp-content/uploads. Но вы можете указать любое другое место, в том числе и поддомен для хранения картинок. Это сократит урл к ним, а так же обезопасит вас от потери файлов при обновлении блога. И при бэкапе вам не надо будет копировать весь архив картинок, а лишь рабочие файлы блога и плагинов.

Так же стоило бы убрать галочку перед «Сортировать загруженные файлы в папках по месяцу и году».

Полезность 2. Удалите лишний код из шапки темы

Про это писано и переписано и даже есть отдельные плагины. Речь естественно об указании WordPress’ом в шапке (header) сайта своей версии, что является буквально вызовом хакерам — вот я такой весь не обновлённый и дырявый, ломайте меня сколько влезет.
Чтобы удалить строку
<meta name="generator" content="WordPress 2.х" />, добавьте в файл functions.php, своей темы, следующее:
<?php remove_action('wp_head', 'wp_generator'); ?>

Полезность 3. Запретите людям просматривать содержимое ваших папок

Наверное, вам попадались сайты, зайдя на которые вместо стандартной html-страницы, вы видели некое подобие проводника со списком файлов и папок. Эти странички генерятся самим сервером, если он не находит индексный файл (index.php/index.html и т.п.). Чтобы такого не было (а ведь это тоже подсказка хакерам, если узнать, например, набор ваших плагинов, то можно спокойно попытаться провести XSS или SQL-инъекцию), достаточно в корне блога, в файле .htaccess добавить строку
Options All -Indexes

Полезность 4. Убираем шаблоны для Windows Live Writer

Для тех, кто не пользуется WLW или не использует встроенный превью (live preview), стоит добавить в functions.php следующую строку, чтобы не выводить в шапке ссылку на манифест:
<?php remove_action('wp_head', 'wlwmanifest_link'); ?>

Полезность 5. Отключаем контроль версий в WordPress 2.6

Если вы не в курсе, то в новой версии WordPress появился wiki-style контроль версий, позволяющий отслеживать все изменения поста/страницы на всём времени его существования. Так вот, полезность подобной фичи для блогов с одним автором довольно сомнительна, зато появляются дополнительные строки в таблице wp_posts при каждой попытке изменить/добавить текст.
Лечится это либо плагином No Revisions, либо одной строкой в wp-config.php:
define('WP_POST_REVISIONS', false);

Полезность 6. Перенос папки плагинов и шаблонов

В WordPress 2.6 у нас появилась возможность перенести папку wp-content куда угодно. Чем это полезно?
Да тем, что при обновлении и «перезаливке поверх» самого дистрибутива WP вы не потеряете свою тему, если она, например как у меня, называется default.
Тут, правда, стоит понимать, что большинство плагинов, не адаптированных под 2.6, могут «тупо» перестать работать, но если вы всё же решите перенести wp-content, то добавьте в wp-config.php следующий код:
define(’WP_CONTENT_DIR’, ‘http://www.ваш_сайт.ру/hidden-folder/wp-content’);

Полезность 7. Google XML Sitemap — изменение настроек

Если вы пользуетесь плагином для создания Google Sitemep, стоит подумать о переключении настроек генерации в «ручной» режим.

В автоматическом режиме сайтмап пересоздаётся каждый раз, когда вы изменяете или удаляете пост, а полное пересоздание xml-sitemap для блога с нормальным количеством записей — довольно ресурсоёмкая операция, которая будет «тормозить» публикацию поста, пока не будет обновлён сайтмап.
Например, у меня на блоге, на создания файла уходит 13 сек и 10 Мб памяти, что не так уж мало, учитывая, что блог содержит около 80 записей. Представляю, сколько времени и памяти требуется, блогам с 500+ постов.
В ручном режиме вам потребуется запускать выданную вам в настройках ссылку, которую можно повесить на выполнение в cron на раз в сутки. Или, если не умеете/не хотите возиться с Cron, воспользуйтесь услугами сервиса аля CronJob.

Вот такие вот полезные мелочи, надеюсь что-то было полезно не только мне.

Update: Аха-ха, вот что значит не читать долго рсс-ленту. После публикации наткнулся на перевод той же самой статьи в блоге у Дмитрия Донченко, а из комментариев и ещё один перевод обнаружился, так что прошу прощения за «баян», но больше — не меньше)

[Plugins] Обзор плагинов — выпуск 1

На работе редкостная скукота, не смотря на то, что понедельник. Да и вообще я уже наметил увольняться, а то сидеть и тухнуть в бесперспективном месте — не для меня.

Этим постом думаю начать серию кратких обзоров новых плагинов. Постараюсь отбирать те, которые могут представлять интерес для конечного пользователя именно российского сегмента, так как не думаю, что "виджет показывающий что-то из вашего профиля в Facebook" будет особо актуален. Обзоры будут краткими, т.с. превьюшки со ссылками, и в большинстве своём "на себе" я плагины не буду тестировать, поэтому отзывы в комментариях приветствуются. А если будут какие-то проблемы с установкой/настройкой плагина, то пишите там же — если проблемка не тривиальная, то будем решать её отдельным постом с описанием и картинками.

Yank Widget (v.1.0)

Версии WordPress: с 2.5 по 2.6

Плагин добавляет виджет, позволяющий в качестве контента использовать текст с любой страницы (page) (обратите внимание, что это текст статических страниц, а не постов). Существует возможность скрывать виджет на определенных страницах или внутри категорий. Как сообщает автор, плагин может существенно повысить нагрузку на БД, если не пользоваться кеширующими плагинами.

Не сказать, чтобы мне этот плагин казался особенно полезным — всегда можно написать запрос или статически вбить информацию, но не все ловко обращаются с sql, поэтому как вариант вывода в сайдбаре дубля страницы "обо мне", "об авторе" или "о сайте" — вполне сойдёт. Плюс в том, что если вы вздумаете изменить текст на странице, то автоматически он поменяется и в остальных местах, что избавляет от головной боли.


TinyMCE Entities Patch (v.1.0)

Версии WordPress: все версии ветки 2.5.x

Это не столько плагин, сколько патч для визуального редактора. Причём довольно необходимый, если вы им конечно пользуетесь.

Если вы пишете посты в визуальном редакторе и вам требуется отобразить код html-спец.символов (например, &gt; — > ,&lt; — <, &quot; — "), то начинается целая борьба с редактором, так как он автоматически преобразует коды в сами символы.

Собственно плагин позволяет:

1. Вводить коды html-спец. символов (т.н. html-entities) в виз.редакторе, без боязни их преобразования после сохранения.

2. Сохранять "дополнительные" пробелы между словами/предложениями, а не преобразовывать их в единичный пробел.

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

Важно! Если вы поставили себе WordPress 2.6, то там, в визуальном редакторе уже исправлена эта ошибка, поэтому не устанавливайте и/или отключите этот плагин. (Ещё один повод перейти на новую версию :D)


Context Ad Wrapper (v.0.2)

Версии WordPress: все выше 2.2.0

Плагин для пользователей контекстной рекламы — позволяет указать какаю часть страницы следует рассматривать, как источник контекста, чтобы выдавать более релевантные объявления. Например можно исключить из просмотра весь сайдбар с всякими "спонсорскими линками", "топом комментаторов". Повышаем релевантность — повышаем кликабельность объявлений.

На данный момент плагин работает со следующими конторами:

  1. Google Adsense
  2. Amazon.com Context Links
  3. Kontera ContextLink
  4. MediaText

Жаль, что нет РСЯ и Бегуна, но я вообще не уверен, что там можно указывать контентные блоки, для более качественной отдачи объявлений.


EasyBan (v.1.2.3.1)

Версии WordPress: с 2.5 по 2.5.1

Позволяет забанить посетителя временно или навсегда по следующим параметрам: IP (отдельно или диапазон адресов), домену или реф.ссылке. 

image

Тут всё просто, но между тем интересна возможность блокировки по реф.ссылке, а то многие сео-спамеры любят приходить и "срать" по примерно таким запросам. Попробуйте и поделитесь впечатлениями.

До следующих выпусков. Удачи.

WordPress.org запустили новый каталог тем для блогов

Думаю многим авторам тем будет интересна следующая новость.

Давным давно существовал каталог тем по адресу http://themes.wordpress.net/, где можно было всегда найти тему практически на любой вкус, но по неизвестным причинам уже продолжительное время на сервисе закрыта возможность выкадывать новые темы.

Теперь стало ясно с чем это связано — разработчики WordPress, воодушевленные удобством поиска плагинов в http://wordpress.org/extend/plugins/, решили запустить аналогичный по функционалу сервис и для тем/шаблонов.

Как не сложно догадаться, новый каталог тем располагается по адресу http://wordpress.org/extend/themes/.

Что же получают веб-дизайнеры? Судя по заявленой информации — авторам тем совершенно не требуется разбираться в таких вещах как Subversion, достаточно залогиниться на сайте wordpress.org и перейти на страницу загрузки (upload page), скопировать туда zip-архив со своей темой, а сервис позаботится об остальном.

Есть и требования к размещаемым темам, которые описаны на соответствующей странице. Для плохо знающих английский веб-дизайнеров (а бывают и такие), позволю выложить перевод:

Для желающих добавить тему в каталог необходимо выполнить следующие требования:

  1. Все файлы темы должны находиться в одном единственном zip-архиве.
  2. В архиве должен быть файл style.css, содержащий:
    • Название темы. Должно быть уникально для каталога.
    • Тэги. Например, цветовая схема, виджет-совместимая, количество колонок. Посмотрите существующие тут.
    • Версию темы. В формате x.x или x.x.x, уникальную для данной темы.
    • Описание css-классов для положений картинок: mg.centered, img.alignright, img.alignleft, .alignright, .alignleft
  3. Скриншот темы должен называться screenshot.png и действительно должен быть скриншотом темы, а не заставкой или ещё чем.
  4. Лицензия должны быть GPL (на русском).
  5. Запрещены скрытые, рекламные и спонсорские ссылки. Ссылка на сайт автора темы допускается.
  6. Тема должна быть вашей собственной разработкой.

Если что-то будет указано не верно, то вам об этом сообщат в виде ошибки. После успешной загрузки на сервер, тема встанет на очередь к модератерам, которые убедятся, что нет никаких косяков. Как только тема попадёт в каталог — вас уведомят письмом.

В планах разработчиков запустить механизм оповещения об обновлении темы, как сейчас сделано в WordPress с нотификацией о новых версих установленых плагинов. Прямо из админ-панели.

А теперь немного корыстной информации, которая возможно подстягнёт авторов тем к загрузке своих работ на сервис — на данный момент в каталоге всего 3 темы. 2 которых скачали 750+ раз за прошедший день!

Не забывайте, что рядом с каждой темой болтаются ссылки с названием "Author HomePage" и "Theme HomePage", а это 2 ссылки с самого WordPress.org.

К примеру сама корневая страница каталога имеет ПР8, т.ч. можно, если повезёт вылезти в какие-нибудь топы, словить не плохие бэклинки.

Удачного размещения на новом сервисе.

Update: Пока я писал пост, тем стало 5, а общее количество скачиваний перевалило за 1800. Так что торопитесь!