Забыли логин или пароль?

Регистрация на сайте

Главная » Сайтостроение и веб-дизайн » WordPress » Оптимизация WordPress — админка и robots.txt
Оптимизация WordPress — админка и robots.txt

Собственно, пока есть время, хочу написать полноценную статью про оптимизацию сайтов на WprdPress. Тема для меня актуальна — я как раз почти все сайты на данном движке делаю, надо знания структурировать, ну и для кого-то, может быть, тоже пригодится. Идти все будет в куче. Как приходят мысли — так и пишу. Так как информации море, буду разбивать на несколько частей. Чтобы портянок не было. Еще интересные статьи по теме можете почитать здесь.

1. Оптимизируем robots.txt
Это как раз то, что я все ленюсь сделать. Большинство из того, что вообще тут написано будет, у меня пока не сделано, соберусь на днях в кучку и допилю.

Один из оптимальных вариантов следующий:

User-agent: *
Allow: */uploads
Disallow: /cgi-bin
Disallow: /wp-
Disallow: *?s=
Disallow: *?attachment_id=
Disallow: */feed
Disallow: /xmlrpc.php

Sitemap: http://site.ru/sitemap.xml
Sitemap: http://site.ru/sitemap2.xml

Host: www.site.ru

Т.е. убираем максимум дублей из индекса. Ибо нафиг.

Есть и более развернутый вариант:

User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-comments
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: */trackback
Disallow: */feed
Disallow: /cgi-bin
Disallow: *?s=
Host: site.ru

User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-comments
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: */trackback
Disallow: */feed
Disallow: /cgi-bin
Disallow: *?s=

Sitemap: http://site.ru/sitemap.xml

Лично я сам не засекал, через сколько по времени начинают работать данные изменения, народ пишет, что на работающем сайте приблизительно через два месяца все ваши телодвижения пойдут в прок. Хотя, можно и больше ждать. ото-ж Яндекс. Сложная штука, это создание сайтов. Едем дальше.

2. Оптимизация админки в WordPress

Сразу говорю, что «мотоцикл не мой» (с). Тем не менее, данные фичи делают работу над сайтом еще немного легче.

function remove_menus(){
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ', $menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');

Выше — кусочек файла functions.php от вашей темы, где:

__(‘Dashboard’) — главная страница админки (консоль);
__(‘Posts’) — пункт меню «Записи»;
__(‘Media’) — пункт меню «Медиафайлы» (картинки, видео и т.п.);
__(‘Links’) — никому не нужный, пункт меню «Ссылки»;
__(‘Pages’) — пункт меню «Страницы»;
__(‘Appearance’) — пункт меню «Внешний вид»;
__(‘Tools’) — пункт меню «инструменты» — это где всякие там: «импорт», «экспорт»;
__(‘Users’) — пользователи;
__(‘Settings’) — пункт меню «Настройки». Его очень даже можно закрыть для клиентов, а то они настроят …;
__(‘Comments’) — комментарии;
__(‘Plugins’) — ну и наконец, святое: пункт меню «Плагины».

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

Нашел фичу удаления админ меню полностью (это когда полно блогов на одном движке, или полно народу имеет возможность лазить в админку и т.п.). От греха подальше, так сказать.

add_action('admin_head', 'kill_adminmenu');
function kill_adminmenu(){
$GLOBALS['menu'] = array();
echo "

";
}

Удаление неиспользуемых виджетов — календари, мета, что еще? Целая куча виджетов, которые почти никем почти никогда не используются. Все через тот же файл функшнс пхп:

/* Удаление виджетов из Консоли WordPress */
function clear_dash(){
$side = &$GLOBALS['wp_meta_boxes']['dashboard']['side']['core'];
$normal = &$GLOBALS['wp_meta_boxes']['dashboard']['normal']['core'];

unset($side['dashboard_quick_press']); //Быстрая публикация
// unset($side['dashboard_recent_drafts']); //Полседние черновики
unset($side['dashboard_primary']); //Блог WordPress
unset($side['dashboard_secondary']); //Другие Нновости WordPress

unset($normal['dashboard_incoming_links']); //Входящие ссылки
// unset($normal['dashboard_right_now']); //Прямо сейчас
unset($normal['dashboard_recent_comments']); //Последние комментарии
unset($normal['dashboard_plugins']); //Последние Плагины
}
add_action('wp_dashboard_setup', 'clear_dash' );

Извиняюсь, кстати, за отсутствие раскраски кода цветами, в зависимости от языка… настрою вместе с новым дизайном уже.

Создаем собственные виджеты (я, Вася, приветствую вас на блоге!):

function example_dashboard_widget_function(){
// Показать то, что вы хотите показать
echo "Привет, мир. Я — великий виджет админки, созданный великими программистами";
}
// Создаем функцию, используя хук действия
function example_add_dashboard_widgets() {
wp_add_dashboard_widget('example_dashboard_widget', 'Пример виджета админки', 'example_dashboard_widget_function');
}
// Хук в 'wp_dashboard_setup', чтобы зарегистрировать нашу функцию среди других
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );

А еще можно выборочно удалить те или иные виджеты для каких-либо определенных пользователей. Чтобы не лезли, куда не просят, опять же:

function customize_meta_boxes(){
// получим данные текущего пользователя
global $current_user;
get_currentuserinfo();
// Если уровень текущего пользователя ниже 5, удалим блок произвольных полей
if ($current_user->user_level < 5)
remove_meta_box('postcustom', 'post', 'normal');
}
add_action('admin_init','customize_meta_boxes');

Собственно, все, наверное. По данной теме я больше ничего реально полезного большинству не нашел. Однако! Веб-мастеринг — вещь очень напряженная, только по WP в стиле этой статьи еще штук 100 будет, наверное. Чтобы уж от А до Я все сделать.

Если вам понравилась статья, вы можете подписаться на рассылку прямо на ваш почтовый ящик.

Комментарии
  • anellzaNo Gravatar Декабрь 23, 2012 в 0:41

    Спасибо за роботс! И за оптимизацию админки!

    • SeoUniverNo Gravatar Декабрь 26, 2012 в 0:56

      Пожалуйста

  • uniqueNo Gravatar Декабрь 29, 2012 в 4:14

    «WprdPress» — исправь)

  • АристархNo Gravatar Февраль 15, 2013 в 23:50

    /page/ у главной стоит закрывать в роботс? По идее ведь страницы не относятся к главной, а контент дублируют. Как считаешь?

    • SeoUniverNo Gravatar Февраль 16, 2013 в 0:28

      Посмотри мой роботс… я там закрыл все, что посчитал нужным

Желаете поучавствовать в обсуждении?

Для предотвращения автоматического заполнения, пожалуйста, выполните задание, приведенное рядом.