Архив категории: ‘Плагины’

Глюк с заглавной буквой title в плагине All in One SEO

Monday, 27 Apr 09 в 23:20

Плагин All in One SEO достаточно популярен у меня в блоге, уже третий раз о нем пишу. Для тех, кто не в курсе что он делает из зачем нужен советую почитать заметку как легко увеличить трафик для блога с поисковиков (с его помощью, разумеется). Чуть позже я рассказывал как избавиться от автоматического добавления тегов поста в keywords. Да, я знаю, что для этого имеется галочка в настройках админки, но по удивительным причинам эта опция не сработала. Возможно, в новых версиях пофиксили.

Сегодня у меня выскочил еще один стары глюк плагина All in One SEO. Открывая страницу тегов, категорий или поиска первые буквы в title отображались не совсем корректно:

плагин All in One SEO

Конечно, это было недопустимо для меня, и могло нарушить мои планы относительно раскрутки проекта.

Что характерно – данные признаки можно увидеть не на всех хостингах, видимо это как-то связанно с настройками веб-сервера. Я, увы, не специалист в этом, поэтому принялся изучать и экспериментировать с php кодом плагина. Кстати, ранее я как-то уже искал выход из сложившейся ситуации в google, но вразумительного объяснения найти не смог – кто-то советовал поставить русскую версию плагина, кто-то предлагал скачать «пофиксеную» (но весьма древнюю) версию модуля. Собственно, такая у меня уже имелась и хорошо работало на одном из хостингов, а вот на другом почему-то отказалась. Поэтому было принято решения потратить лишний часик и разыскать первопричину столь безобразной работы wordpress плагина All in One SEO. Вот что было обнаружено мной в процесс исследований (весь код взят из файла all_in_one_seo_pack.php).

Ошибку при выводе категорий вызывал вывод функции php под названием ucwords. Она делает заглавной первую букву всех слов, встречающихся в строке. Пришлось от этого отказаться, тем более, что я и так все категории пишу с большой буквы.

   $category_description = $this->internationalize(category_description());
// $category_name = ucwords($this->internationalize(single_cat_title('', false)));
   $category_name = ($this->internationalize(single_cat_title('', false)));

Но вот беда. Теги все равно выводились с ошибками. Оказывается над ними также выполнялись подобные преобразование, правда, несколько иным путем. В плагине имеется функция capitalize, которая, насколько я понял, была создана для решения той же задачи, что и ucwords. Вообще тут в коде как-то все запутанно, возможно, там каким-то образом еще участвует массив в начале поста $UTF8_TABLES['strtoupper']. Но копаться в этом я не стал, а просто закомментировал вызов этой функции в ходе работы. Хотя достаточно просто убрать одну из ее строк, которая занимается собственно, преобразованием.

function capitalize($s) {
  $s = trim($s);
  $tokens = explode(' ', $s);
  while (list($key, $val) = each($tokens)) {
   $tokens[$key] = trim($tokens[$key]);
// $tokens[$key] = strtoupper(substr($tokens[$key], 0, 1)).substr($tokens[$key],1);
   }
  $s = implode(' ', $tokens);
  return $s;
}

После всего этого залил новую версию файла all_in_one_seo_pack.php на сервер и все заработало так, как должно было.

P.S. Я знаю, что есть другие плагины для ввода заголовка и других seo-штук, об этом уже дискутировали, меня All in One SEO устраивает, в принципе. Пост чисто образовательного характера, «для справки» можно сказать, поскольку в 90% источников, где упоминалась данная проблема, так и не было приведено решения.

P.P.S. Для интересующихся покером советую почитаь – расчет вероятностей в покере!

Поисковое продвижение сайтов от профессионалов для привлечения новых клиентов.

Рыбалка – ваше любимое занятие? – обязательно загляните в этот интернет-магазин.

Понравился пост? Подпишись на обновления блога по RSS для блоггеров и вебмастеровRSS, RSS для блоггеров и вебмастеровEmail или RSS для блоггеров и вебмастеровtwitter!

Форма обратной связи на WordPress – плагин contact form 7

Thursday, 23 Apr 09 в 18:54

Wordpress – плагин contact form 7Форма обратной связи может пригодиться любому сайту (простому или, тем более, корпоративному), а также является неплохим дополнением для блогов на WordPress. Это дополнительная возможность быстро связаться с автором проекта, если под рукой нет ни аськи, ни почтовика. Вот и у меня возникла данная задача, пошел просматривать существующие плагины. Сразу нашел некий cformsII, который позволяет, судя по отзывам,  создать самую могущественную и функциональную форму обратной связи, которая только существует:) Посмотрел обзоры и документацию – действительно там все выглядит очень масштабно. Но, поскольку, мне требуется лишь простая форма для оправки сообщения на почту с базовыми полями типа «Имя», «Мыло», «Сообщение», то я решил продолжить поиски.

Выбор остановил на плагине Contact Form 7, что почти в 20 раз более популярен всех подобных разработок. Значит – люди доверяют и частенько используют. Забегая наперед, скажу, что нисколечко не ошибся – модуль весьма приятный и быстрый в настройке. Установить форму обратной связи и разобраться с деталями у меня заняло минут 10-20. Плагин позволяет управлять несколькими формами на сайте, поддерживает технологию Ajax, CAPTCHA, а также антиспам плагин Akismet. Минимальные требования – WordPress 2.5, работает также и с последней 2.7.1. Благодаря добрым людям Contact Form 7 переведен на множество языков, в том числе и русский и украинский.

Установка плагина достаточно простая – копируете файлы модуля в знакомую уже директорию /wp-content/plugins/, после чего активируете его в меню системы. Далее в админке в «Инструментах» появится раздел Contact Form 7. Это нечто вроде конструктора форм:

Wordpress – плагин contact form

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

Чуть ниже на этой странице располагается блок под названием Form, где вы указываете структуру вашей формы обратной связи. В процессе работы используется специальный синтаксис для плагина. В принципе, уловить его можно и без лишних подсказок, но автор плагина Contact Form 7 пошел еще дальше и добавил механизм создания новых полей.

форма обратной связи wordpress

Сначала выбираем нужное нам поле для формы (левая колонка) – текстовое большое или однострочное, выпадающее меню, поле для email и т.п. После чего с помощью Ajax подгрузится ряд настроек, которые потребуется заполнить, и в самом конце плагин сгенерирует нужный код для добавления в форму справа. То есть разбираться в синтаксисе построения формы даже не нужно.

Далее идет блок Mail, где располагаются настройки для отправляемых писем. В принципе, вы можете ограничиться заполнением полей по умолчанию – там все правильно установлено. Следует заметить просто, что при отправке писем вы также используете кодовые конструкции из формы выше – то есть можете подставить в заголовок письма (subject) его тему, в поле from – имя и почту автора.

В самом низу страницу есть блок Messages, где хранятся типовые сообщения, выводимые при тех или иных действиях пользователей – неправильное заполнение полей, ошибка в e-mail и т.п. Чтобы отобразить списков нужно нажать ссылку Show возле заголовка.

Напоследок хочу порекомендовать установить на вашу форму механизм защиты от спамеров – CAPTCHA. В самом модуле такого функционала нет, поэтому потребуется скачать дополнительный плагин – Really Simple CAPTCHA. Для установки заливаете модуль в директорию со своими плагинами. Далее активируете в админке. После этого возвращаетесь в конструктор формы и с помощью мастера генерируете элемент типа CAPTCHA. Картинку с кодом даже можно настроить. Не забудьте в конце сохранить все настройки формы, и она обновится на сайте.

Если возникли какие-то вопросы – можете глянуть мини FAQ на сайте автора плагина либо задавайте в комментариях.
Update (29.08.10): В одном из блогов нашлась интересная статья про дополнительное поле для плагина Contact Form 7 чтобы можно было вставлять дату. Если у вас имеется подобная задача, то статья должна пригодиться.

P.S. Также советую воспользоваться услугами конторы для создания качественных сателлитов – уникальный дизайн, тексты.
Обязательно загляните в TooYou.ru – каталог ресурсов для людей. Найдете много интересного!
Создание сайта в Краснодаре – полный цикл: от разработки до продвижения.

Понравился пост? Подпишись на обновления блога по RSS для блоггеров и вебмастеровRSS, RSS для блоггеров и вебмастеровEmail или RSS для блоггеров и вебмастеровtwitter!

Небольшой хак для All in One SEO Pack

Monday, 20 Oct 08 в 1:00

wordpress плагинВ одной из прошлых статей я уже писал о том, как увеличить трафик для блога с помощью wordpress плагина All in One SEO Pack. Если говорить вкратце, то основная его заслуга – возможность добавления в каждом посте (или странице) заголовка (title), описания (description) и ключевых слов (keywords). Потратив несколько минут на подборку ключевых слов и заполнение данных полей вы вправе ожидать на небольшое количество трафика с поисковых систем – конечно, речь идет не о топовых запросах, но низкочастотные вполне могут сработать. Подробнее об этом читайте по ссылке выше, а сейчас я бы хотел рассказать немного о другом.

Дело в том, что по непонятным мне причинам в ключевые слова (keywords) включались не только слова, которые вы заполняли в соответствующем поле, но и теги для каждого отдельного поста. А это уже не очень хорошо. Так, например, вы написали пост о дизайне, добавили нужных ключевиков, при этом в тегах у вас что-то вроде «мысли вслух» или «мои проекты» – и все это добавилось в keywords. Теги больше направлены на читателей, дополнительный элемент навигации, при этом ключевые слова используются исключительно для поисковиков.

Теоретически понятно, зачем создатели плагина All in One SEO Pack сделали подобную функциональность – дабы пользователю не пришлось заполнять каждый раз поле keywords, а оно формировалось автоматически, но ведь должна быть возможность отключить эту опцию. Кстати, здесь возникает еще один нюанс. У меня в блоге установлен также плагин Simple Tags, который выполняет множество функций, связанных с тегами – позволяет создать облако тегов, выводит похожие по тематике посты после каждой статьи и т.п. В качестве одной из функций указано «Automatically include in header», которая также отвечает за включение тегов в МЕТА keywords. Но при этом в админке есть примечание – если в блоге установлен и настроен плагин All in One SEO Pack, то эта опция автоматически отключается!

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

В общем нашел в плагине All in One SEO Pack участок кода, который отвечает за все это “безобразие”. Итак, если вы хотите чтобы в ключевых словах для поста выводились только заданные вами значения, находим в файле плагина all_in_one_seo_pack.php строки:

// WP 2.3 tags
if (function_exists('get_the_tags')) {
 $tags = get_the_tags($post->ID);
 if ($tags && is_array($tags)) {
  foreach ($tags as $tag) {
   $keywords[] = $this->internationalize($tag->name);
  }
 }
}

и закомментируем их, поставив в начале – /* и после последнего символа – */ , либо просто удалив этот код. Должно работать, у меня все получилось. Если возникнут какие-то вопросы, пишите в комментариях.

P.S. Интересный проект – просмотр фильма онлайн.

Понравился пост? Подпишись на обновления блога по RSS для блоггеров и вебмастеровRSS, RSS для блоггеров и вебмастеровEmail или RSS для блоггеров и вебмастеровtwitter!
Страница 3 из 41234