Меню

WordPress nginx настройка чпу



Документация

ЧПУ без .htaccess

ЧПУ — это урлы понятные человеку. То есть не бессмысленный набор символов вида http://domain.ru/modules.php?module=vitrina&action=superstition&cat_id=999&product_id=7293 , а читаемый http://domain.ru/vitrina/snowboards/burton_genie . Ну, это лирика 🙂

Достичь ЧПУ можно с помощью так называемых преобразований строки урла в ту же «бессмысленную» с человеческой точки зрения строку, а можно заранее предусмотреть ЧПУ в разработки скриптов. Как бы то ни было, без преобразований урла не обойтись.

Как уже знаем, в nginx не существует апачевского .htaccess, где можно было бы настроить правила для столь популярного mod_rewrite, собственно mod_rewrite — это модуль именно для Apache.

Но не стоит расстраиваться! У nginx есть свой модуль — ngx_http_rewrite_module. По моему скромному мнению, модуль rewrite у nginx более гибок, понятен и прост в освоении, нежели mod_rewrite у Apache. Хотя, оба требуют особого понимания работы системы «ревратов» для написания правил 🙂

Правила преобразования нужно прописывать в конфигурационный файл сайта.

Пример правила перезаписывания урла

Если серверу приходит запрос /users/alex, то мы такой запрос перепишем на другой /show.php?user=alex и выполнится скрипт /show.php с GET-параметром user. При этом пользователь будет видеть в строке адреса в браузере первоначальный запрос.

Приведенный пример лишь показывает как можно преобразовать строку запроса. Опять же по моему скромному мнению, так делать нельзя. Нужно сводить все запросы на несуществующие файлы к единому обработчику-роутеру (это может быть index.php), который разберет урл запроса и передаст управление нужным контроллерам с нужными данными.

Примерно это должно выглядеть так:

Основное правило перезаписей — чем меньше условий и правил, тем лучше 🙂

Пример типичных правил для Drupal

В Apache мы имеем следующее:

Перепишем правило для nginx:

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

Пример типичных правил для Joomla

Перепишем правило для nginx:

Примечание. В примере излишние условия проверок убраны при переводе на nginx (их можно было убрать и в Apache).

Пример типичных правил для WordPress

Перепишем правило для nginx:

Пример типичных правил для MODX

Перепишем правило для nginx:

Как видим, здесь немного есть отличия, скрипт index.php не может (не хочет?) сам определить запрошенный урл и желает его получить в GET-переменную q. Что ж, мило 🙂

Кроме того, можно смело избавиться от первой строчки, где проверяется наличие строки «internal dummy connection» в юзер-агенте, потому что это фикс для Apache, а у нас-то с вами nginx, не так ли? 🙂

Источник

Debian 9 + Nginx + Apache + WordPress + ЧПУ

Всем привет. Первая статья самая важная 🙂 и начать хочется с того что я не рассказал на своём канале Youtube, а именно про установку WordPress движка на сервер Debian 9 c использованием в качестве web севера nginx + apache2, настройка которого была описана в этом видео:

Несколько человек задавали вопросы из разряда “Почему у меня не работает ЧПУ?”, “Почему у меня не работает ничего?”, “а точно конфигурация рабочая?”. Потом после того как убивали несколько безуспешных часов на то чтобы заставить заработать эту связку как надо, складывали руки и с криком “НУ ВСЁ, НУ ЕЁ НА…Й. Ставлю Apache!!”, тупо ставили Apache.

Сразу отвечу на вопрос. ДА конфиг и сервер рабочий, и подтверждение тому этот сайт, а WordPress не работает у тех кто пытался ставить сервер по видео потому что видео гайд показывает лишь общие правила и понятия работы такого рода WEB сервера, но не показывает то как настроить WordPress на нём!! Чтобы не запутывать вас я просто расскажу как поставить такой сервер с нуля как будто вы только что взяли и поставить debian 9 на свою машину и начали установку. Просто пишите команды в консоли по порядку и меняйте смысл команды под свои потребности.

Подготовка

Первым делом рекомендую проверить что у вас за OS стоит на сервере который вы купили. Если сервер ваш и OS поставлена самостоятельно то этот шаг можно пропустить.

В консоли вводим команду:

И получаем нечто похожее на это в ответ на команду:

Если в выходе есть слова Debian и ядро версии 4.9 то значит у вас Debian 9 и данная статья полностью вам подходит. Текст может отличаться от того что видите вы, в этом случае самый лучший способ узнать какая у вас OS установлена на сервере, это просто посмотреть в панели управления сервером или в письме которое прислал хостер вам на почту когда вы заключали договор на аренду сервера.

Читайте также:  Kyocera ecosys m2535dn настройка факса

Обычно OS выбирается в процессе покупки сервера. На Hetzner это делается вот на этой странице:

Далее лучше всего обновить систему командами:

На этом всё. Система готова к установке необходимого софта и его настройке.

Установка и настройка

Установка из репозиторий

Установка почти всего необходимого софта делается за несколько команд.

Вот первая команда:

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

Просто нажимайте на TAB и когда кнопка станет красной нажимайте ENTER

Следующим экраном нас спрашивают хотим ли мы создать базу данных phpmyadmin:

Далее вводим пароль базы данных phpmyadmin. Она нам нужна в дальнейшем для настройки всяких вкусных плюшек типа синхронизации двух баз данных или оптимизации существующей БД:

Ставим nginx последней стабильной версии из репозиторий:

Конечно можно собрать последнюю версию из исходников, скачав исходники с сайта nginx.org, но к сожалению это нам не нужно. К тому-же собранный из исходников nginx не так хорошо структурирован в конфигурационных файлах как установленный из репозиторий.

Остановка apache и nginx нужна потому что они нам в работающем состоянии просто не нужны. После всех настроек я включу всё сразу.

Настройка MariaDB

Теперь настройка базы данных MariaDB. Для входа root пользователя в базу данных надо задать пароль от root и разрешить доступ root пользователя к базе данных.

В консоли пишем команды по очереди:

Вместо фразы “enter password here” пишем свой пароль!!

Заходим в MariaDB для того чтобы применить привилегии:

# mysql -u root -p mysql

Не смотря на то что нас просят ввести пароль, оставляем пароль пустым и просто нажимаем Enter!!

Теперь устанавливаем метод аутентификации пользователя root:

Дальше применяем изменения:

И наконец выход:

Полностью все манипуляции с MariaDB должны выглядеть так:

Источник

Как правильно настроить ЧПУ-ссылки на WordPress

Доброго времени суток, дамы и господа.

Сегодня я расскажу о том, как правильно настроить ЧПУ-ссылки на сайте с WordPress. Мы поговорим о том, что такое ЧПУ, как это влияет на поисковую оптимизацию, какая разница между двумя видами “человекопонятных” ссылок: с русскими и с английскими символами. Многие начинающие вебмастеры не особо понимают суть, поэтому данный вопрос также следует разобрать. Итак, давайте начинать!

Что такое ЧПУ и как влияет на SEO

ЧПУ или “человекопонятные урлы” – ссылки, которые могут легко читаться и воспроизводиться человеком. Обычно имеют такой вид: “site.ru/новая-статья-про-что-то” или же “site.ru/novya-statia-pro-chto-to”. Последний вариант используется наиболее часто, потому что это удобно и более хорошо воспринимается поисковыми системами.

Обычные ссылки в WordPress и других платформах имеют вид: “site.ru/p912898” или аналогичный. То есть ссылка представляет собой определенный набор символов, идентификатор или что-то еще, что не очень хорошо будет восприниматься человеком. Особенно плохо, когда ссылки состоят из огромного количества разных символов, и человек просто физически не сможет запомнить их последовательность.

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

В ЧПУ же все просто: ссылка состоит из нескольких слов на кириллице или латинице. Пользователь легко сможет запомнить эти слова, и в случае чего быстро набрать их в поисковой строке. Также в таких линках могут содержаться ключевые слова. Многие SEO-специалисты рекомендуют включать в ЧПУ главные ключевые слова. Так поисковики смогут более точно идентифицировать содержимое статьи.

Иными словами, настройка ЧПУ – это часть SEO-оптимизации сайта на WordPress. Отказаться от этого – значит, попросту оставить свой ресурс недоработанным. Большинство вебмастеров сразу же настраивают ЧПУ на WP. Благо, сделать это действительно просто. Чуть позже я расскажу, как перевести сайт на “человекопонятные урлы”.

Если у вас стоит русскоязычная версия WordPress, то все ссылки после настройки будут русскоязычными. Многие вебмастеры думают, что русские ссылки будут более удобными. Зачем переводить что-то на латиницу, если сайт сделан для русскоязычной аудитории. Им будет проще, да и мне незачем напрягаться. А зря, русские ссылки несут в себе очень много проблем.

Читайте также:  Онк 160 инструкция настройки

Причем не только с поведенческими факторами, но и с самой поисковой оптимизацией. ПС не очень лояльно относятся к ссылкам на кириллице. Информация, конечно, не подтвержденная, но большое количество вебмастеров проверили эти сведения опытным путем.

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

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

Русская ссылка в пуникоде имеет вид: site.ru/xn--h1adcxa4d. И именно ее вы можете увидеть, если человек с ЧПУ на кириллице решит поделиться с вами своим материалом через социальные сети, форумы или мессенджеры. Естественно, ни о какой “понятности” для человека в этом случае речи не идет. Ссылка также превращается в набор каких-то рандомных символов, который на память практически нереально воспроизвести.

Причем обычно ссылки в пуникоде могут быть очень длинными. Не все мессенджеры и социальные сети могут справиться с такими огромными и длинными ссылками. Что-то может обрезаться или потеряться. В таком случае URL просто станет битым, и толку от него не будет никакого.

Именно поэтому я рекомендую использовать ЧПУ на латинице. Ссылки будут распознаваться всеми платформами и сайтами. Где бы вы их ни разместили, линки будут выглядеть нормально. Без всяких дополнительных кодировок и декодировок. К тому же латинские URL воспринимаются поисковиками и пользователями более тепло.

Особенно если они состоят из двух или трех слов (тоже одна из стандартных рекомендаций SEO-оптимизаторов – короткие линки на латинице). Пользователи легко смогут заходить на материалы, набирая URL по памяти, ПС смогут легко индексировать ваши URL на латинице, распознавая в них ключи.

Как включить ЧПУ на WordPress

Теперь я расскажу, как активировать ЧПУ в панели управления WordPress. Для простого включения этой функции вам не придется устанавливать какие-то дополнительные плагины или расширения, все это уже есть в настройках платформы, нужно просто перейти в соответствующий раздел и изменить параметры.

Переходим в панель управления WordPress, находим в боковом меню пункт “Настройки”, наводим на него курсор, после чего кликаем на пункт “Постоянные ссылки”.

Здесь вам необходимо выбрать пункты “Название записи”, “Месяц и название”, “День и название” либо же ввести произвольную формулу. Любой из представленных вариантов можно считать понятным для человека.

Пункты “День и название” и “Месяц и название” смогут определенным образом распределить ваши записи, создавая структуру. Для новостных проектов такое решение можно назвать оптимальным, каждая новость будет идентифицироваться по дню или месяцу.

Обычно вебмастеры используют вариант “Название записи”, когда сама ссылка содержит в себе только слова из заголовка.

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

На многих блогах используются URL вида: site.ru/рубрика/название-записи. Такой вариант не представлен среди стандартных, его нужно делать с помощью поля “Произвольно”. Достаточно просто привести это поле к виду: /%category%/%postname%/. Вы можете не вводить это вручную, а выбрать соответствующие пункты в нижней части.

Обратите внимание, что переменные должны находиться в том же порядке, что и сама структура ссылки. То есть сначала нужно разместить категорию и только потом название записи. Можно, конечно, и в обратном порядке, однако выглядеть это все будет не очень хорошо. Да и структура, которая также очень важна для продвижения сайта, будет нарушена. Поисковые системы за это точно не “похвалят”.

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

Транслитерация

Если мы все оставим так, то ссылки будут на русском языке (если у нас русскоязычная версия WordPress). Выше я уже рассказывал, что это решение можно считать далеко не самым лучшим. И поисковые системы, и пользователи могут испытывать проблемы при работе с сайтом, который использует русскоязычные URL.

Читайте также:  Настройка snmp для мониторинга

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

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

  • WP Translitera,
  • Cyr to Lat reloaded.

Первый плагин можно считать самым популярным плагином транслитерации в каталоге WordPress. На данный момент он имеет более 40 000 активных установок. Расширение совместимо с новейшими версиями платформы, поэтому можно легко установить его и использовать.

Просто перейдите в каталог плагинов WP (Плагины – Добавить новый), введите название в окно поиска. Система сразу же выдаст вам результат, вам останется просто кликнуть на кнопку “Установить”, а после этого на “Активировать”.

После активации плагин начнет автоматически транслитерировать все новые URL в латиницу. Чтобы проделать подобное с уже размещенными записями, мы должны перейти в настройки плагина. Их можно найти в меню “Настройки” – “Translitera”. После перехода на эту страницу вам будут доступны простые параметры на русском языке. В нижней части будет инструмент для транслитерации размещенных записей.

Нужно отметить галочкой оба пункта, после чего кликнуть на кнопку “Транслитерировать”. Далее, все имеющиеся страницы, посты, рубрики и т. д. будут приведены к одному виду, URL пропишутся латиницей.

Также вы можете включить дополнительные параметры плагина. Они будут в настройках.

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

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

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

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

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

Также там есть таблица транслитерации, которая поможет вам задать собственные правила работы плагина. Пригодится опытным пользователям.

Другой плагин работает аналогичным способом. Рассматривать его подробно я не буду, тем более что там есть пояснения на русском языке. Скажу лишь, что второе расширение было создано на основе ранее популярного плагина транслитерации Rus-To-Lat. Вы также можете установить его из каталога WP и посмотреть функционал.

Заключение

Как видите, ЧПУ очень важны для поискового продвижения проектов на WordPress. Без таких ссылок и поисковые системы, и пользователи будут относиться к вашему сайту с неким недоверием. Да и включить понятные URL можно через настройки буквально в пару кликов. Поэтому каких-то особенных проблем с этим быть не должно.

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

Если уж вам совсем не хочется мириться с дополнительными плагинами, то я рекомендую поставить Clearfy Pro – многофункциональный плагин для WordPress, который оптимизирует платформу под поисковые системы. Функционал транслитерации там также присутствует.

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

В нем рассказывается о том, как создать свой информационный сайт или блог и зарабатывать на нем от 20 000 рублей в месяц. Информация подана в доступном виде на удобной платформе. Вы будете проходить уроки, выполнять домашние задания и получать консультации от экспертов и других учеников. Переходите по ссылке выше для получения подробностей.

Источник

Adblock
detector