Данная презентация изначально была представлена Дугласом Лоуренсом и Белиндой Масто на WordCamp в Бирмингеме в 2015. Затем презентация была переведена (включая комментарии) и адаптирована для московского семинара WordPress в июне 2015.
1. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Данная презентация изначально была
представлена Дугласом Лоуренсом и
Белиндой Масто на WordCamp в
Бирмингеме в 2015
Затем презентация была переведена
(включая комментарии) и адаптирована
для московского семинара WordPress в
июне 2015
дугласлоуренс.рф
2. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Следите за языком!
Практическое руководство по
применению «правильного» языка на
мультиязычных сайтах WordPress
3. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Введение
• 2 “локали”
• Дуглас Лоуренс: теория и преимущества
(en-gb)
• Белинда Масто: реализация (en-php)
• Вопросы (для аудитории)
4. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Мультиязычный сайт
• Сайт на более, чем одном языке
• Сайт на ‘втором’ языке
• Перевод
• Более широкая аудитория (внутри страны и за
рубежом)
• Дополнительные услуги
• Потенциальные новые клиенты
• Продвижение в международной торговле
5. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Плюсы кодирования языка
• Полезный опыт
• Может помочь с доступностью (видимостью)
• Средства Google веб-мастера
• Поисковая оптимизация
• Дублированный контент на
американском/британском/австралийском
английском
• В WordPress стандартная настройка «en-US» на
британских сайтах выглядит ужасно ;)
12. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайду
Поставьте тэги в заголовок страницы
• Rel = “alternative” – сообщает Google, что
есть альтернативная страница
• Hreflang= код языка – Сообщает Google,
какие доступны языки
• Href – ссылка на страницу с
альтернативным языком
13. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Проблемы
• Много различных языков – способность
легко добавлять больше
• Не все страницы имеют эквиваленты на
других языках, поэтому требуется
добавлять их страница за страницей.
На пример:
<link rel="alternate" hreflang="en" href="http://douglawrence.com" />
<link rel="alternate" hreflang="ru-ru" href="http://douglaslawrence.ru" />
14. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Решение
Meta Boxes с Href Langs по умолчанию на каждой
странице, это поле может повторяться.
15. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Как?
Создать две meta box в панели управления “WP
admin” любимым способом (я использовал CMB2)
Один box для языка, один для URL
16. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайду
Создать php файл под названием href-
lang.php, который получает значения metabox
на каждой странице, обрабатывает их в цикле
и выводит html
17. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
hreflang.php
<?php
$entries = get_post_meta( get_the_ID(), 'href_repeat', true );
foreach ( (array) $entries as $key => $entry ) {
if ( isset( $entry['hreflang'] ) )
$hreflang = esc_attr( $entry['hreflang'] );
if ( isset( $entry['href_url'] ) )
$hrefurl = esc_html( $entry['href_url'] );
?>
<link rel="alternate" hreflang="<?php echo $hreflang; ?>" href="<?php
echo $hrefurl; ?>" />
<?php } ?>
18. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайду
• Используя Genesis Framework, добавляем к
genesis_meta действие в функциях
• Получаем HTML в шапке страницы
19. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
functions.php
function include_href_lang() {
require(CHILD_DIR.'/hreflang.php');
}
add_action( 'genesis_meta', 'include_href_lang' );
20. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайду
• Необычно то, что оба сайта на английском
языке, но один на американском, другой на
британском английском
• Клиент хотела, чтобы, когда в Америке
люди искали ее сайт в Google, они
попадали на ее американский сайт, а не
британский
• Чтобы этого добиться, мы добавили
геотаргетирование и hreflangs.
22. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Проблема
1. Не используется платформа Genesis
2. Всего два сайта, не надо запутанного
добавления meta boxes
3. Пришлось добавить href lang на страницы
категории продуктов в WooCommerce
4. Чтобы добавить hreflang в ручную на сайт с
более чем 100 страниц потребуется много
времени.
5. Сложная тема, возможно, лучше добавить это
как плагин
23. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Решение
1. Не используя платформу Genesis
add_action('wp_head','href_lang_output', 1);
Подробнее здесь:
http://codex.wordpress.org/Plugin_API/Action_Reference/wp_head
24. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду
• Это скриншот английского сайта.
• Скопировать только один meta box в
американский URL
• Что упрощает работу для владельца сайта
25. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Всего один meta box
Всего два сайта, не надо запутанного добавления
боксов
26. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду
• Woocommerce использует страницы
категории архива, чтобы показать список
продуктов ,
• Поэтому потребовалось добавить
альтернативные href langs на эти страницы.
27. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Страницы категории продуктов
• Пришлось добавить href lang на страницы
категории продуктов в WooCommerce
• CMB позволяет добавить данные на
страницы Taxonomy.
28. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду
• На каждую страницу мы добавили тэг hreflang с
языком сайте плюс с альтернативным языком, если
такой имеется
• Для языка этого сайта необходимо найти URL
текущей страницы, для альтернативного языка –
надо посмотреть в meta box, которые мы создали
ранее
• Мы должны это также повторить для других
страниц
• Посмотрели, как Yoast SEO получает URL текущей
страницы для каждой страницы (т.к это может быть
довольно запутанно)
29. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Получаем URL текущей страницы
Как получить URL текущей страницы
автоматически?
Страницы и посты блогов:
get_permalink();
Страницы архива (и архива продуктов) :
$obj = get_queried_object();
get_term_link( $obj, $obj->taxonomy );
Страницы автора:
get_author_posts_url( get_query_var( 'author' ), get_query_var( 'author_name' ) );
Страница e-commerce:
get_permalink( woocommerce_get_page_id( 'shop' ) );
31. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Получаем альтернативные URL
if ( is_archive() ):
// gets the Alternate URL of Taxonomy Page
$obj = get_queried_object();
// Gets the Variables from the Taxonomy
$taxonomy = 'product_cat';
$term_id = $obj->term_id;
$tax_data = Taxonomy_MetaData::get( $taxonomy, $term_id);
$alt_url = $tax_data['tax_us_url'];
else:
global $post;
// Gets Alt Page URL
$alt_url = get_post_meta( $post->ID, $prefix . 'us_url', true );
endif;
32. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду
• На английском сайте uk_url это URL текущей
страницы, а us_url величина metabox.
• Для американского сайта все наоборот
• X-default для заданного по умолчанию языка
• En-gb для британского английского
• En-us для американского английского
• EN-ca для канадского английского, так как
клиент хотела, чтобы Google показывал
канадцам сниппеты американского сайта, а не
британского
34. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Полезные ссылки
• Ссылки на Google веб-мастер:
• Применение hreflang для URL на другом языке и регионе
https://support.google.com/webmasters/answer/189077?hl=en
• Геотаргетинг по странам
https://support.google.com/webmasters/answer/62399?hl=en
• Геотаргетируемые домены
https://support.google.com/webmasters/answer/1347922?hl=en
• Wp head:
http://codex.wordpress.org/Plugin_API/Action_Reference/wp_head
35. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Прочие адаптации для русского сайта
• Текст внизу страницы с использованием
плагина Genesis Simple Edits
• Адаптация темы для страницы 404
39. дугласлоуренс.рф
Помощь в увеличении международных продаж
языки| продажи | веб |технологии
Thank you
Спасибо
谢谢
www.verytwisty.com дугласлоуренс.рф
Notas del editor
Put some tags into the header of the page
Rel = “alternative” – Tells google there’s an alternative page available
Hreflang= language code – tells google which languages are available
Href – the link the alternative language page
One meta box for the language one for the URL
Create a php file called href-lang.php.
Gets the meta boxes on each page and loops through them
Outputs the html
As using genesis framework added an action in the functions to
genesis_meta
Outputs the HTML at the top of the page
Unusual in the both site are in English, but one in US english and one in UK english
Client wanted people in the US to land on the US site, not the UK site when googling her website
Added Geotargeting and href langs to try and achieve this.
WP has an action which you can use to modify the head
Call the function and set the priority, which in this case is 1
More information about wp_head can be found on the codex
This is a screenshot of the UK site.
Only one metabox to paste in the veve US URL
This simplifies it for the website owner
Woocommerce uses Category Archive pages to display the list of products, so needed to add alternative href langs to these pages too.
On each page we want to add a href lang tag with that site’s language plus the alternative language is it’s available.
For this site’s language need to find the current page url, for the alternative we need to look it up from the meta boxes we created earlier.
Also we need to support this for a variety of different pages.
Looked at how Yoast SEO got the current page url for every page. (because it can be quite tricky).
Putting It all together.
On the uk site the uk_url is the current page’s url and the us_url is the metabox value. This is reversed on the US site.
X-default – the default language
En-gb – is the type of British English
En-us is US english
EN-ca is not really canadian english, but she wanted to direct Canadians to the US, not the UK site.