темный логотип proxyscrape

Использование обратного прокси для установки блога WordPress для улучшения SEO

Прокси-серверы, SEO, Октябрь -25-20215 минут чтения

Сталкивались ли вы когда-нибудь с ситуацией, когда вам нужно завести блог на существующем сайте компании, который не работает на WordPress? Я уверен, что большинство из вас сталкивались с подобными сценариями. В этой статье вы узнаете, как добиться этого без ущерба для SEO. Прежде чем мы погрузимся в эту тему, давайте узнаем, как

Сталкивались ли вы когда-нибудь с ситуацией, когда вам нужно завести блог на существующем сайте компании, который не работает на WordPress? Я уверен, что большинство из вас сталкивались с подобными сценариями.

В этой статье вы узнаете, как добиться этого без ущерба для SEO.

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

В каких обстоятельствах вам нужен отдельный от основного сайта блог?

Многие крупные компании имеют сложные ИТ-системы, что затрудняет работу внутренних отделов за пределами их внутренних систем. Возьмем, к примеру, желание отдела контент-маркетинга создать блог для просвещения своей аудитории. Однако существующая система делает невозможным создание блога, например, на хостинге WordPress.

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

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

Какие у вас есть варианты размещения блога WordPress отдельно?

Хостинг на поддомене

Например, если ваш основной сайт имеет URL www.myorganization.com, то наиболее технически грамотные специалисты прошлого склонялись бы к установке блога WordPress путем покупки поддомена основного домена. В качестве примера в данной ситуации можно привести ourblog.myoraginzation.com.

В прошлом такое решение было бы идеальным. Однако в настоящее время, когда вы нацелены на получение значительного количества трафика для своего блога, вам необходимо учитывать и аспекты SEO (поисковой оптимизации). Мы рассмотрим их в следующем разделе.

Влияние установки блога на поддомен для SEO

Когда использовать поддомен

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

Например, в Википедии есть поддомены для разделения контента на разные языки, такие как fr.wikipedia.com или es.wikipedia.com.

NPR, популярная радиосеть, - еще один пример, где они на 100% сосредоточены на своих новостях и контенте. Однако у них также есть поддомен https://shop.npr.org/, который в основном сосредоточен на мерчендайзинге. 

Поэтому в вышеупомянутых сценариях имеет смысл иметь поддомен. Но как быть в случае с блогами?

Субдомен или отдельная папка для блогов?

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

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

Однако, как я уже говорил выше, как вы можете сделать это в условиях, когда ваш ведущий сайт работает, а вы его разместили на другой платформе, которая не поддерживает хостинг WordPress?

Именно для этого и существуют обратные прокси-серверы, и в следующем разделе мы представим вам обзор обратных прокси-серверов.

Что такое обратные и прямые прокси?

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

Forward Proxy - Forward Proxy направляет все входящие запросы со всех узлов локальной сети на соответствующий сервер, на который должен поступить запрос. Сервер назначения не имеет представления о происхождении запроса и отправляет ответ клиенту, инициировавшему запрос через forward proxy. Диаграмма ниже иллюстрирует это


Обратный прокси: В отличие от них, обратный прокси сидит перед серверами и отправляет запрос на нужный сервер, когда клиент инициирует запрос. Затем, когда соответствующий сервер возвращает ответ, обратный прокси возвращает его на клиентское устройство. Клиентскому устройству кажется, что обратный прокси-сервер обработал все запросы. Обратные прокси идеально подходят для ситуаций, когда одна и та же часть веб-приложения масштабируется на множество различных серверов.

Чтобы узнать больше об обратных и прямых прокси, вы можете обратиться к этой статье.

Обратный прокси в сценарии WordPress

Аналогичным образом вы можете использовать обратный прокси, чтобы направить трафик на сервер, где размещен ваш блог WordPress. С другой стороны, обратный прокси будет направлять трафик, не связанный с блогом, на соответствующий сервер. Я знаю, что это легче сказать, чем сделать. Поэтому давайте продемонстрируем это на примере. 


Допустим, как показано на рисунке ниже, ваш сайт https://www.somedomain.com размещен на веб-сервере, который не поддерживает WordPress. Однако ваша команда контент-маркетологов очень хочет иметь блог. Поэтому, учитывая все SEO-факты, упомянутые выше, у вашей команды веб-разработчиков нет другого выбора, кроме как установить блог в директории "blog". Поэтому URL-адрес блога будет выглядеть следующим образом https://www.somedoamin.com/blog.

Поскольку основной сайт не поддерживает WordPress, вот шаги, которые необходимо выполнить вашей команде веб-разработчиков:

  1. Свяжитесь с администраторами сайта somedomain.com и узнайте, поддерживают ли они обратный прокси.
  2. Если это так, вы можете попросить их настроить обратный прокси на их сервере с указанием данных, на которых вы размещаете блог WordPress.
  3. Параллельно с вышеописанным шагом вам также необходимо найти хост-сервер, например Kinsta, для ведения вашего блога WordPress. Теперь у этого блога будет отдельный IP-адрес, поскольку он размещен не на веб-сервере, на котором находится ваш основной сайт.
  4. Вам понадобится URL для этого блога, который должен бытьhttps://www.somedomain.com/blog.Since в домене, который не может иметь папку в корневом домене; лучше всего, если поддомен https://blog.somedomain.com будет указывать на этот новый сервер.
  5. Затем вы можете настроить обратный прокси таким образом, что если запрос приходит как https://www.somedomain.com/blog, то такие запросы будут направлены на поддомен https://blog.somedomain.com.This. Для этого нужно создать папку "blog" в корневом каталоге somedomain.com. Тогда вам поможет размещение следующего файла, назвав его "web.config" с приведенным ниже кодом.

Создание файла web.config

<?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.

Как создать обратный прокси-сервер в Apache Server?

Обстоятельства, рассмотренные выше, относятся к случаям, когда вы используете сервер, не поддерживающий 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>

Здесь необходимо отметить два важных момента:

  1. ProxyPass: Создаст обратный прокси для пути, указанного выше
  2. ProxyPassReverse: Заголовки HTTP-ответов, передаваемых через этот обратный прокси, будут перехватываться и переписываться в соответствии с сервером Apache.

Теперь следующие шаги для WordPress, которые типичны для обоих вышеописанных сценариев.

Обновление 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.

Поэтому подключение блога к остальным частям сайта может оказаться непростой задачей. Однако их можно решить с помощью обратных прокси.

Следите за дальнейшими статьями.