Сталкивались ли вы когда-нибудь с ситуацией, когда вам нужно завести блог на существующем сайте компании, который не работает на WordPress? Я уверен, что большинство из вас сталкивались с подобными сценариями. В этой статье вы узнаете, как добиться этого без ущерба для SEO. Прежде чем мы погрузимся в эту тему, давайте узнаем, как
Сталкивались ли вы когда-нибудь с ситуацией, когда вам нужно завести блог на существующем сайте компании, который не работает на WordPress? Я уверен, что большинство из вас сталкивались с подобными сценариями.
В этой статье вы узнаете, как добиться этого без ущерба для SEO.
Прежде чем погрузиться в эту тему, давайте разберемся, как организации и учреждения используют хостинг блога отдельно от основного сайта.
Многие крупные компании имеют сложные ИТ-системы, что затрудняет работу внутренних отделов за пределами их внутренних систем. Возьмем, к примеру, желание отдела контент-маркетинга создать блог для просвещения своей аудитории. Однако существующая система делает невозможным создание блога, например, на хостинге WordPress.
С другой стороны, предприятия могут использовать ".NET Framework" для своих веб-приложений, а другие компании не решаются использовать фреймворки с открытым исходным кодом.
Когда вам нужно разместить блог в любом из перечисленных выше сценариев, вам не остается ничего другого, как подумать об альтернативном сервере для его размещения. Этот сервер, таким образом, находится за пределами сервера, на котором вы разместили свой веб-сайт. Давайте рассмотрим некоторые из этих вариантов и их последствия.
Например, если ваш основной сайт имеет URL www.myorganization.com, то наиболее технически грамотные специалисты прошлого склонялись бы к установке блога WordPress путем покупки поддомена основного домена. В качестве примера в данной ситуации можно привести ourblog.myoraginzation.com.
В прошлом такое решение было бы идеальным. Однако в настоящее время, когда вы нацелены на получение значительного количества трафика для своего блога, вам необходимо учитывать и аспекты SEO (поисковой оптимизации). Мы рассмотрим их в следующем разделе.
Основная причина, по которой владельцы сайтов приобретают поддомены, заключается в том, чтобы иметь отдельный контент, основанный на различных продуктах для вашего бренда. Хотя могут быть и другие причины, например, отдельный сайт для мобильных устройств и привлечения трафика, основная причина заключается в контенте и расширении вашего бренда на основе нескольких ниш.
Например, в Википедии есть поддомены для разделения контента на разные языки, такие как fr.wikipedia.com или es.wikipedia.com.
NPR, популярная радиосеть, - еще один пример, где они на 100% сосредоточены на своих новостях и контенте. Однако у них также есть поддомен https://shop.npr.org/, который в основном сосредоточен на мерчендайзинге.
Поэтому в вышеупомянутых сценариях имеет смысл иметь поддомен. Но как быть в случае с блогами?
Поисковые системы рассматривают поддомены как отдельные веб-сайты. Это означает, что поисковым системам придется просматривать и индексировать каждый поддомен отдельно. Кроме того, обратные ссылки на основной домен не передаются на его поддомены. Таким образом, повысить рейтинг страницы для поддомена почти так же сложно, как и для основного домена.
Поэтому в тех случаях, когда это имеет смысл, лучше иметь поддомены. Поэтому идеальным вариантом для блогов было бы размещение блога в качестве подкаталога на вашем основном сайте.
Однако, как я уже говорил выше, как вы можете сделать это в условиях, когда ваш ведущий сайт работает, а вы его разместили на другой платформе, которая не поддерживает хостинг WordPress?
Именно для этого и существуют обратные прокси-серверы, и в следующем разделе мы представим вам обзор обратных прокси-серверов.
Понять концепцию обратного прокси будет проще, если вы знаете, что делает прямой прокси.
Forward Proxy - Forward Proxy направляет все входящие запросы со всех узлов локальной сети на соответствующий сервер, на который должен поступить запрос. Сервер назначения не имеет представления о происхождении запроса и отправляет ответ клиенту, инициировавшему запрос через forward proxy. Диаграмма ниже иллюстрирует это
Обратный прокси: В отличие от них, обратный прокси сидит перед серверами и отправляет запрос на нужный сервер, когда клиент инициирует запрос. Затем, когда соответствующий сервер возвращает ответ, обратный прокси возвращает его на клиентское устройство. Клиентскому устройству кажется, что обратный прокси-сервер обработал все запросы. Обратные прокси идеально подходят для ситуаций, когда одна и та же часть веб-приложения масштабируется на множество различных серверов.
Чтобы узнать больше об обратных и прямых прокси, вы можете обратиться к этой статье.
Аналогичным образом вы можете использовать обратный прокси, чтобы направить трафик на сервер, где размещен ваш блог WordPress. С другой стороны, обратный прокси будет направлять трафик, не связанный с блогом, на соответствующий сервер. Я знаю, что это легче сказать, чем сделать. Поэтому давайте продемонстрируем это на примере.
Допустим, как показано на рисунке ниже, ваш сайт https://www.somedomain.com размещен на веб-сервере, который не поддерживает WordPress. Однако ваша команда контент-маркетологов очень хочет иметь блог. Поэтому, учитывая все SEO-факты, упомянутые выше, у вашей команды веб-разработчиков нет другого выбора, кроме как установить блог в директории "blog". Поэтому URL-адрес блога будет выглядеть следующим образом https://www.somedoamin.com/blog.
Поскольку основной сайт не поддерживает WordPress, вот шаги, которые необходимо выполнить вашей команде веб-разработчиков:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="blog.somedomain.com" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^blog.somedomain.com$" />
<add input="{PATH_INFO}" pattern="^/blog/" negate="true" />
</conditions>
<action type="Rewrite" url="\blog\{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
В следующих двух строках "blog.somedomain.com" следует заменить на ваш поддомен, на котором расположен ваш блог:
<rule name="blog.somedomain.com" stopProcessing="true">
<add input="{HTTP_HOST}" pattern="^blog.somedomain.com$" />
Затем в этих двух строках вы можете заменить папку "blog", если вы дали ей другое имя:
<add input="{PATH_INFO}" pattern="^/blog/" negate="true" />
<action type="Rewrite" url="\blog\{R:0}" />
На последнем этапе, хотя мы и использовали поддомен, это не повлияет на SEO, так как трафик будет генерироваться на папку блога основного сайта. Таким образом, перенаправление на поддомен - это внутренний процесс, который не повлияет на SEO.
Обстоятельства, рассмотренные выше, относятся к случаям, когда вы используете сервер, не поддерживающий PHP. Однако если вы столкнулись с ситуацией, когда ваш ведущий сайт работает на PHP или Drupal, например, но вы хотите иметь другой сайт для блога в том же домене, вам нужно настроить обратный прокси в соответствии с приведенными ниже шагами.
Но перед этим вам нужно убедиться, что у вас есть два работающих сайта. Один из них - https://www.somedomain.com, а другой - с установленным WordPress с поддоменом https://blog.somedomain.com.
Прежде всего, вам нужно открыть терминал сервера Apache по SSH. Затем нужно включить прокси-модуль Apache с помощью этой команды:
sudo a2enmod proxy proxy_http ssl
Эта команда в большинстве случаев перезапускает Apache, чтобы перезагрузить новые директивы, которые вы определили выше:
Далее следует шаг, которого вы так долго ждали. Это создание обратного прокси путем редактирования файла виртуального хоста сервера.
<VirtualHost *>
DocumentRoot /var/www/app/public
SSLProxyEngine On ProxyRequests off
ProxyPass /blog http://blog.somedomain.com
ProxyPassReverse /blog http://blog.somedomain.com
</VirtualHost>
Здесь необходимо отметить два важных момента:
Теперь следующие шаги для WordPress, которые типичны для обоих вышеописанных сценариев.
Затем вам нужно перейти на сервер, где установлен WordPress, и обновить файл wp-config.php. Это необходимо потому, что обычно WordPress не настраивается на работу с обратным прокси.
Поэтому вам нужно обновить файл wp-config.php, как показано ниже:
$_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/blog/wp-admin/", $_SERVER['REQUEST_URI']);
Затем в том же файле обновите следующие переменные:
Тем временем вы можете обновить значения конфигурации базы данных, как показано ниже:
UPDATE wp_options SET option_value = 'https://www.somedomain.com/blog' WHERE option_name IN('siteurl', 'home');
Следующим шагом будет изменение файла .htacess, чтобы можно было правильно переписать URL-адреса:
Становится:
RewriteRule . /blog/index.php [L]
После выполнения всех вышеперечисленных шагов вам нужно убедиться, что ссылки на посты и категории работают как положено. Для этого вам нужно войти в систему со старым URL-адресом поддомена, как показано ниже:
blog.somedomain.com/wp-login.php
Тогда вам поможет переход к "настройкам" с главной панели, а затем щелкните на вкладке "Общие".
В поле "Адрес сайта (URL)" обновите его, как показано ниже:
Если вы все еще сомневаетесь, что URL-адреса будут работать правильно, установите плагин "Better Search Replace". Он обновит все записи в вашей базе данных, если это необходимо.
Кроме того, вы должны быть осторожны с обновлением канонических файлов и robot.txt.
Если вы все еще сомневаетесь, что URL-адреса будут работать правильно, установите плагин "Better Search Replace". Он обновит все записи в вашей базе данных, если это необходимо.
Кроме того, вы должны быть осторожны с обновлением канонических файлов и robot.txt.
Теперь вы, возможно, узнали, что WordPress очень легко настраивается. Это связано с тем, что с помощью WordPress вы можете разместить отдельно только часть сайта, посвященную блогу, и не трогать остальные части. Как вы уже поняли из этого блога, остальная часть сайта может быть размещена на различных платформах, которые не поддерживают WordPress.
Поэтому подключение блога к остальным частям сайта может оказаться непростой задачей. Однако их можно решить с помощью обратных прокси.
Следите за дальнейшими статьями.