Рисунок - Первый шаг в wordpressСегодня я хочу затронуть довольно объемную, местами занудную, но очень важную тему – необходимые настройки сразу после установки блога на Вордпресс.

О том, что это важно, понимают наверное все, но вот выполняют этот шаг немногие. А потом приходится «кусать локти», приговаривая – «ну почему я это не сделал сразу….»

Так вот, что бы это было не про вас, я вас очень прошу – потратьте некоторое время на выполнение рекомендаций (может и не всех), описания которых вы найдете в данной статье.

И я вам обещаю – вы сможете спать спокойно.

Ну, поехали!

Тема, которую мы будем сегодня разбирать, можно коротко назвать так – «Непробиваемая защита и правильная оптимизация блога».

Что же я подразумеваю под этим выражением? Это определенные ваши действия, установленные плагины, измененный код (хаки) и иные мероприятия, которые в комплексе помогают «отбить» покушение на жизнеспособность работоспособность и целостность вашего любимого блога, а также позволяют ему работать быстрее.

Я выделяю в этом несколько направлений:

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

Дальше мы рассмотрим это все более подробно.

I. Защита на уровне сервера



1. Установите права доступа

Если в папке wp-content еще нет папки uploads – ее нужно создать и установить права «777» и укажите этот путь в настройках блога – «Параметры» — «Медиафайлы» — «Загрузка файлов»

Рисунок - Путь к медиафайлам в WordPress

В эту папку WordPress загружает картинки, используемые в статьях на блоге. Если такая папка есть – просто назначьте ей права «777»

Эти же права нужно назначить папке wp-content/cache (этой папки может не быть – это нормально).

На все остальные папки рекомендуется установить права «755», а на все файлы – «644»

Для большей безопасности, рекомендуется на файлы, находящиеся в корневом каталоге вашего блога (кроме файла карты сайта sitemap.xml), установить права «444» — только для чтения.

Если вы не знаете, что такое права доступа и как их устанавливать — почитайте здесь.

2. Закрывайте папки с плагинами от просмотра.

Что бы не дать злоумышленникам получить доступ к вашим плагинам и через их «дыры» внести вредоносный код – создайте пустой файл index.html и разместите его в папке с плагинами (wp-content/plugins)

Как вариант – можно добавить следующую строку в файл .htaccess (о нем мы еще поговорим), которая запретит просмотр папок и их содержимое:

Для того, что бы проверить, что у вас все ОК, наберите «http://www.vashinternetgid.ru/wp-content» (или укажите любую другую папку).

Если после этого вы увидите список файлов и подпапок — значит нужно срочно ограничивать доступ (см. выше как)

Если у вас будет пустой экран, или браузер выдаст ошибку — значит все нормально.

3. Ограничьте доступ к папке wp-admin от подбора логина и пароля.

Тут можно сделать следующее:

  • ограничить доступ через блокировку по IP-адресу, внеся код в .htaccess. Хотя, если у вас динамический IP-адрес (т.е. он постоянно меняется) – вы можете сами себе заблокировать доступ, из-за чего этот вариант применим только для статического IP-адреса;
  • можно установить плагин AskApache Password Protect, который требует пароль (созданный вами, разумеется) для доступа к папке;
  • если позволяет хостинг – поставьте пароль через админ-панель;
  • использовать плагин Login Lockdown, который блокирует доступ после определенного количества неправильных попыток.

Я пользуюсь последним вариантом.

4. Старайтесь своевременно обновлять сам движок и плагины.

В случае выхода обновления – вы всегда будете это видеть, находясь в админке блога.

Для обновления движка можете воспользоваться плагином Instant Upgrade или WordPress Automatic Upgrade

Также, удаляйте неиспользуемые плагины и файлы.

5. Вместо доступа по FTP используйте более защищенное соединение через SSH/Shell

Если вы используете FTP, данные, которые передаются через программу на сервер можно перехватить и вычислить логин и пароль. Как вариант – не сохраняйте пароли в FTP-менеджере.

Если злоумышленнику это удастся – все остальные способы защиты вам не помогут. Помните это.

Кроме того, можно обеспечить еще и доступ в админку по защищенному SSL-протоколу. Только сначала нужно убедиться, что ваш хостер предоставляет такую возможность.

Если это так, нужно в файл wp-config.php добавить код:

6. Защитите файл wp-config.php от доступа

Для этого в файле .htaccess следует прописать следующий код:

7. Сгенерируйте и установите по настоящему сложный пароль

Если у вас проблема с придумыванием паролей, воспользуйтесь онлайн-генератором паролей тут, тут или тут.

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

8. Убедитесь, что в Базе Данных используется кодировка UTF-8

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

Как это проверить – читайте в статье «Как создать базу данных».

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

9. Приведите в порядок файлы .htaccess и robots.txt.

Это файлы, который отвечают за доступ к файлам и папкам, а также указывают, что разрешено видеть поисковым системам на вашем блоге, а что – нет.

О файле .htaccess более подробно читаем в статье «Полезное о .htaccess», а о файле robots.txt – в статьях «Назначение и синтаксис файла robots.txt и мета-тега Robots» и «Файл Robots.txt. Оптимизация WordPress».

Мой файл .htaccess выглядит так:

А мой файл robots.txt содержит следующие данные:

10. Удалите файл install.php

В версиях движка ранее 3.0 файл install.php нужно было удалять в ручную (иначе бы блог не работал). В новых версиях этот файл удаляется автоматически.

Если вдруг по каким-то причинам этот файл окажется в корневой папку – удалите его.

11. Настройте авто-прерывание сессии.

Обычно большинство хостингов имеет возможность разъединять соединение после 15-20 минут простоя. Если у вас такого нет – обратитесь к вашему хостеру, что бы активировать эту функцию.

II. Защита с помощью плагинов и сторонних сервисов



1. Резервная копия базы данных блога.

Я настоятельно вам рекомендую ежедневно делать резервную копию базы данных. Понятно, что это довольно рутинный процесс. И что бы облегчить вам жизнь – используйте плагин WordPress Database Backup, о котором я подробно рассказал в статье «Создание резервной копии базы данных – плагин WordPress Database Backup».

2. Изменение адреса входа в админ. панель

С помощью плагина Stealth Login можно изменить адрес входа с классического http://имя_сайта/wp-login на любой, который вам понравится.

Это усложнит проблему подбора пароля к админке тем, что сначала ее нужно будет…найти.

Как вариант, с помощью плагина Secure WordPress можно отключить уведомления о неправильно набранном пароле или логине – это также затруднит подбор паролей.

3. Защита от XSS-атак

Я не буду вдаваться в подробности, что это такое (можете посмотреть на сайте Вкипедии). Знайте, что есть такой способ взлома блога и что бы от него обезопаситься, я рекомендую использовать плагин Anti-XSS Attack.

Как вариант, можно в файл .htaccess внести следующий код:

4. Используйте надежные браузеры

Не рекомендуется использовать для «серфинга» по интеренету браузер Internet Explorer и все, что работает на его основе, из-за большого количества «дыр»

Самыми подходящими можно считать Mozilla Firefox, Opera и Google Chrome.

5. Следите за паролями

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

6. Проверяйте антивирусом.

То, что компьютер обязательно должен быть защищен антивирусом – знают все (я надеюсь, вы не только знаете, но и пользуетесь и, что самое главное, — регулярно проверяете).

Но также антивирусом можно проверять и файлы на сервере. Если для вас это проблема – уточните у вашего хостера, как это можно делать.

Кроме того, проверять файлы на хостере можно и плагином WP Antivirus.

7. Скачивайте файлы только с проверенных источников.

В данном случае, речь идет о файлах плагинов и самого движка.

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

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

8. Следите за изменениями файлов и папок.

Вручную это сделать практически нереально – сразу только после установки файлов почти 800 штук.

Но для этого есть специальный плагин – broken link checker. Обязательно его установите и в админке вы всегда будете видеть любые изменения файлов и каталогов.

Также для этих целей можно воспользоваться плагином WordPress File Monitor

9. Исключите СПАМ на блоге

Для этих целей лучше всего комбинировать 2 действия — регулярно просматривать все комментарии и использовать подходящий плагин, например Akismet.

III. Защита, путем добавления определенного кода



1. Скрываем версию движка WordPress

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

Что бы осложнить эту процедуру – не стоит демонстрировать версию движка.

Для этого нужно сделать следующее:

— в папке wp-content/themes/тема_блога/ из файла header.php удаляем следующую строку:

Или

— в этой же папке, в файл functions.php добавляем следующий код (если после этого вы не сможете зайти в админку своего блога – удалите эту строку):

— кроме того, рекомендуется удалить файл readme.html и license.txt из корневой папки блога, т.к. в них тоже содержится версия движка

— если вы не хотите возиться с кодом, установите плагин Secure WordPress и в его настройках установите галочку напротив «Версия WordPress»

Не забывайте только делать резервные копии файлов, в которые вы вносите изменения.

2. Не позволяйте «рыскать» по серверу через ваш блог

Если в папке с темой вашого блога есть файл search.php с вот таким кодом:

Обязательно замените его на:

3. Измените логин входа в админ. панель.

С версии 3.0 движок WordPress позволяет указывать любое имя пользователя (до этого было только стандартное Admin).

Сменить логин можно несколькими путями:

— через админку создать нового пользователя с правами администратора, выйти и зайти под новым логином. Обязательно проверьте, или все функции вам доступны;

— с помощью плагина WPVN-Username Changer;

— внесение изменение в Базу Данных, выполнив сначала такой запрос:

а затем – такой:

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

4. Ограничиваем длинные URL'ы

Что бы злоумышленники не смогли найти брешь в системе с помощью длинных URL'ов, нужно сделать 2 шага:

— в папке с плагинами (wp-content/plugins) создать новый файл, например blockbadqueries.php и внести в него следующий код:

— активировать данный плагин в админке блога.

5. Блокируем хотлинк

Хотлинк – это когда сторонние ресурсы используют картинки, ссылаясь на ваш сервер.

Вреда это не принесет, а вот нагрузку на сервер может увеличить.

Что бы это блокировать, нужно в файл .htaccess добавить следующий код (только не забудьте поменять строчку «ваш_сайт» на реальный адрес сайта), а «ссылка_на_картинку_для_отображения» — это картинка, которую увидит пользователь, если вставит себе вашу картинку:

6. Генерируем уникальные ключи

В файле wp-config.php есть несколько строчек, где нужно ввести уникальный текст:

Рекомендуется вместо «впишите сюда уникальную фразу» вставить уникальный текст.

Если у вас с этим проблемы – воспользуетесь вот этим сервисом – там каждая загрузка (и обновление) дают уникальный текст – можете его скопировать и вставить.

IV. Оптимизация и ускорение работы блога



1. Оптимизируйте вашу Базу Данных.

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

Рисунок - Оптимизация базы данных

2. Оптимизируйте картинки

Никогда не всталяйте фотографии и картинки на блог, если они занимают большой объем (в идеале – не более 50 кБ). Для этих целей используйте, например PhotoShop (функция «Сохранить для Веб») или иную программу-оптимизатор картинок.

В большинстве случаев я использую программу FSCapture

3. Использование тега <h1> для тайтла

Тут я хочу рассмотреть 2 варианта:

— проверьте, что бы Заголовок (Тайтл) вашей статьи, когда она одна отображается, был окружен только тегом <h1>. Очень часто сюда еще добавляется тег ссылки <a> и как результат – открыв статью, ее заглавие ссылается на эту же статью. Так быть не должно – удалите все лишние теги.

— существует мнение, что для названия сайта тег <h1> должен использоваться только на главной странице. На внутренних страницах должен использоваться тег <h3> или ниже.

Это делается потому, как на странице тег <h1> должен встречать только один раз. А в исходном варианте, открывая страницу, этот тег встречается дважды – в названии блога и в названии статьи.

Что бы это осуществить, нужно в файле header.php вашей темы строку:

заменить на:

У себя попробовал – немного рассыпается блог – нужно будет поиграться.

4. Уменьшите количество запросов к базе данных

Следующие советы будут направлены на то, что бы исключить все функции, которые используют запросы к базе данных, но могут без этого обойтись. Эти советы я взял с сайта Tokarevs.ru, потому привожу их без изменения:

Функции между тегами <header> </header>

1. Функцию < ?php bloginfo ('html_type'); ?> можно заменить на text/html

2. < ?php bloginfo ('charset'); ?> на UTF-8 (Если Вы при настройке не указывали другую)

3. В теге Title, во многих темах стоит < ?php bloginfo ('name'); ?>, её можно заменить на название блога.

4. < ?php bloginfo ('version'); ?> (версия Вашего WP) также можно прописать прямо в шаблоне.

5. < ?php bloginfo ('stylesheet_url'); ?> (путь к файлу CSS), прописываем вручную. Например, http://Адрес_Блога/wp-content/themes/Папка_с_темой/style.css

6. <link rel=”alternate” type=”application/rss+xml” title=»<?php bloginfo (‘name’); ?> RSS Feed» href=»< ?php bloginfo (‘rss2_url’); ?>» /></link> заменяем на <link rel=”alternate” type=”application/rss+xml” title=”RSS 2.0” href=”Адрес Вашего фида” />

Функции между тегами <body> </body>

7. В головной части Вашей темы Вы найдёте строчку: <a href=»<?php echo get_settings (‘home’); ?>/»>< ?php bloginfo (‘name’); ?></a>, где первую функцию можно заменить на адрес Вашего блога, вторую на его название.

8. После названия блога, почти во всех темах идёт его описание, т.е. < ?php bloginfo ('description'); ?>, которое можно так же заменить на описание Вашего блога.

9. Если у Вашей темы вверху выводятся страницы, значит функцию < ?php echo get_settings ('home'); ?> Вы может заменить и там.

Далее идём к файлам, выводящим наши записи.

10. В них Вы можете найти что-то вроде этого < ?php the_author (); ?> т.е. то, что выводит автора записи. В моём случае это выглядет так <a href=»<?php the_author_url (); ?>»>< ?php the_author (); ?></a> Ну и заменяем первое на адрес автора, второе на его имя. (Данные изменения рекомендуются только для персональных блогов, где автор всегда один и тот же.)

Теперь при загрузке страницы будет происходить на 13 запросов меньше. Но стоит обратить внимание на то, что некоторые из этих функций могут использовать Ваши плагины. И изменения головной части может нарушить их работу. У меня таких нет, поэтому я сделал всё выше описанное без вреда для блога.

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

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

Спасибо, что дочитали ее до конца.

На сегодня это все.

Желаю удачи!