понедельник, 25 июня 2012 г.

Как ускорить сайт на Wordpress, мои рекомендации

Совсем недавно видел, как одному обладателю wordpress сайта понадобилось ускорить загрузку сайта и он разместил объявление о поиске человека, который поможет ему быстро и дешево это сделать. Человек был найден быстро, не я, и мне было интересно насколько и какими способами это сделает выбранный исполнитель. Примерно, через 1-2 посмотрел на исходный код и увидел комментарий в коде, который обычно выводит плагин WP Cache.

Конечно, установкой этого плагина, действительно решается вопрос быстродействия сайта, благодаря использованию файлового кеша при работе с сайтом. Но ведь это не все, что можно было сделать или наоборот, что можно сделать вместо установки плагина WP Cache.

Например, самая первая рекомендация это включить Gzip сжатие страницНа некоторых хостингах нет возможности править .htaccess или модуль php для сжатия не включен, поэтому на помощь приходит плагин Force gzip. Он программно включает сжатие и действительно, количество передаваемых данных сокращается, тем самым уменьшается время загрузки сайта.

Второе, включить кеширование запросов к базе данных. Ннапример так как это делает плагин DB Cache Reloaded Fix. Он не кеширует полностью всю страницу, а лишь некоторые запросы к базе данных, например при получении информации о пользователе, всевозможные системные запросы, при чем в настройках уже выставлено по умолчанию, не кешировать запросы отвечающие за вывод записей и комментариев, что позволит всегда видеть актуальную информацию, но при этом другие запросы будут браться из специального кеша, что сократит количество времени и ресурсов при работе вашего сайта. А именно это и влияет на скорость загрузки и работы.

Третье, оптимизация изображений. Включает в себя два варианта: либо обрабатывать их специальным софтом, например Фотошопом с его функцией "сохранить для веб...", либо установкой плагина WP Smush.it, который использует специальный веб-сервис по сжатию без видимых потерь для качества всех ваших картинок, которые вы загружаете или загружали на сайт (присутствует пакетная обработка всех раннее загруженных картинок в один клик). Как правило, такая оптимизация позволяет сократить размер картинки на 10%-20%, что в общей картине, будет уже существенно влиять на загрузку сайта.

Четвертое, сжатие и оптимизация файлов стилей, javascript и html вывода. Все то что, отвечает за внешний вид сайта и косвенно обеспечивает его работоспособность, и какие либо расширенные функции, как правило достигается использованием различных javascript скриптов и css, которые становятся одним из узких мест в работе вашего сайта. И многие вебмастеры, не обращают на это внимание, и позволяют 100 килобайтным файлам стилей (style.css) просто так нагружать интернет канал. В идеале, файл стилей и скриптов должнен состоять из стилей и кода, которые используются на текущей странице, но такого добиться рядовому пользователю очень сложно. Поэтому необходимым минимум должна быть оптимизация этих файлов по средством минимизации: удалении пустых пробелов, комментариев, переводов строк. Все это можно сделать в автоматическом порядке, использовав плагин Better WordPress Minify или подобные, ключевое слово для поиска Minify. Либо сделать это вручную, использовав веб-сервисы, например http://www.cssdrive.com/index.php/main/csscompressor для css и http://jscompress.com/ для js, последний позволяет безопасно сокращать имена функций и переменных в коде, что в разы сокращает размеры кода. При использовании этого метода, размер файлов сокращается на 10% - 30%, что тоже благоприятно отразиться на скорости сайта. Так же советую проводить оптимизацию выводимого HTML кода, используя плагин WP-HTML-Compression, который уберет все пустые пробелы, и пустые строки, комментарии из итоговой веб-странички, уменьшив общий размер файла на 10%-20%.

Пятое, правильное использование кеша браузера и указание времени обновления файлов в нем, для каждого из типов. Не секрет, что при первой загрузке сайта многие из файлов, например картинки, стили, js код и прочие сохраняется в локальном кеше браузера, на компьютере пользователя, и при следующем обращении к сайту некоторые из них не загружаются с веб-сервера, а берутся из кеша. Один из способов оптимизации, это правильное указание срока хранения кеша, т.е. увеличение срока времени хранения и использования того или иного файла из кеша, а не загрузки с интернета. Многие веб-мастеры этого не знают и не делают, поэтому браузер использует значения по умолчанию, что не всегда подходит и является оптимальным. Например, если ваш дизайн уже находится в конечной стадии и не планируется изменяться продолжительное время, то для файлов стилей (css) можно указать более длительное время хранения локальной копии, что позволит не загружать его длительное вреся, сократив количество загружаемых файлов при последующих обращений к сайту. Так и с каждым типом файлов, а это js код, картинки, шрифты и прочие файлы, которые вы используете на своем сайте. Здесь как правило приходится вручную добавлять специальные директивы в файл .htaccess и исходя вашего сайта, его функциональности индивидуально устанавливать время хранения файлов. Подробнее и готовый вариант таких директив можно найти в инструкции по html5 шаблону раздел .htaccess "IfModule mod_expires.c"

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

понедельник, 18 июня 2012 г.

6 ссылок на все случаи жизни с Wordpress

Полезные и бесполезные ссылки для всех кто помешан на wordpress, по какой-то причине попавших в мои закладки.

http://cms-wordpress.ru/displaybuddy-nabor-iz-8-plaginov-dlya-slajdshou/
Платный набор из 8 плагинов для организации слайдеров, галлерей, всевозможных вращалок и пукалок для вашего сайта по нереальной цене в 150 вечнозеленых. Лично я, в последнее время использую простые и бесплатные решения, написанные вручную. Например, для организации слайдера вполне рабочим и с необходимым минимумом использую jquery компонент carousel из twitter bootstrap. Поэтому вертел я этот набор, самизнаете на чем, но для богатых интернет-мажоров самое то!

http://www.revisium.com/ai/
AI-Bolit — это уникальный бесплатный скрипт для поиска вирусов, троянов, backdoor, хакерских активностей на хостинге. Вирусы и прочая нечисть, это главный бич всех платформ, не исключение и wordpress. Поэтому в закладки, на всякий случай.

http://habrahabr.ru/post/131001/
Тут недавно  где-то проскакивал вопрос, как сделать двух колоночный шаблон записи. Нужно просто прочитать статью по ссылке выше, и начать делать продвинутые продвинутые шаблоны редактора, а не изобретать велосипеды.

http://wordpress.org/extend/plugins/user-photo/
До недавнего времени для авторов некого сайта использовал свою собственную подделку по загрузке аватаров. Решил сменить на плагин, все таки я не программист, а тут более менее цивильно написано с минимум возможностей и кода.

http://wp.tutsplus.com/tutorials/creative-coding/create-an-faq-accordion-for-wordpress-with-jquery-ui/
Урок "Как сделать простой блок частых вопросов" без плагинов. Простенькое и со вкусом. Уже в закладках.

http://wp.tutsplus.com/tutorials/plugins/adding-posts-to-a-sites-front-end-using-ajax/
Моя и не только, навязчивая идея, которая преследует меня от проекта к проекту, это публикация записей со страницы сайта без захода в консоль. Подробная инструкция как её осуществить, на английском. Ничего нового для меня, но как рабочий скелет на будущее сгодится.

Все, работаем, пацаны!


четверг, 14 июня 2012 г.

Полезные ссылки по Wordpress

За неделю получается собрать некоторое количество различных ссылок, как-то или иначе связанных с Wordpress. Решил поделиться с ними тут:

http://lecactus.ru/2012/06/14/6417/
Не успел обновиться движок до версии 3.4, как появился перевод от Лекактуса.

http://fleek.org/jquery-plaginy-dlya-wordpress/
Старая, из далекого 2010 года, подборка разных jquery плагинов для wordpress, аналогов которой я еще не встречал, думаю по названиям плагинов можно найти и актуальные  рабочие версии.

http://www.webdesignerdepot.com/2012/06/101-awesome-new-wordpress-themes/
100 и 1 шаблон для wordpress, которые заставят вас посмотреть на мир шаблонов по другому.

http://www.wpbeginner.com/wp-tutorials/how-to-get-googles-verified-authorship-for-your-wordpress-blog/
Инструкция о том как подтвердить свое авторство перед великим Гуглом. Если у вас установлен обновленный плагин Wordpress SEO, то ничего этого делать не надо, нужно просто вставить ссылку на профиль в соответствующее поле.

http://www.wprecipes.com/how-to-add-a-delete-button-to-wordpress-admin-bar
Простой код, как добавить кнопку "Удалить запись" в панель администратора. Кто-то ей пользуется?

http://speckyboy.com/2012/06/04/an-in-depth-understanding-of-wordpress-hooks/
Статья рассказывающая о том, что такое actions и filters, и с чем их едят.

Пока что, все. Очень жаль, что большинство ссылок на английском языке, поэтому они не каждому смогут помочь и пригодиться, учите английский или ждите, когда я буду переводить интересные мне материалы.

Адиос!

среда, 13 июня 2012 г.

Ошибки при обновлении Wordpress 3.4

Столкнулся с первой ошибкой при обновлении до новой версии. При просьбе обновить базу, выдало следующее:

Fatal error: Call to undefined method dbrc_wpdb::delete() in....wp-includes/option.php on line 370

Проблема оказалась в плагине DB CacheDB Cache Reloaded, или DB Cache Reloaded Fix, решить просто: удалить через фтп db.php и папку с плагином, все равно он не работает с новой версией.

Решение и проблему вычитал из специальной ветки на офф. форуме. Там кстати есть несколько полезных ссылок по теме адаптации шаблонов под версию 3.4:
Helpful links: There's also http://wpdevel.wordpress.com/2012/06/07/wordpress-3-4-field-guide-for-developers/ which is pretty well up on what devs need to know.

Удачи с обновлением!

Вышел Wordpress 3.4 "Green"

Буквально несколько часов назад, стала доступна новая версия движка Wordpress 3.4.


В этот раз разработчики выход новой версии движка посвятили гитаристу Гранту Грину (вики).

Новое в Wordpress 3.4:

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

Упрощенная процедура встраивания твитов в запись. Достаточно при редактировании вставить ссылку на твит и после публикации, ссылка превратится в встроенное твиттер сообщение.

HTML код в подписях к картинке. Добавлена возможность размещать контент с полноценной html разметкой в подписях к картинке.

Улучшения админ части. Доступна возможность использования изображений из медиа библиотеки в качестве картинок для шапки блога. При поиске шаблонов, список шаблонов выводится без постраничной навигации. Добавление новых комментариев со страницы редактирования записи.

Для разработчиков:


Сотни улучшений в коде движка. В частности XML-RPC, шаблонов и настраиваемой "шапки" блога, существенные оптимизации WP_Query и подсистемы перевода. И прочее прочее...


Обновляемся, пацаны!

Обновление плагина Joost WordPress SEO 1.2


Переработке были подвергнуты страницы настройки плагина, так же настройки "по-умолчанию". 

Сегодня обновился плагин Joost WordPress SEO до версии 1.2. Такое событие заметить не возможно.

Первым делом, что могу отметить это то что были исправлены ошибки при работе с полем "Фокус по ключевой фразе", теперь оно корректно обрабатывает русский язык и другие, позволяя легко и быстро подобрать качественный ключевик для записи.

Вторым важным обновлением является обновленный раздел Анализа страницы, который не все использовали в полной мере или на просто не обращали внимание, точнее на рекомендация которые предоставлялись в этом разделе.

Теперь можно наглядно оценить степень оптимизации записи, смотря на цвет маленького "светофора", непосредственно перед публикацией или обновлением записи.

Или при работе со всем записями.

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

На странице профиля автора теперь доступно поле для ввода адреса профиля социальной сети Google+, заполнив которое теперь можно легко подтвердить авторство ваших записей и связать их с профилем социальной сети.

Вообщем, все изменения имеют положительный характер, что делает плагин самым удобным и практичным из категории SEO плагинов для Wordpress.

По теме плагинов: Facebook расширяет интеграцию с WordPress




вторник, 12 июня 2012 г.

Новые PHP функции Wordpress

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

Я имею ввиду php функции wordpress, которые используются для написания различных частей шаблона. Возможно они и не такие новые и есть в старых версиях, но в кодексе они появились совсем недавно. Точнее, их описание.


Среди оных есть очень полезные и те, функционала которых раньше можно было добиться написанием различных велосипедов.

Например, на ряду с функцией получения ссылки для редактирования записи (get_edit_post_link) появилась полезная функция получения ссылки для удаления записи (get_delete_post_link).

Так же, полезными и удобными, станут функции получения последних записей (wp_get_recent_posts) и функция получения одиночного поста (wp_get_single_post).

Мега полезной функцией может оказаться (get_extended) которая позволяет выводить контент до тега <code><!--more--></code> или наоборот после. Теперь, по-моему мнению, можно гораздо проще решить проблему дублированного контента, например на страницах рубрик выводить первую часть записи, а в одиночной вторую часть, при этом редактировать запись, как обычно.

В разделе функций для категорий, появилось описание таких функций:
cat_is_ancestor_of - условный тег, который позволяет проверить "родство" категорий, что поможет настроить шаблон, например архива, так что будет учитываться, является ли категория дочерней по отношению к другой.
get_ancestors - функция, которая позволит, одной строкой кода, получить массив родительских категории.
get_category_by_path - функция, которая позволяет получить данные о категории, используя путь к ней в виде url строки, иногда даже тихонько корил разработчиков, за то, что её не было под рукой.
wp_category_checklist - для данной функции нет описания, но я уже представляю как с помощью нее можно будет выводить списки категорий, таксономий в виде select multiple.

Там еще много интересных и новых, повторяюсь, функций для которых добавили описание в кодексе. Некоторые из которых мне не знакомы и не понятны, например get_adjacent_post или get_boundary_post.

А вы что заметили нового?