Как создать сайт на WordPress: гайд для начинающих (LEMP)

Свой сайт на WordPress можно поднять без студии и без глубокого бэкенда. Ниже — пошаговый путь: домен, VPS с Ubuntu, LEMP (Nginx + PHP + MariaDB), установка WordPress, базовые настройки, SEO, безопасность и скорость. Ориентир — сервер под вашим контролем, а не только shared-хостинг «в один клик».

Почему WordPress

WordPress — CMS, на которой крутится большая часть сайтов в интернете. Для старта обычно хватает:

  • Простой админки — страницы, записи, меню без обязательного кода
  • Тем и плагинов — дизайн и функции расширяются без переписывания ядра
  • SEO-базы — ЧПУ, заголовки, sitemap через плагины
  • Сообщества — документация, форумы, готовые решения типовых задач

Шаг 1. Подготовка

Домен

Домен — адрес сайта (например, example.com). Берите короткое, читаемое имя без лишних цифр и дефисов, если они не нужны бренду. После покупки у регистратора укажите A-запись на IP вашего VPS (и www, если нужна).

Хостинг или VPS

Для этого гайда нужен сервер с Linux, root/sudo и возможностью поставить Nginx, PHP и MySQL/MariaDB. На shared-хостинге часто есть «установить WordPress» — тогда часть шагов с LEMP не нужна. На VPS вы контролируете стек целиком.

На что смотреть при выборе:

  • стабильность и понятная панель/доступ по SSH
  • поддержка актуального PHP и MariaDB/MySQL
  • достаточно RAM (для блога с запасом комфортнее от 1-2 ГБ)
  • нормальная поддержка, если что-то пойдет не так

Сервер на Ubuntu

Удобный вариант — Ubuntu LTS. После создания VPS обновите пакеты, заведите отдельного пользователя с sudo (по желанию) и закройте лишние порты файрволом. Дальше — установка стека.

Шаг 2. LEMP-стек

LEMP: Linux, Nginx (E от Engine-x), MySQL/MariaDB, PHP. WordPress работает на PHP и нуждается в БД и веб-сервере.

Установка пакетов (Ubuntu)

sudo apt update
sudo apt install -y nginx
sudo apt install -y mariadb-server
sudo apt install -y php-fpm php-mysql php-xml php-curl php-mbstring php-zip php-gd php-imagick

Вместо MariaDB можно поставить mysql-server — логика та же. Версии PHP зависят от релиза Ubuntu; при необходимости подключите репозиторий ondrej/php и укажите конкретную ветку (например, 8.2).

Каталог сайта

sudo mkdir -p /var/www/yourdomain.com
sudo chown -R $USER:$USER /var/www/yourdomain.com

Виртуальный хост Nginx

Создайте конфиг (подставьте свой домен и путь к сокету PHP-FPM — он зависит от версии, часто /run/php/php8.x-fpm.sock):

sudo nano /etc/nginx/sites-available/yourdomain.com
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2?)$ {
        expires 30d;
        access_log off;
    }

    client_max_body_size 64M;
}

Включите сайт и проверьте конфиг:

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Позже имеет смысл выпустить SSL через Certbot (Let’s Encrypt). Для старта достаточно HTTP, но в проде HTTPS обязателен.

Шаг 3. База данных

sudo mysql

В консоли MariaDB/MySQL (пароль и имена — свои, не оставляйте примеры на проде):

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strong-password-here';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Шаг 4. Установка WordPress

Скачать и распаковать

cd /var/www/yourdomain.com
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
mv wordpress/* ./
rm -rf wordpress latest.tar.gz

Права

sudo chown -R www-data:www-data /var/www/yourdomain.com
sudo find /var/www/yourdomain.com -type d -exec chmod 755 {} \;
sudo find /var/www/yourdomain.com -type f -exec chmod 644 {} \;

wp-config.php

cd /var/www/yourdomain.com
cp wp-config-sample.php wp-config.php
nano wp-config.php

Пропишите данные БД:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'strong-password-here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

Ключи и соли (AUTH_KEY, SECURE_AUTH_KEY и остальные) лучше сгенерировать на сервисе WordPress.org и вставить вместо заглушек. Так сложнее угадать cookie и сессии.

Шаг 5. Мастер установки в браузере

Откройте http://yourdomain.com/ (или IP, если DNS еще не разошелся). Дальше:

  • язык интерфейса
  • название сайта
  • логин администратора (не используйте admin)
  • сильный пароль
  • email для восстановления и уведомлений

После «Установить WordPress» зайдите в /wp-admin/. Базовая установка на Nginx готова.

Шаг 6. Тема, плагины, контент

Тема

В админке: Внешний вид → Темы → Добавить новую. Для старта достаточно легкой темы из каталога или блочной темы. Не ставьте десяток «премиум-демо» подряд — лишний код тормозит сайт.

Плагины (разумный минимум)

  • The SEO Framework или аналог — title, description, разметка
  • контактная форма — Contact Form 7 или современный аналог
  • антиспам — Akismet или встроенные/сторонние фильтры
  • позже: бэкапы, кэш, безопасность — по необходимости, не все сразу

Установка: Плагины → Добавить новый, поиск, «Установить» → «Активировать».

Страницы, записи, меню

  • Страницы — О проекте, Контакты, услуги. Страницы → Добавить
  • Записи — блог, новости. Категории и метки по смыслу, без мусора
  • МенюВнешний вид → Меню: соберите пункты и назначьте область (главное меню)

Шаг 7. SEO-база

Постоянные ссылки

Настройки → Постоянные ссылки → вариант «Название записи» (post name). Сохраните. Nginx уже должен отдавать pretty permalinks через try_files ... /index.php?$args.

Плагин SEO

The SEO Framework (или Yoast / Rank Math — на выбор) дает мета-заголовок, описание, контроль индексации. Заполняйте description по смыслу страницы, без спама ключами. Длина description обычно до ~155-160 символов.

Контент

  • свои тексты, а не копипаст
  • понятная структура: H2/H3, списки, короткие абзацы
  • ключи там, где они естественны для темы, без «простыни» из повторов

Шаг 8. Безопасность и бэкапы

  • обновляйте ядро, темы и плагины; удаляйте неиспользуемое
  • сильные пароли, по возможности 2FA для админов
  • плагины вроде Wordfence / iThemes Security — с умом, без конфликтов
  • бэкапы: UpdraftPlus или снапшоты VPS + дамп БД по cron
  • файрвол (ufw), fail2ban, отключение лишнего в SSH

Шаг 9. Скорость

  • кэш — WP Super Cache, LiteSpeed Cache (если стек позволяет), Nginx microcache и т.п.
  • картинки — сжатие (Smush, ShortPixel, ручной WebP), адекватные размеры
  • CDN — Cloudflare или другой, если аудитория геораспределена
  • не держите 30 «must-have» плагинов без причины

Шаг 10. Запуск и дальше

  • проверьте формы, 404, мобильную верстку, HTTPS и редирект www/non-www
  • подключите аналитику (например, GA4 или Яндекс.Метрику) и Search Console / Вебмастер
  • пишите контент регулярно — пустой сайт не ранжируется «сам»
  • мониторьте uptime и ошибки PHP/Nginx в логах

Краткий чеклист

  1. Домен → DNS на IP VPS
  2. Ubuntu, Nginx, PHP-FPM, MariaDB
  3. БД + пользователь WordPress
  4. Файлы WordPress, права, wp-config, соли
  5. Мастер установки, тема, минимум плагинов
  6. ЧПУ, SEO-плагин, SSL
  7. Бэкапы, обновления, кэш

WordPress на своем LEMP — это не «магия», а понятная цепочка. Сделайте базу аккуратно один раз, и дальше основная работа — контент и поддержка, а не борьба с установкой.

Источники и ссылки


Комментарии загружаются…