WordPress — это популярный движок для создания блогов. К сожалению, его api мне плохо знаком — работаю в основном с bitrix. Поэтому в WordPress обращаюсь напрямую к базе, при необходимости что-то запрограммировать. В статье расскажу какими MySQL запросами можно получить данные публикаций с сайта на WordPress. Читать
Архив рубрики: WordPress
Сервисы обновления WordPress
Движок WordPress хорош несколькими встроенными функциями. К примеру, пингом различных сервисов для блогов. Список этих сервисов можно найти в панели администратора, в закладке «настройки» — «написание». Внизу страницы есть текстовое поле «Сервисы обновления». Зачем же нужны сервисы? Читать
Пошаговый план создания сайта на WordPress и разбор всех этапов
Доброго времени суток, уважаемые читатели блога ИнетСоветы.ру. В этой статье я детально рассмотрю все этапы создания сайта на WordPress (WP) с нуля. После прочтения статьи вы будете иметь полное представление и пошаговую инструкцию для начинающих, как создать сайт на Вордпресс своими руками. Разобраться сможет даже новичок!
Чем хороша CMS-система WP?
Что такое WordPress? ВордПресс – это одна из популярнейших в мире систем управления сайтом (CMS). Существуют разнообразные движки для сайтов, обзор самых популярных приведен в статье по ссылке https://inetsovety.ru/cms-dvizhok-dlya-sayta/
Кратко рассмотрим главные преимущества WP:
- движок бесплатный и регулярно обновляется разработчиками;
- на нем можно создать любые типы сайтов (какие бывают виды веб-проектов читайте здесь);
- благодаря своей популярности, под CMS WordPress создано множество бесплатных и платных шаблонов внешнего оформления.
- под Вордпресс разработано большое количество дополнений для реализации функционала, который нужен под ваши задачи;
- разобраться, как работать в административной панели WordPress, сможет даже новичок – все интуитивно понятно;
- на биржах фриланса много программистов, которые помогут вам настроить сайт в случае возникновения трудностей с самостоятельной разработкой. Рекомендую обратить внимание на биржу Кворк, где стоимость услуг составляет всего 500 руб. за задание.
Особенности движка рассмотрели, перейдем непосредственно к вопросу, как самостоятельно сделать сайт на Вордпресс.
Алгоритм создания сайтов на WordPress для начинающих
7 пунктов, которые отделяют вас от готового проекта:
- Определяем, зачем нам нужен сайт и выбираем тематическое направление.
- Подбор доменного имени и регистрация хостинга.
- Установка WordPress на хостинге и запуск сайта.
- Базовые настройки WP.
- Выбор бесплатного шаблона или заказ платной темы оформления у веб-дизайнеров.
- Подключение основных плагинов, необходимых любому проекту.
- Публикация записей.
Теперь в деталях рассмотрим каждый этап нашего алгоритма.
Этап №1: о чем будет проект
На любые темы уже созданы десятки, сотни и даже тысячи сайтов. Но вы можете занять свое место в любой нише, если будете следовать следующим принципам при выборе тематики для своего проекта. Первый проект, как правило тестовый, у начинающего разработчика еще нет четкого плана и уверенности в успехе начатого дела.

Перед тем, как создать свой сайт на WordPress, набросайте список тем, к которым у вас есть интерес или вы готовы изучать информацию, повышая свою экспертность. Важно, чтобы у вас была заинтересованность в теме и мотивация заниматься сайтом, иначе он скоро будет заброшен.
От момента написания первых статей до начала роста посещаемости и получения первых денег, проходит от 6 месяце до года и более. Все это время вам нужно работать над наполнением сайта. Чем больше качественных статей будет опубликовано, тем лучшие результаты вы получите в будущем. Помните, здесь нет мгновенных результатов!
Не стоит сразу выбирать широкую тематику, например здоровье, авто, кулинария, строительство, туризм, дом и семья, бизнес и финансы. Каждое из этих направлений делится на много мелких тем.
Новому сайту не под силу конкурировать с крупными порталами, поэтому создавайте сайт в узкой теме, постепенно ее расширяя. Только крупные сайты могут позволить себе писать обо всем в широкой нише. Но для этого нужны большие бюджеты на оплату услуг команды копирайтеров и контент-менеджеров.
Выбираем популярную тематику, где есть рекламодатели, чтобы сайт приносил доход. Посмотрите с десяток сайтов конкурнетов, оцените их фишки и сильные стороны, структуру разделов и подачу информации. Поищите счетчик на сайте, обратите внимание на виды рекламы, размещенные на сайте. Если есть страничка «реклама» загляните туда, чтобы увидеть за какую цену рекламодатели платят за рекламу.
А вы знаете, какими способами зарабатывают сайты? Смотрите статью.
Этап №2: домен и хостинг
Если вы создаете сайт для заработка на нем, забудьте о бесплатном домене третьего уровня и хостинге. Конструкторы сайтов, предлагающие создать сайт бесплатно, предполагают ряд ограничений на бесплатном тарифе, а именно: встроенную рекламу разработчиков, ограничение на привязку домена второго уровня. А, если оплачивать помесячную подписку для снятия этих ограничений, то по деньгам получается то же самое, если вы приобретаете домен второго уровня и оплачиваете автономный хостинг.

Даже конструктор сайтов Вордпресс не является исключением, посмотрите расценки на сайте
Далее в статье будет идти речь о том, как сделать сайт на WordPress, но не на конструкторе, а на автономном движке, который скачивается бесплатно с этого сайта и устанавливается на выбранный вами хостинг.
На регистрацию красивого доменного имени в зоне ru вам понадобятся стартовые вложения – минимум 149 руб. в первый год. Продление домена на следующий год немного дороже.

Как подобрать домен и где его недорого зарегистрировать подробно расписано в статьях по ссылками ниже:
- Статья о выборе доменного имени https://inetsovety.ru/kak-vybrat-domennoe-imya-dlya-sajta/
- Где зарегистрировать https://inetsovety.ru/kak-kupit-domen-na-2domains/
Что касается хостинга, сразу выберите для качественного и недорогого хостера. Я рекомендую две компании, у которых я размещаю все свои сайты:
- ;
- .
За среднюю по рынку цену вы получаете качественные услуги хостинга и отзывчивую техническую поддержку, помогающую решить возникающие проблемы.
Этап №3: как установить на сайт wordpress
Сейчас уже не нужно думать о том, как установить Вордпресс. На всех упомянутых выше хостингах Бегет и Макхост, CMS WP предустановленна. Вам не нужно заходить на официальный сайт WordPress и скачивать архив с CMS. А далее распаковывать его вручную на хостинге. Многие хостеры автоматизировали этот процесс.

Теперь при создании нового сайта, Вы просто выбираете в списке движок WordPress, и он сам устанавливается в директорию сайта по щелчку кнопки мыши.
Как сделать сайт на Вордпресс на Бегет, пошагово расписано в статье по ссылке:
https://inetsovety.ru/kak-sozdat-sayt-na-hostinge-beget/
Этап №4: настройка сайта на wordpress
На этом этапе вы в административной панели WP, в левом меню, в разделе «Настройки» производите базовые настройки. Еще раз рассказывать о том, как настроить сайт на WordPress, не буду, даю вам ссылку на опубликованную ранее статью «Настройка ВордПресс после создания сайта».
Если у вас сложная тема, в таком случае перейдите в пункт меню «Внешний вид» — «Настройки (может быть название темы)» и сделайте необходимые установки.
По удаляйте лишние виджеты с сайдбара. Сейчас уже никому не нужны блоки «мета», «облако меток», «архивы». Достаточно вывести «категории» и «последние (популярные) записи». Большие количество виджетов создают лишние запросы к БД сайта и повышают нагрузку на хостинг.
Этап №5: подбор темы оформления
Чтобы создать блог на WordPress, который будет выделяться, и отличаться от множества других веб-проектов, ему необходимо выбрать из готовых или заказать разработку уникального дизайна.

За внешний вид и функциональность веб-сайта или блога на WP отвечает шаблон (тема оформления). В сети масса бесплатных и платных тем, которые можно подобрать под выбранную тематику сайта и дополнить ее необходимым функционалом.
При выборе темы обращайте внимание на следующие характеристики:
- Адаптивность для различных размеров экрана. Сейчас доля посетителей с мобильных устройств активно увеличивается. Для пользователей с этих устройств в результатах выдачи в первую очередь показываются сайты, имеющие адаптивную верстку шаблона, и удобные для просмотра на маленьких экранах.
- Бесплатный или платный шаблон? Не смотря на обилие в интернете бесплатных тем оформления, они таят в себе спрятанные сюрпризы. Какие именно, читайте в статье «Скрытые угрозы в бесплатных шаблонах для сайта». Если и скачивать тему, то только с официального сайта ВордПресс, а потом ее дорабатывать и уникализировать под свои нужны. Если у вас есть бюджет (до 5000 руб.), купите уже готовую тему. Сейчас продаются качественные адаптивные темы, которые быстро грузятся и удовлетворяют требованиям поисковиков.
- Если вы новичок, не выбирайте слишком сложную тему. Разобраться в ее намного сложнее начинающему вебмастеру. На первых порах не так важен дизайн, делайте упор на качество публикуемых статей.
- По поводу языка темы, выбирайте русскоязычный шаблон. Не редко встречаются красивые англоязычные дизайны, но нужно повозиться самом у или заплатить фрилансеру за ее адаптацию на русский.
Если вы создаете свой первый сайт и у вас есть бюджет для вложений, купите замечательную, оптимизированную по всем необходимым характеристикам, тему . Прочтите ее описание на сайте разработчика и поймете почему она такая хорошая.
Установить и настроить шаблон на сайт на wordpress вам помогут следующие статьи:
Этап №6: устанавливаем базовый набор плагинов
Это последний технический этап настройки сайта на Вордпресс своими руками.
Чтобы создать блог на WordPress, который будет технически оптимизирован для поисковых систем, защищен от взлома и спама, функционален для посетителей нужно установить несколько основных плагинов.
Повысить безопасность проекта от спамеров и взломщиков помогут следующие плагины:
- Автоматическое создание резервной копии базы данных и отправка на имейл администратора. В случае взлома вы всегда сможете восстановить из бэкапа не зараженную БД. В этом вам может плагин WP-DB-Backup, инструкция по настройке находится по ссылке https://inetsovety.ru/plagin-wordpress-database-backup/
- Защита административной панели от подбора логина и пароля. Установите один из плагинов Limit Login Attempts или Login LockDown, чтобы настроить автоматическую блокировку по IP, в случае 3 неудачных попыток авторизации (ввода неправильного логина или пароля от админки). Подробнее тут.
- Спам боты начнут комментировать записи вашего блога на Вордпресс сразу после его создания, даже если на нем еще не будет посетителей. Установите бесплатное дополнение Akismet для фильтрации комментариев с огромным количеством ссылок. Описание смотрите по ссылке https://inetsovety.ru/plagin-akismet/.
Создать сайт на ВордПресс, соответствующий техническим требованиям поисковиков, поможет установка нескольких SEO-плагинов.
- Google XML Sitemaps — создаст карту сайта для поисковых роботов и будет производить ее обновление при редактировании старых или создании вами новых публикаций на сайте. Инструкция по настройке находится здесь.
- Для управления индексацией сайта, прописывания мета-данных страниц (Title, Description) необходим один из плагинов: All in One SEO Pack, WordPress SEO by Yoast, Platinum SEO Pack. Выберите для себя только один, все 3 устанавливать не нужно, т.к. они будут конфликтовать между собой. Как настроить All in One SEO Pack читайте по ссылке https://inetsovety.ru/plagin-all-in-one-seo-pack/
Новым сайтам устанавливать плагин кеширования WP Super Cache не обьязательно, но возьмите его себе на заметку. С ростом посещаемости будет увеличиваться число запросов к БД и возрастать нагрузка на хостинг. Кеширование страниц поможет снизить нагрузку.
Вам также будут полезны следующие статьи:
- Вывод похожих записей с картинками после статьи.
- Постраничная навигация по сайту.
- Зачем нужен и как создать файл Robots.txt.
- Установка счетчика посещаемости Liveinternet.
На блоге еще много полезных записей по настройке дополнительного функционала для нового сайта, прочтите статьи из соответствующих разделов.
Этап №7: публикация материалов
Создание блога на WordPress с нуля завершено, произведены основные настройки, теперь приступаем к наполнению его материалами.
Прежде, чем писать статью, необходимо подобрать ключевые слова для нее. Если в тексте не добавлены ключи, поисковики ее не будут показывать в поисковой выдаче, какой хорошей она не была бы. Самый простой и бесплатный сервис – Яндекс Вордстат, как с ним работать читайте в статье по ссылке https://inetsovety.ru/podbor-klyutchevh-slov-v-yandeks/
Что собой представляет SEO оптимизация статьи и как ее выполнить без вреда для сайта и не получить санкции от поисковиков, читайте здесь.
Рассмотрим, как работать в WordPress, а именно создавать записи и страницы.
Слева в меню выберите «Записи – Добавить новую».
Укажите название и текст, который хотите разместить. Есть 2 режима редактирования – текст и визуально. В первом мы вставляем коды. Оформляем же текст в визуальном редакторе. В нем доступны опции создания маркированного и нумерованного списков, настройка выравнивая текста, изменения цвета текста, добавления медиафайлов и ссылок.
Коды видео вставляйте в режиме «текст».
Чтобы загрузить изображение кликните на кнопку «Добавить медиафайл». Обязательно почитайте, что такое SEO оптимизация изображений и как она выполняется.
В правой колонке в админке находится блок «Опубликовать». Есть две кнопки «Сохранить» для сохранения текущей версии записи и «Просмотр», позволяет вам наглядно посмотреть, как выглядит текущая редакция статьи. Ниже выберите рубрику, в которой будет размещен пост. Если тема поддерживает миниатюры, загрузите картинку, которая будет отображаться в анонсе записи и привлекать больше внимания.
В центральной колонке будет форма Seo-плагина, в которой вам нужно прописать Title и Description для статьи. Как их правильно заполнять читайте тут.
Что касается страниц, то их много вам не нужно. Обычно на каждом сайте публикуются страницы с описанием сайта, информацией для рекламодателей, картой сайта для пользователей и формой обратной связи с администратором.
Создаются они также. Слева в меню выберите «Страницы – Добавить новую».
Из статьи вы узнали, как создать сайт на Вордпресс с нуля, бесплатно и самостоятельно. Если материал вам оказался полезным, ставьте лайки, делитесь в соцсетях и комментируйте. До встречи!
Уязвимость WordPress (CVE-2017-8295)
WordPress, самая популярная CMS в мире, в которой была выявлена уязвимость. Суть уязвимости заключается в использовании логической ошибки в механизме восстановления пароля WordPress. Когда пользователь запрашивает такую смену, WordPress генерирует уникальный секретный код и отправляет его на email, который хранится в базе.
Уязвимость (CVE-2017-8295) влияет на все версии WordPress, включая последнюю версию 4.7.4. Уязвимость в WordPress была обнаружена Польским исследователем безопасности Даудом Голунски (Dawid Golunski ) из Legal Hackers в прошлом году в июле. Он сообщил об этом команде безопасности WordPress, которая решила проигнорировать эту проблему, оставив миллионы сайтов уязвимыми.
“Эта проблема неоднократно сообщалась в группу безопасности WordPress. Первый отчет был отправлен в июле 2016 года. Об уязвимости сообщалось как непосредственно через контактный адрес службы безопасности, так и через веб-сайт HackerOne”, – написал Голунский.
Подробнее об уязвимости
При отправке этого сообщения для получения имени хоста сервера используется переменная SERVER_NAME — это нужно, чтобы установить значения в поля From/Return-Path. В поле «From» хранится адрес отправителя, а в «Return-Path» — адрес, на который должны доставляться сообщения ‘bounce-back’, они генерируются в случае сбоя отправки.

По словам Голунски, злоумышленник может отправить специальный HTTP-запрос с предустановленным значением hostname (например, attacker-mxserver.com) и одновременно инициировать процесс сброса пароля для какого-либо пользователя — к примеру, администратора сайта.
Поскольку имя хоста в HTTP-запросе — это домен, контролирующийся атакующим, поля From и Return-Path в письме для сброса пароля будут изменены таким образом, что в них будет включен почтовый адрес, связанный с доменом хакера — например, wordpress@attacker-mxserver.com вместо wordpress@victim-domain.com.
Письмо с кодом для сброса пароля будет все равно отправлено на адрес жертвы, однако при определенных условиях получить его сможет и атакующий.
- Если жертва ответит на письмо, то ответ уже будет отправлен на адрес взломщика (теперь он хранится в поле From), а в истории переписки сохранится ссылка на сброс пароля.
- Если по какой-то причине доставка письма жертве не удастся, то сообщение о сбое будет автоматически перенаправлено на адрес злоумышленника (он указан в Return-Path).
- Другой возможный сценарий — для того, чтобы первоначальное сообщение не было доставлено жертве, злоумышленник может провести DDoS-атаку на email-сервер целевого пользователя или отправить на его адрес большое количество писем, добившись того, что почтовый адрес больше не сможет принимать сообщения. Таким образом произойдет сбой доставки, и сообщение об это будет доставлено атакующему.
«Атака CVE-2017-8295 потенциально может быть выполнена как при взаимодействии с пользователем (пользователь нажимает на кнопку« Reply»), так и без взаимодействия с пользователем (почтовый ящик жертвы превышает квоту хранения)», – сказал Голубский The Hacker News В электронном письме.
Манипуляции с заголовком SERVER_NAME с помощью HTTP-заголовка Host могут быть осуществлены на «дефолтных» настройках веб-сервера Apache, который чаще всего используется для развертывания WordPress.
PoC HTTP-запрос:
POST /wp/wordpress/wp-login.php?action=lostpassword HTTP/1.1 Host: injected-attackers-mxserver.com Content-Type: application/x-www-form-urlencoded Content-Length: 56 user_login=admin&redirect_to=&wp-submit=Get+New+Password
Как защититься
Поскольку официального патча для закрытия уязвимости не существует, администраторов сайтов на WordPress рекомендуется обновить конфигурацию, активировав опцию UseCanonicalName — это позволит установить статическое значение SERVER_NAME и сделает проведение атаки невозможным.
Источники:
- https://habrahabr.ru/company/pt/blog/328520/
- http://thehackernews.com/2017/05/hacking-wordpress-blog-admin.html
WordPress. Опыты с wp-cron
Как-то раз на одном из моем хостинге, при разворачивании нового сайта, вызов wp-cron.php из wordpress не работал. Все бы было хорошо, если бы мне не понадобился плагин WP Super Cache для корректной отдачи HTTP заголовков, который при активации проверяет доступность wp-cron.php вот этим кодом:
$cron_url = get_option( 'siteurl' ) . '/ wp-cron.php?check=' . wp_hash('187425');
$cron = wp_remote_get($cron_url, array('timeout' => 0.01, 'blocking' => true));
if( is_array( $cron ) ) {
if( $cron[ 'response' ][ 'code' ] == '404' )
Мдя. У меня аккурат 404 и возвращало. Ну как сие обойти, догадаться не сложно, но вот как мусор подчищать в кэше было не очевидно. Обкурившись интернета до полной нирваны, решил устроить дерганье wp-cron.php средствами сервера хостинга, благо у меня такая возможность есть.
В процессе по наступал на россыпь маленьких граблей, о них тут и расскажу. Первое что надо сделать, это сказать wordpress, что мы сами знаем как часто нам крон дергать. Для этого в файле wp-config.php рисуем строку:
define('ALTERNATE_WP_CRON', true);
повыше директивы
require_once(ABSPATH . 'wp-settings.php');
После того, как это прописалось, я взял голыми руками wp-cron.php и скопировал его в файл vasya_forever.php и положил рядом с файлом wp-cron.php в тот же каталог.
Этого глумления мне показалось мало, поэтому я вместо прав 644 выдал файлу vasya_forever.php права 755. Мне его надо будет посторонними вещами дергать, для этого и сыр-бор. Если выставить 755 на wp-cron.php то любой шланг из интернета сможет дергать ваш wordpress cron когда угодно, и в общем-то нагрузить сервер от души, если запросов будет много. Соответственно, настоящее имя файла вася-форевер я не скажу, и вы ни кому не говорите.
После этих манипуляций я в DirectAdmin для крона прописал следующую команду запуска:
*/15****/usr/bin/wget -O tempo http://myenotes.ru/vasya_forever.php > /dev/null
Это извращение заставляет wget, с сервера хостинга, каждые 15 минут обращаться к файлу vasya_forever.php, который будет выполнять крон-задания вордпресс. Все, что wget получит, он будет аккуратно складывать в файл tempo, затирая его при каждом вызове. Директива >/dev/null заставляет cron писать не мне на почту, как это принято в Unix системах, а сразу все письма умножать на ноль, чтоб не отвлекали. Продолжаться этот бардак, как вы понимаете, будет до тех пор, пока мне не надоест.
WordPress. Шаблон Your Journey – Travel Blog WordPress и описание рубрик
Прикупил на Themeforest шаблон Your Journey – Travel Blog WordPress для одного из сайтов. Начал заполнять контентом, добавлять описание рубрик. И тут я вижу, что описание рубрики вставляется в шапку, а не контентный блок, да еще и без html разметки. Т.е получается сплошной текст в шапке, а при размере в 3000 знаков, это выглядит убого и не читабельно.
Делаем нормальное описание рубрики
Ну ок, попробуем это исправить (Пример того, что получится можно посмотреть тут).
Первое что нужно сделать, это резервную копию вашего сайта, ну или хотябы файлы в которые будем вносить изменения. Я использую формат отображения новостей в рубрике listing, будем исправлять соответственный шаблон.

Не будем трогать оригинальный шаблон отображения новостей, а сделаем новый. Для этого создадим файл /www/wp-content/themes/Yourjourney/layout/listingc.php и скопируем в него содержимое из файла /www/wp-content/themes/Yourjourney/layout/listing.php
Находим и меняем строки:
<div class="content"> <?php while( have_posts() ) : the_post(); ?>
на
<div class="content">
<?php
$aTerm = get_queried_object();
$catdescr = category_description($aTerm->term_id);
if(!empty($catdescr)) { ?>
<div class="type-post status-publish format-standard has-post-thumbnail hentry catdescr"><?php echo $catdescr ?></div>
<?php } ?>
<?php while( have_posts() ) : the_post(); ?>
Теперь у нас описание рубрики будет выводится в блоке content с HTML разметкой.
Далее правим отображение описания рубрики в шапке, для себя я сделал отображение короткого описания в 55 слов. Используется функция wp_trim_words.
Находим и меняем строку:
$sub = $aTerm->description;
на
$sub = wp_trim_words($aTerm->description);
Если вы хотите сделать короче описание, скажем в 10 слов, то код изменим на такой:
$sub = wp_trim_words($aTerm->description, 10);
Если хотите вообще отключить вывод анонса в шапке, то делаем например так:
$sub = '';
Остался последний шаг, подключим наш новый шаблон рубрик. Для этого отредактируем файл /www/wp-content/themes/Yourjourney/category.php и поправим следующую строчку:
get_template_part('layout/listing');
на
get_template_part('layout/listingc');
Готово, теперь можно проверять.
