Статьи

Как сделать сайты WordPress разными по географии

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

В июле я выпустил глобальное руководство по интернет-альтернативам покупкам в Amazon под названием FleetheJungle.com, и ответ был превосходным. Мы получили большое освещение в СМИ и последующий трафик. Это не приложение на основе базы данных; вместо этого мы использовали выдающуюся тему базы знаний KnowHow :

Глобальная домашняя страница The Run the the Jungle - альтернативы Amazon

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

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

Забавная карта Портленда от Эдварда Хуана
Кредит: Лесная и Волновая Карта Портленда Эдвардом Хуаном .

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

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

Мне нужно было более простое решение.

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

Вот некоторые из основных требований для запуска большего количества сайтов:

1. Поддерживать сайт по всему миру. Я хотел сохранить глобальный основной домен fleethejungle.com без изменений, без местных статей, но вместо этого — путеводитель по нашим доступным городам.

2. Локализуйте по поддомену. Я хотел, чтобы контент был локализован по поддомену. Например, посещение http://portland.fleethejungle.com будет продвигать местный контент на сайте, в то же время повторно используя некоторые конкретные национальные категории сайтов, связанные с покупками в более широком Интернете, например потоковое видео (альтернативы ГБО сейчас). CraigsList предоставляет хорошую модель для этого.

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

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

5. Минимальное обслуживание. Наконец, я хотел сделать обслуживание сети сайта таким же простым, как запуск одного сайта.

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

Для управления контентом у меня есть три основных подхода:

  1. Запустите различные установки WordPress.
  2. Используйте WordPress Multisite для запуска различных сайтов.
  3. Настройте WordPress для динамической фильтрации контента для географии.

Как я уже говорил ранее, я не фанат Multisite, и я хотел избежать сложности запуска и поддержки различных сайтов WordPress. На таком сайте, как Flee the Jungle, было бы так много центрального контента, который нужно было бы повторно использовать на городских страницах (например, как прекратить членство в Prime), и я не хотел поддерживать этот контент в разных установках WordPress. Или написать код для этого.

Я решил фильтровать контент в зависимости от домена или субдомена, используемого посетителем в браузере.

Если вы читали мое руководство Как использовать Zillow Neighborhood Maps и HTML5 Geolocation , вы знаете, как использовать геолокацию на основе браузера HTML5 для определения местоположения пользователя. Тем не менее, я хотел, чтобы пользователь имел больше контроля.

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

Глобальная сеть Craigslist по поддомену

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

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

Вот как я решил создать городские сайты для Flee the Jungle, которые могли бы легко поддерживаться и создаваться местными блогерами без дополнительных технических навыков.

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

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

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

Для этого мы определяем массивы в теме по их идентификаторам:

  • список категорий для всего мира
  • список категорий для местных городов
  • список активных городов и префиксов их поддоменов

Вот несколько примеров. Во-первых, вот мой массив идентификаторов категорий в мире (нелокальных):

1
2
3
// Category IDs that are worldwide, digital to be displayed without changes
// eg Getting Started, Prime and Smile Alternatives, Streaming Media, etc.
$nonlocal_category_ids = [1,22,29,30,46,57,60,195];

Вы можете получить их, посмотрев на идентификатор категории в списке категорий на панели мониторинга (наведя указатель мыши на имя категории, как показано ниже с тегами):

Беги из списка категорий джунглей

Или отредактируйте категорию и получите идентификатор из URL-адреса редактирования ( Начало работы29 ):

Бегите от редактирования категории джунглей, чтобы получить ID

Вот идентификаторы тегов для Сиэтла и Портленда :

1
2
// Tag IDs for city names eg Seattle, Portland
$known_cities = array(49,211);

Сиэтл 49 лет . Вы можете увидеть идентификатор тега, наведя курсор на город и позволив строке состояния показать его:

Спасайтесь от джунглей, покажите идентификационный номер города

Чтобы получить домен или поддомен, я воспользовался подсказкой Тревора Скотта по WordPress и поместил ее в файл functions.php моей темы.

Вот редактор тем WordPress Dashboard:

Редактирование тем WordPress

И вот код Тревора:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
 * @author Trevor Scott <[email protected]>
 * @version 1.0 2010-12-07
 *https://wordpress.org/support/topic/how-do-i-get-sub-domain-name
 * Grab the subdomain portion of the URL.
 * domain is passed back.
 * string.
 * the screen.
 *
 * @param bool $echo
 */
function arrested_subdomain($echo = false) {
    $hostAddress = explode ( ‘.’, $_SERVER [«HTTP_HOST»] );
    if (is_array ( $hostAddress )) {
        if (eregi ( «^www$», $hostAddress [0] )) {
            $passBack = 1;
        } else {
            $passBack = 0;
        }
        if ($echo == false) {
            return ($hostAddress [$passBack]);
        } else {
            echo ($hostAddress [$passBack]);
        }
    } else {
        return (false);
    }
}

Когда посетители попадут на глобальную домашнюю страницу, домен будет fleethejungle.com, а не поддомен. Я создал другую функцию, configure_geolocal() , которая вызывается в начале файла шаблона header.php. Вот первая часть функции:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
function configure_geolocal() {
   global $nonlocal_category_ids;
   global $known_cities;
   global $domain_locale;
   global $logo_image_url;
   // Tag IDs for city names eg Seattle, Portland
   $known_cities = array(49,211);
 
   // Category IDs that are worldwide, digital to be displayed without changes
   // eg Getting Started, Prime and Smile Alternatives, Streaming Media, etc.
   $nonlocal_category_ids = [1,22,29,30,46,57,60,195];
   $domain_locale = arrested_subdomain();
   if ($domain_locale == ‘www’ or $domain_locale == ‘fleethejungle’) {
       $domain_locale = false;

Вот как это get_header() в header.php темы:

1
2
3
4
5
6
7
8
<?php configure_geolocal();
<!DOCTYPE html>
<html <?php language_attributes();
<head>
<meta charset=»<?php bloginfo( ‘charset’ ); ?>» />
<meta content=»width=device-width,minimum-scale=1,maximum-scale=1″ name=»viewport»>
<meta name=»format-detection» content=»telephone=no»>
<meta http-equiv=»X-UA-Compatible» content=»IE=Edge»/>

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

На главной странице темы, если посетитель находится на всемирном сайте (корневой домен), я исключаю статьи с тегами городов из массива $st_cat_post_args . Однако, если посетитель находится на странице города и субдомен известен, мы показываем только локальные статьи в большинстве категорий, кроме тех, которые определены для nonlocal_category_ids — это те, которые больше подходят для нелокального контента, такого как потоковое видео:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
global $known_cities;
global $nonlocal_category_ids;
global $domain_locale;
 
if ($domain_locale===false) {
  // root visit
  $st_cat_post_args[‘tag__not_in’]=$known_cities;
} else {
   // local city being viewed but include worldwide articles in this category
 if (in_array($st_category->term_id,$nonlocal_category_ids) {
   $st_cat_post_args[‘tag_slug__in’]=array($domain_locale,’worldwide’);
} else {
   // only show local articles
   $st_cat_post_args[‘tag_slug__in’]=array($domain_locale);
}

Вот код в контексте большей части функции:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//List Posts
$st_cat_post_num = of_get_option(‘st_hp_cat_postnum’);
$st_posts_order = of_get_option(‘st_hp_cat_posts_order’);
 
global $post;
  
// If show posts is 0 do nothing
if ($st_cat_post_num != 0) {
 
    // Listed by popular?
        if ($st_posts_order == ‘meta_value_num’) {
            $st_cat_post_args = array(
              ‘numberposts’ => $st_cat_post_num,
              ‘orderby’ => $st_posts_order,
              ‘meta_key’ => ‘_st_post_views_count’,
              ‘category__in’ => $st_category->term_id
            );
        } else {
            $st_cat_post_args = array(
              ‘numberposts’ => $st_cat_post_num,
              ‘orderby’ => $st_posts_order,
              ‘category__in’ => $st_category->term_id
            );
        }
global $known_cities;
global $nonlocal_category_ids;
global $domain_locale;
 
if ($domain_locale===false) {
  // root visit
  $st_cat_post_args[‘tag__not_in’]=$known_cities;
} else {
   // local city being viewed but include worldwide articles in this category
 if (in_array($st_category->term_id,$nonlocal_category_ids) {
   $st_cat_post_args[‘tag_slug__in’]=array($domain_locale,’worldwide’);
} else {
   // only show local articles
   $st_cat_post_args[‘tag_slug__in’]=array($domain_locale);
}
 
    $st_cat_posts = get_posts($st_cat_post_args);
    echo ‘<ul class=»category-posts»>’;
    foreach($st_cat_posts as $post) : setup_postdata($post);
    ?>
    <?php
    // Set post format class
    if ( has_post_format( ‘video’ )) {
    $st_postformat_class = ‘video’;
    } else {
    $st_postformat_class = ‘standard’;
    }
  ?>
    <li class=»format-<?php echo $st_postformat_class; ?>»><a href=»<?php the_permalink(); ?>»>
      <?php the_title();
      </a></li>
 
    <?php
    endforeach;
     
echo ‘</ul>’;

С помощью темы KnowHow посетители могут также нажимать на заголовки категорий, переводя их в список статей внутри категории.

Если они есть на глобальном сайте, я хочу показывать только глобальные статьи. Я решил пометить все глобальные статьи как «всемирные», чтобы облегчить это.

Таким образом, для глобального сайта я показываю только статьи с тегами «по всему миру», а для местных городских сайтов — только статьи с тегами для этого города. Если категория является исключительным случаем для обоих, мы включаем статьи из текущего города и по всему миру.

Вот код в категории category.php:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php while ( have_posts() ) : { ?>
 
<?php
  the_post();
  $show_post = false;
if ($GLOBALS[«domain_locale»]===false) {
  // root worldwide visit, exclude local articles
  if (has_tag(‘worldwide’)) {
    $show_post=true;
  }
} else {
   // local city being viewed
   if (in_array($current_cat,$GLOBALS[‘nonlocal_category_ids’])) {
    // include worldwide articles in this category
    if (has_tag($GLOBALS[«domain_locale»]) || has_tag(‘worldwide’)) {
      $show_post=true;
    }
  } else {
     // only show local articles
     if (has_tag($GLOBALS[«domain_locale»])) {
       $show_post=true;
     }
    }
}
if ($show_post) {
  get_template_part( ‘content’, get_post_format());
}
 
?>
 
<?php } endwhile;

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

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

Также важно выполнить такие настройки для поиска. Тема KnowHow предоставляет результаты поиска AJAX или сгенерированную страницу результатов. Нам нужно предоставить код для настройки каждого параметра.

Live AJAX Поиск

Для get_header() вызов get_header() поэтому нам нужно динамически настроить наше местоположение:

1
2
3
4
5
<?php if(!empty($_GET[‘ajax’]) ? $_GET[‘ajax’] : null) { // Is Live Search ?>
<?php
    // get geolocal settings for live search only
     configure_geolocal();
?>

Затем мы интегрируем ту же логику, которая использовалась на страницах категорий в результатах поиска:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// check if one of its categories is excluded from local
$category_excluded=false;
foreach((get_the_category()) as $category) {
    if (in_array($category->cat_ID,$GLOBALS[‘nonlocal_category_ids’])) {
      $category_excluded=true;
      break;
    }
}
 if ($GLOBALS[«domain_locale»]!==false && has_tag( $GLOBALS[«domain_locale»]) || ($category_excluded && has_tag(‘worldwide’))) { ?>
 
  <li class=»<?php echo $st_search_class ?>»>
  <?php if ( ‘st_faq’ == get_post_type() ) { ?>
  <a href=»<?php echo home_url(); ?>/<?php echo $st_faq_slug ?>/#faq-<?php the_ID(); ?>»><?php the_title();
  <?php } else { ?>
  <a href=»<?php the_permalink(); ?>»><?php the_title();
  <?php } ?>
  </li>
 
<?php } else { ?>
    <?php if ($GLOBALS[«domain_locale»]===false && has_tag( «worldwide»)) { ?>
 
  <li class=»<?php echo $st_search_class ?>»>
  <?php if ( ‘st_faq’ == get_post_type() ) { ?>
  <a href=»<?php echo home_url(); ?>/<?php echo $st_faq_slug ?>/#faq-<?php the_ID(); ?>»><?php the_title();
  <?php } else { ?>
  <a href=»<?php the_permalink(); ?>»><?php the_title();
  <?php } ?>
  </li>
 
    <?php } ?>
 
<?php } ?>

Страница результатов динамического поиска

Если это не AJAX, то для нас get_header() , и это немного проще:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
<?php while ( have_posts() ) : the_post();
 
<?php
// check if one of its categories is excluded from local
$category_excluded=false;
foreach((get_the_category()) as $category) {
    if (in_array($category->cat_ID,$GLOBALS[‘nonlocal_category_ids’])) {
      $category_excluded=true;
      break;
    }
}
if ($GLOBALS[«domain_locale»]!==false && has_tag( $GLOBALS[«domain_locale»]) || ($category_excluded && has_tag(‘worldwide’))) {
  get_template_part( ‘content’, get_post_format());
} else {
    if ($GLOBALS[«domain_locale»]===false && has_tag( «worldwide»)) { get_template_part( ‘content’, get_post_format());
}
?>
                <?php endwhile;

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

Чтобы предоставить местным посетителям объяснение различий между их локальным сайтом и глобальным сайтом, при этом поощряя их участвовать в улучшении списков в их городе, я использовал плагин, о котором я писал в январе 2015 года, для Envato Tuts +: Преимущества использования Бесплатный шорткодер плагин . Это плагин, который позволяет вам использовать макросы по существу для расширения содержимого HTML, которое можно использовать повторно. Для каждой статьи о городе мы используем ее для настройки того, что видят местные посетители, когда они прибывают из Портленда.

После того, как плагин был установлен, я создал шорткод для каждого города, например [sc: pdx], который обеспечивает простую рекламу в верхней части местных страниц статей:

Бегите из редактора шорткодов джунглей

Затем, всякий раз, когда мы добавляли локальную статью, мы добавляли шорткод [sc: pdx] вверху:

Избегайте шорткода джунглей на странице редактирования статьи

Вот как выглядит статья, когда приходят посетители:

Избегайте статей в джунглях с City Intro через шорткод

Я давно пользуюсь Digital Ocean, но я также становлюсь более активным поклонником WP Engine ; Хорошо управляемый хостинг дает преимущества в некоторых обстоятельствах. Оказалось, что WP Engine предлагает решение проблемы абсолютного URL в WordPress, которое было лучше, чем альтернативы.

WP Engine предлагает фильтр пост-обработки, в котором вы можете использовать регулярные выражения для изменения кода. После рассмотрения других подходов к модификации WordPress и использования для этого собственных API-интерфейсов я решил, что будет проще всего заменить абсолютные ссылки на FleeTheJungle.com относительными адресами. Это позволило пользователям, посещающим городской субдомен, оставаться в геолокационном сайте:

WPEngine HTML пост-обработка

Перед настройкой этого, посещение под-домена «Джангл» в Портленде имело исходящие ссылки на глобальный сайт fleethejungle.com, разбросанные по страницам. После его настройки исходящие ссылки оставались согласованными с входящим доменом или поддоменом.

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

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

Беги из джунглей Городская навигация

Вот заключительный код, который мы использовали в WordPress для configure_geolocal () :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function configure_geolocal() {
    global $nonlocal_category_ids;
    global $known_cities;
    global $domain_locale;
    global $logo_image_url;
    // Tag IDs for city names eg Seattle, Portland
    $known_cities = array(49,211);
 
    // Category IDs that are worldwide, digital to be displayed without changes
    // eg Getting Started, Prime and Smile Alternatives, Streaming Media, etc.
    $nonlocal_category_ids = [1,22,29,30,46,57,60,195];
    $domain_locale = arrested_subdomain();
    if ($domain_locale == ‘www’ or $domain_locale == ‘fleethejungle’) {
        $domain_locale = false;
        $logo_image_url = ‘/wp-content/uploads/2015/10/ftj-logo-global.gif’;
    } else if ($domain_locale == ‘pdx’ or $domain_locale ==’portland’) {
      $domain_locale = ‘portland’;
      $logo_image_url = ‘/wp-content/uploads/2015/10/ftj-logo-portland.gif’;
    } else if ($domain_locale == ‘sea’ or $domain_locale ==’seattle’) {
      $domain_locale = ‘seattle’;
      $logo_image_url = ‘/wp-content/uploads/2015/10/ftj-logo-seattle.gif’;
    } else {
        // unknown city — redirect
        wp_redirect( ‘http://fleethejungle.com/cities’ );
    }
}

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

Избегайте джунглей Настройка логотипа в WordPress по поддоменам

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

Затем код в header.php настраивает URL логотипа темы в зависимости от домена:

01
02
03
04
05
06
07
08
09
10
11
12
13
<!— #logo —>
  <div id=»logo»>
    <?php if (is_front_page()) { ?><h1><?php } ?>
      <a title=»<?php bloginfo( ‘name’ ); ?>» href=»<?php echo home_url(); ?>»>
      <?php if (of_get_option(‘st_logo’)) { ?>
      <img alt=»<?php bloginfo( ‘name’ ); ?>» src=»<?php echo $GLOBALS[«logo_image_url»] ?>»>
      <?php } else { ?>
      <?php bloginfo( ‘name’ );
      <?php } ?>
      </a>
     <?php if (is_front_page()) { ?></h1><?php } ?>
  </div>
<!— /#logo —>

Отображение домена в WP Engine может быть немного запутанным для непосвященных. Вы должны добавить домены для своего сайта и сопоставить их с внутренней системой адресации WP Engine. Если вы хотите, чтобы дочерние домены работали правильно, вы должны индивидуально настроить каждый поддомен из панели управления доменами WP Engine.

Это заняло у меня некоторое время, чтобы понять. Здесь я добавляю страницу прибытия местозаполнителя для Сан-Франциско, которую можно найти по адресу sanfrancisco.fleethejungle.com или sfbay.fleethejungle.com. WP Engine позволяет легко настроить эти перенаправления:

WPEngine Добавление домена нового города

Вот предварительный вид доменов, настроенных для глобального и локального бегства из джунглей:

Список доменов WPEngine для вашего сайта

К сожалению, города, которые вы явно не добавляете, перенаправляют на ошибку 404 в WP Engine. Есть и другие способы обойти это, но на данный момент я просто добавляю в конфигурацию большие города. Как правило, люди будут перенаправлены на глобальную домашнюю страницу или в уже существующий город — оттуда они могут добровольно открыть свой собственный город.

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

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

Честно говоря, я понятия не имею, как модель геолокальной сети Flee the Jungle будет получена и оценена в рамках ее суперкомпьютерного мегаплекса. Это более низкий приоритет для меня на данный момент. Основа движения «Беги в джунглях» — поддержка широких масс и социальная сеть.

Пожалуйста, сравните разницу в содержании между всемирным сайтом « Беги из джунглей» и местным городом Портленда :

Бегите из Портленда Джунглей - Пример Домашней страницы

Конечно, есть несколько способов, которыми я мог бы решить проблему создания геолокационных сайтов. Однако «Беги из джунглей» остается волонтерским усилием — мне нужно было решение, которое было бы простым и быстрым, при этом было бы легко добавлять города, используя блогеров в качестве добровольцев. Подход, который я описал, быстро достиг этих целей.

Результатом всей этой настройки является то, что у нас есть единственная установка WordPress, которая может запускать сотни гео-локальных вариаций нашего сайта с соответствующим образом отфильтрованными и организованными всемирным и локальным контентом. Самое главное, волонтеры могут строить и запускать города только с базовыми навыками блоггера WordPress. Это намного проще и быстрее, чем мой «друг» многосайтовый WordPress или работает с отдельными установками. Будущее относительно безгранично.

Я надеюсь, что вам понравился этот урок, и вам будет приятно услышать, как вы могли бы справиться с этой задачей Если вы хотите запустить руководство по покупкам для своего города, свяжитесь с нами . Если вы заинтригованы о создании такого сайта, я написал подробное пошаговое руководство по созданию собственного сайта базы знаний на WordPress . Допустим, вы хотите запустить свой собственный фан-сайт о Гарри Поттере — это простое руководство по началу работы.

Пожалуйста, не стесняйтесь оставлять свои вопросы и комментарии ниже. Вы также можете связаться со мной в Twitter @reifman или написать мне напрямую. Вы также можете просмотреть мою страницу инструктора Envato Tuts +, чтобы увидеть другие уроки, которые я написал.