следите за-языком-20150709
TRANSCRIPT
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Данная презентация изначально была представлена Дугласом Лоуренсом и
Белиндой Масто на WordCamp в Бирмингеме в 2015
Затем презентация была переведена (включая комментарии) и адаптирована для московского семинара WordPress в
июне 2015
дугласлоуренс.рф
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Следите за языком!
Практическое руководство по применению «правильного» языка на
мультиязычных сайтах WordPress
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Введение• 2 “локали”
• Дуглас Лоуренс: теория и преимущества (en-gb)
• Белинда Масто: реализация (en-php)
• Вопросы (для аудитории)
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Мультиязычный сайт• Сайт на более, чем одном языке • Сайт на ‘втором’ языке• Перевод
• Более широкая аудитория (внутри страны и за рубежом)
• Дополнительные услуги• Потенциальные новые клиенты • Продвижение в международной торговле
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Плюсы кодирования языка
• Полезный опыт • Может помочь с доступностью (видимостью)• Средства Google веб-мастера• Поисковая оптимизация• Дублированный контент на
американском/британском/австралийском английском
• В WordPress стандартная настройка «en-US» на британских сайтах выглядит ужасно ;)
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Google Search Console (был webmaster tools)
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Google Search Console (был webmaster tools)
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Google Search Console (был webmaster tools)
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Google Search Console (был webmaster tools)
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Google webmaster tools
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Добавление hreflangs на сайты Дугласа
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайдуПоставьте тэги в заголовок страницы• Rel = “alternative” – сообщает Google, что
есть альтернативная страница• Hreflang= код языка – Сообщает Google,
какие доступны языки• Href – ссылка на страницу с
альтернативным языком
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Проблемы
• Много различных языков – способность легко добавлять больше
• Не все страницы имеют эквиваленты на других языках, поэтому требуется добавлять их страница за страницей.
На пример:<link rel="alternate" hreflang="en" href="http://douglawrence.com" /><link rel="alternate" hreflang="ru-ru" href="http://douglaslawrence.ru" />
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Решение
Meta Boxes с Href Langs по умолчанию на каждой странице, это поле может повторяться.
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Как?Создать две meta box в панели управления “WP admin” любимым способом (я использовал CMB2) Один box для языка, один для URL
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайду
Создать php файл под названием href-lang.php, который получает значения metabox на каждой странице, обрабатывает их в цикле и выводит html
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
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 } ?>
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайду
• Используя Genesis Framework, добавляем к genesis_meta действие в функциях
• Получаем HTML в шапке страницы
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
functions.phpfunction include_href_lang() { require(CHILD_DIR.'/hreflang.php');}add_action( 'genesis_meta', 'include_href_lang' );
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Коментарии к следующему слайду
• Необычно то, что оба сайта на английском языке, но один на американском, другой на британском английском
• Клиент хотела, чтобы, когда в Америке люди искали ее сайт в Google, они попадали на ее американский сайт, а не британский
• Чтобы этого добиться, мы добавили геотаргетирование и hreflangs.
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Добавление hreflangs на сайты с он-лайн коммерцией
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Проблема1. Не используется платформа Genesis2. Всего два сайта, не надо запутанного
добавления meta boxes3. Пришлось добавить href lang на страницы
категории продуктов в WooCommerce4. Чтобы добавить hreflang в ручную на сайт с
более чем 100 страниц потребуется много времени.
5. Сложная тема, возможно, лучше добавить это как плагин
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Решение
1. Не используя платформу Genesis
add_action('wp_head','href_lang_output', 1);
Подробнее здесь:http://codex.wordpress.org/Plugin_API/Action_Reference/wp_head
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду• Это скриншот английского сайта.• Скопировать только один meta box в
американский URL • Что упрощает работу для владельца сайта
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Всего один meta box
Всего два сайта, не надо запутанного добавления боксов
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду• Woocommerce использует страницы
категории архива, чтобы показать список продуктов ,
• Поэтому потребовалось добавить альтернативные href langs на эти страницы.
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Страницы категории продуктов• Пришлось добавить href lang на страницы
категории продуктов в WooCommerce
• CMB позволяет добавить данные на страницы Taxonomy.
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду
• На каждую страницу мы добавили тэг hreflang с языком сайте плюс с альтернативным языком, если такой имеется
• Для языка этого сайта необходимо найти URL текущей страницы, для альтернативного языка – надо посмотреть в meta box, которые мы создали ранее
• Мы должны это также повторить для других страниц• Посмотрели, как Yoast SEO получает URL текущей
страницы для каждой страницы (т.к это может быть довольно запутанно)
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Получаем 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' ) );
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Получаем URL текущей страницыif( is_shop() ){
$current_page_url = get_permalink( woocommerce_get_page_id( 'shop' ) );
}elseif ( is_author() ) {
$current_page_url = get_author_posts_url( get_query_var( 'author' ), get_query_var( 'author_name' ) );
}elseif ( is_archive() ) {
$obj = get_queried_object();$current_page_url = get_term_link( $obj, $obj->taxonomy );
}else{$current_page_url = get_permalink();
}
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Получаем альтернативные URLif ( 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;
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Комментарии к следующему слайду• На английском сайте uk_url это URL текущей
страницы, а us_url величина metabox. • Для американского сайта все наоборот• X-default для заданного по умолчанию языка• En-gb для британского английского• En-us для американского английского• EN-ca для канадского английского, так как клиент
хотела, чтобы Google показывал канадцам сниппеты американского сайта, а не британского
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Выводим HTML$us_url = esc_attr( $alt_url );$uk_url = $current_page_url;
<?php if($uk_url): ?><link rel="alternate" href="<?php echo $uk_url; ?>" hreflang="x-default" /><link rel="alternate" href="<?php echo $uk_url; ?>" hreflang="en-gb" />
<?php endif; ?>
<?php if($us_url): ?><link rel="alternate" href="<?php echo $us_url; ?>" hreflang="en-us" /><link rel="alternate" href="<?php echo $us_url; ?>" hreflang="en-ca"/>
<?php endif; ?>
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Полезные ссылки• Ссылки на 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
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Прочие адаптации для русского сайта
• Текст внизу страницы с использованием плагина Genesis Simple Edits
• Адаптация темы для страницы 404
дугласлоуренс.рфПомощь в увеличении международных продаж
языки| продажи | веб |технологии
Thank you Спасибо 谢谢
www.verytwisty.com дугласлоуренс.рф