WordPress для новичков — учимся правильно готовить
Добрый день, товарищи. Опять из-за занятости не хватает времени чтоб писать сюда. Последнее время появилось много работы, как на основной, так и всяких подработок. Как на работе, так и во фрилансе, часто использую CMS WordPress. Причин для этого достаточно — простота для конечных пользователей, большое количество плагинов, позволяющих реализовать практически любой вид сайта (хотя я подбираю CMS в зависимости от задачи). В данной статье хотел рассказать о некоторых нюансах, которые облегчат, ускорят и структурируют работу с WordPress
Автоматизация сборки
В работе и фрилансе я использую Linux Mint — он дружественный к пользователю, понятный и стабильный. В добавок веб-сервера, с которыми я работаю — под управлением Ubuntu Server, а это значит, что код, который хорошо работает у меня, точно так же будет работать и на этих серверах. Потому я и дописал скрипт, о котором писал ранее, и добавил в него функционал, который экономит мне на старте в районе 30 минут
Собственно сам скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
#!/bin/bash domain=$1 user=loki #имя пользователя group=loki #группа пользователя dir=sites #папка в домашнем каталоге, в которой будут лежать файлы сайтов distr=wordpress-4.2.2-ru_RU.zip #версия русской сборки с оф. сайта dm=`ls /etc/apache2/sites-available/$domain` if [[ "$dm" = "/etc/apache2/sites-available/$domain" ]] then echo 'Домен уже существует. Выберите другое имя' else # запись в hosts echo "127.0.0.1 $domain" >> /etc/hosts echo "Создание директорий для домена $domain" mkdir -p /home/$user/$dir/$domain mkdir -p /home/$user/$dir/$domain/logs chown -R $user:$group /home/$user/$dir/$domain chmod 0777 -R /home/$user/$dir/$domain echo "Создание виртуального хоста для домена $domain" echo "<VirtualHost *:80> ServerName $domain DocumentRoot /home/$user/$dir/$domain <Directory /home/$user/$dir/$domain> Require all granted </Directory> ErrorLog /home/$user/$dir/$domain/logs/error_log </VirtualHost>" >> /etc/apache2/sites-available/$domain.conf echo "Включение виртуального хоста $domain" a2ensite $domain echo "Обновление конфигурации Apache" /etc/init.d/apache2 reload echo "Виртуальный хост создан" fi #качаем последний wordpress и переносим его в папку с сайтом wget https://ru.wordpress.org/$distr unzip $distr #качаем и распаковываем нужные плагины wget https://downloads.wordpress.org/plugin/all-in-one-wp-security-and-firewall.zip #распаковываем нужные плагины unzip all-in-one-wp-security-and-firewall.zip #копируем файлы wordpress в папку с сайтом cp -av /home/$user/wordpress/* /home/$user/$dir/$domain #копируем файлы плагинов в папку распакованного wordpres cp -av /home/$user/all-in-one-wp-security-and-firewall/ /home/$user/$dir/$domain/wp-content/plugins #удаляем временные файлы unlink all-in-one-wp-security-and-firewall.zip unlink $distr unlink /home/$user/$dir/$domain/wp-content/plugins/hello.php rm -rf /home/$user/wordpress rm -rf /home/$user/all-in-one-wp-security-and-firewall rm -rf /home/$user/$dir/$domain/wp-content/plugins/akismet #назначаем права на папку с сайтом chmod 0755 -R /home/$user/$dir/$domain/ #создаем базу данных для сайта #пароль пишется слитно с ключем -p mysql -u root -pPASS -e "Create database $domain;" exit 0 |
после выполнения этого скрипта командой
1 |
sudo sh add_wp_site.sh domain_name |
мне остается только перейти на свежесозданный сайт и вписать в стандартную установку названия сайта и доступ к базе.
В скрипт вы можете дописывать свои часто используемые плагины, если возникнут затруднения — пишите в комментарии. Указав ссылки на плагины с https://wordpress.org/plugins/ , вы получите свежую сборку с самыми новыми версиями плагинов.
Фильтры и actions
Механизм фильтров и действий в wordpress позволяем изменять поведение системы, тем и плагинов, не изменяя их код, что позволяет обновлять систему и компоненты и не переживать, что ваши изменения затрутся.
Материалы по применению:
Существенный недостаток данного механизма — затруднение отладки кода, т.к. вы можете запутаться и не сразу узнать, в каком именно месте вы влияете на выводимое значение или в каком файле прописан нужный action, в связи с чем вытекает следующий пункт
Используйте CVS (системы контроля версий)
Даже если вы работаете один, тем не менее наличие системы контроля версий в вашем проекте позволит вести историю изменений, что существенно облегчит отладку и поддержку проекта
Используйте дочерние темы
Дочерние темы позволяют изменять функционал уже скачанной темы, при этом давая возможность корректно ее обновить. К примеру, если вы скачали какую-либо тему для бюджетного сайта, то не обязательно исправлять все напрямую в коде темы — создайте дочернюю тему и переносите файлы, которые будете изменять туда.
Меньше плагинов
Не все плагины одинаково полезны. Часто в логах я вижу, как пытаются достучаться до файлов плагинов с известными уязвимостями. Поэтому рекомендую реализовывать как можно больше стандартными методами
Тут конечно далеко не все нюансы, но соблюдение этих простых пунктов облегчит вам работу с wordpress. Если у вас будут вопросы — не стесняйтесь, задавайте их в комментариях. Спасибо за внимание
Теги: wordpress оптимизация
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.