Wordpress

 


Шаг 1. Оригинальный wp-login.php переименуем в любое другое название, хоть в «s4gr3gerh6hb.php»
Шаг 2. Затем заменим все слова wp-login.php на новое имя, в нашем случае на s4gr3gerh6hb.php, в файле s4gr3gerh6hb.php (старый wp-login.php) и в файле wp-includes/general-template.php.
Шаг 3. Заключительным шагом станет полное ограничение доступа к файлу wp-login.php в .htaccess:

<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>

/***  Категории к страницам сайта на WordPress ***/

function true_apply_categories_for_pages(){
	add_meta_box( 'categorydiv', 'Категории', 'post_categories_meta_box', 'page', 'side', 'normal'); // добавляем метабокс категорий для страниц
	register_taxonomy_for_object_type('category', 'page'); // регистрируем рубрики для страниц
}
// обязательно вешаем на admin_init
add_action('admin_init','true_apply_categories_for_pages');
 
function true_expanded_request_category($q) {
	if (isset($q['category_name'])) // если в запросе присутствует параметр рубрики
		$q['post_type'] = array('post', 'page'); // то, помимо записей, выводим также и страницы
	return $q;
}
add_filter('request', 'true_expanded_request_category');

/***  Метки к страницам сайта на WordPress ***/
function true_apply_tags_for_pages(){
	add_meta_box( 'tagsdiv-post_tag', 'Теги', 'post_tags_meta_box', 'page', 'side', 'normal' ); // сначала добавляем метабокс меток
	register_taxonomy_for_object_type('post_tag', 'page'); // затем включаем их поддержку страницами wp
}
add_action('admin_init','true_apply_tags_for_pages'); // обязательно вешаем на admin_init
 
function true_expanded_request_post_tags($q) {
	if (isset($q['tag'])) // если в запросе присутствует параметр метки
		$q['post_type'] = array('post', 'page'); // то, помимо записей, выводим также и страницы
	return $q;
}
add_filter('request', 'true_expanded_request_post_tags');

(с) http://truemisha.ru/blog/wordpress/tags-and-categories-for-pages.html

add_theme_support( 'post-thumbnails', array( 'page' ) ); // иконки (миниатюры) к страницам
add_post_type_support( 'page', 'excerpt' ); // цитаты к страницам

(с) http://nickyurov.com/wordpress-dobavit-miniatyuru-i-citatu-k-stranice/

// ДОПОЛНИТЕЛЬНЫЕ ПОЛЯ (в интернете читать - не перечитать)
// регистрируем 
function create_my_taxonomies() {
// Добавляем НЕ древовидную таксономию 'slug_doppole' (как метки)
  register_taxonomy('slug_doppole', array('post','page'), array(
	'hierarchical' => false,
	'label' => 'Дополнительная таксонометрия',
	'query_var' => true,
	'show_ui' => true,
	'rewrite' => true
  ));
}
add_action('init', 'create_my_taxonomies', 0);

У меня отличный хостинг, хотя и не самый скоростной, если верить анализатору гугла. Он постоянно при проверки ругается, но это его проблемы. Я подумываю о переходе на более высокий уровень, но пока сайт только начал самоокупать 120 рублей в месяц. Боюсь на 600 рублей в месяц замахиваться(

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

Кэширование, гип-гип сжатие и прочие лемминг-рекомендации я из приличия попробовала - гугл доволен, я - нет. Эффект нулевой, а порой даже отрицательный. Да, я оптимизировала картинки - ну я и так обычно это делаю, но как бы тут массово прошлась. Попробовала что-то сделать со скриптами, но оно дело тонкое, не всегда понятное. Буду еще думать. Запросы, в основном, переписываю под свои конкретные нужды. Хотя все равно на главной странице вместо двадцати четырех уже семьдесят семь, пля... Хотя в виджетах - ни одного запроса! Буду медитировать дальше... Пока из более менее путевого:
  1. Отключила проверку обновлений. Результат заметен.
    см. http://wpguru.ru/sozdanie-bloga/urok-133-otklyuchaem-obnovlenie-wordpress-tem-plaginov-samogo-dvizhka.html
  2. При запросе к базе данных есть два варианта работы с результатами - сохранение результатов запроса в буфер или последовательная обработка результата.
    Находим файл /wp-includes/wp-db.php, создаем на всякий случай его резервную копию, и меняем в нем mysql_query на mysql_unbuffered_query (в функции public function set_sql_mode менять не надо!) Результат заметен.
    http://blog.sjinks.pro/wordpress/813-unbuffered-queries-lowering-worpress-memory-requirements/
    Если стоит eaccelerator и memcached исключительно для буферизации запросов к mysql, будет проигрыш по памяти.
  3. В CMS WordPress для выполнения задач по крону используется файл wp-cron.php. К таким задачам, например, относится публикация статьи в заданное время, выполнение пингов (если вы понимаете, о каких я пингах говорю), выполнение операций с плагинами, создающими и обновляющими карту сайта, чистит корзину, проверяет наличие обновлений и многое другое.
    Если выполнение этого файла вызывает нездоровую нагрузку на сервер – можно отключить эти задачи. Для этого в файл конфигурации WordPress wp-config-php добавляем строку:
    define(‘DISABLE_WP_CRON’, true);
    Добавить её можно где-то после установки языка, т.е. после строки
    define(‘WPLANG’, ‘ru_RU’);
    Другой вариант решения – в самом файле wp-cron.php закомментировать строку:
    //ignore_user_abort(true);
    Данная функция продолжает выполнение скрипта даже при превышении им параметра max_execution_time для PHP.
    Я выбрала первый способ. Сижу офигиваю ;) Помогло!
  4. А еще меня постоянно пытаются взломать и это тоже дает нагрузку на сервак. Буду думать.
Читать далее

Gzip сжатие

Короче редкий бред загружающий процессор, но не ускоряющий загрузку страниц не на полминуты...
(с) http://blogoguru.net/archives/627

Динамическое Gzip сжатие происходит на уровне сервера для каждой страницы и пользователя в отдельности. Если вы ещё не поняли к чему я клоню, то поясняю. На сжатие тоже уходит время, ровно как и уходит время на распаковку — хоть и миллисекунды, но тем не менее. Что более важно это нагружает ваш сервер и лично у меня ресурсы не безграничны. Да Gzip сжатие убыстрит выдачу страницы несчастному пользователю что живёт на берегу реки Лена и использует dial-up 53.3 кбит/сек. Однако пользователь из западной Европы где оптоволокном с 76.0 Мбит/сек уже никого не удивить, не почувствует абсолютно никакой разницы. Может даже, наоборот, замедлить выдачу сайта.

Статическое Gzip сжатие можно применить для относительно статических файлов как CSS и JS. То есть сжать самим. Однако даже при таком подходе для сжатия HTML всё равно придётся использовать динамическое Gzip сжатие. Вдобавок просто нереальный геморрой если вам надо хоть что то поменять. На мой взгляд Gzip сжатие в том виде что существует сейчас просто атавизм.

Но если вы все равно решились, то прежде чем что-то делать, необходимо убедиться включен ли gzip на сервере Вашего хостинга?

Для этого подойдет сервис проверки – whatsmyip.org. В ставьте URL своего сайта в строку поиска на странице этого сервиса и нажмите “TEST“.

Кстати, есть плагин Better WordPress Minify - позволяет уменьшать файлы стилей и скриптов (CSS и JS) файлы для уменьшения скорости загрузки страниц сайта. Плагин использует библиотеку PHP Minify и полагается на стандартный механизм добавления скриптов (enqueue script WordPress), а не на выходной буфер (Ваш сайт не сломается в большинстве случаев). Решение весьма настраиваемое и достаточно просто в использовании.

Мои выводы:
Я попробовала кэширование, это самое сжатие, плагин "буттер-минутер" .... Толку от всего этого чутер!(

Рекомендации, которые мне пришлось искать долго и тщательно, истоптав все пальцы =)

Замена французских кавычек (сейчас уже сам вордпресс поправил этот баг, похоже)

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

Меня таки доконала корявая замена кавычек, на французские кавычки "ёлочки", которые размещены абы как:

wordpress  WordPress: как убрать французские кавычки?

мне бы хотелось что бы на блоге отображались машинописные двойные кавычки:

wordpress  WordPress: как убрать французские кавычки?

Рекомендованные всем лемминг-миром способ мне, как и автору статьи, не понравился. А вот его способ я радостно схватила, чмокнула и пользую =) Не буду забирать "хлеб", копируя все целиком к себе на сайт. Для себя, любимой, оставлю только напоминалку, что для полного счастья надо отредактировать файл "/wp-includes/formatting.php".

© http://elims.org.ua/blog/wordpress-kak-ubrat-figurnye-kavychki/ - тут решение проблемы с "французскими" кавычками

Редактирование комментариев на сайте

Как уже упоминалось в прошлой статье (ЛОЛ), я воспользовалась плагином Ajax Edit Comments и я нашла таки время, чтобы выцыганить из него стили, вынести их в свой style.css и выдохнуть. Печалька только в том, что если я вдруг решу что-то изменить в настройках плагина, то процедуру выноса стилей придется повторить.
Решение прячется в последовательности действий: скопировать сгенерированные стили из кода любой страницы сайта, перенести их в файл со стилями своей темы, найти и открыть файл lib/class.css.php в каталоге плагина, найти там строки:

echo "< !-- Ajax Edit Comments Styles -- >\n";
(их будет всего две, вам надо ту, под которой выводят переменную
echo $return_content;
и закомментируем ее и строчки сверху и снизу.
Теперь у меня в планах поправить стиль окошка, которое этот плагин выдает для редактирования комментариев. Пока не до этого =)

Как увидеть КАКИЕ запросы делает сайт к БД

WordPress предоставляет возможность записи SQL запросов для их последующего анализа и отладки - это именованная константа SAVEQUERIES, которую нужно объявить в файле настроек WP wp-settings.php вот таким образом:

define( 'SAVEQUERIES', true );

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

© дальнейшее решения проблемы было на сайте http://4remind.ru/wordpress/uroki-sovety/analiz-sql-zaprosov-wordpress.html

Изменяем стандартные письма WordPress

Смотрите объявление wp_notify_postauthor() в содержимом системного файла "wp-includes/pluggable.php"

Ну, во-первых, лично для себя делаю копилку ссылок на сайты, где люди пишут действительно умное и полезное. Потому что реально смешат статьи "а теперь сделаем самое важное для нашего сайта - привинтим плагин такой-то", особенно когда в этом плагине только заммечательный набор смайликов для комментариев или три вида стиля "div". Нет, я понимаю что простому смертному до переноса небольшой функции из phpшки и стилей из style.css не додуматься. Но зачем из блога в блог гонять рекомендации как установить этот плагин - не понятно.
Я кстати так и не поняла, а что одной большой соцсети для начинающих блоггеров, где они тусят, обмениваясь ссылками на свои сайты и пережевывая крутости плагинов, до сих пор нет?! Классная идея же... А то от количества ксерокопий одной и той-же статьи про крутость плагина "НоуНейм номер сто" у меня в глазах рябит уже...

Читать далее