SlideShare a Scribd company logo
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
SSEEOO--ооппттииммииззииррооввааннннааяя 
ммииггрраацциияя ддаанннныыхх вв DDrruuppaall 
Sergey Miroshnichenko 
Developer 
Adyax 
smiroshnichenko@adyax.com
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
http://site.com/en 
http://site.com/fr 
http://site.com/ua 
http://en.site.com 
http://fr.site.com 
http://ua.site.com 
http://en.m.site.com 
http://fr.m.site.com 
http://ua.m.site.com
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
План действий 
1. Анализ структуры данных и ЧПУ 
2. Анализ источников трафика 
3. Создание новой структуры 
4. Подготовка данных 
5. Миграция данных 
6. Настройка переадресации 
7. Внутренняя SEO-оптимизация 
8. Запуск 
9. Анализ последствий
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Анализ структуры данных и ЧПУ 
http://site.com/en?c=front&m=brand&bid=767&d=true 
Имя модели ID модели Расширенная версия 
Текущий язык 
Имя контроллера
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
fr?c=author&uid=33 
en?c=category&id=77 
ua?c=search&query=apple 
en?pid=758 
Top pages 
3000 
3000 
5000 
8000 
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 
Hits 
External links 
Анализ источников трафика
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Создание новой структуры 
id brand model description details 
Integer Integer text Longtext Serialized 
$taxonomy_term->field_source_id 
$taxonomy_term->field_old_url 
$node->field_source_id 
$node->field_old_url 
$field_collection->source_id 
$field_collection->field_old_url
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Подготовка данных 
1. Установка и настройка инструментов миграции 
2. Настройка обработки полей, содержащих html (внешние и внутренние ссылки, 
изображения, преобразование html-тегов) 
3. Настройка обработки полей мета-тегов 
4. Настройка переноса файлов
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Миграция данных
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Настройка переадресации 
Доступные решения 
Varnish Nginx Apache Drupal 
HTTP accelerator HTTP proxy HTTP back end server Application
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Настройка переадресации 
Средства сервера 
1. www / non-www 
2. Неиспользуемые субдомены 
3. Статика
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Настройка переадресации 
Средства Drupal 
1. Для главной страницы — версия сайта и языковый субдомен. 
Решение: Средства сервера или JavaScript (User-agent, Cookies). 
2. Для внутренних страниц — адрес, версия сайта и субдомен. 
Решение: Модуль Redirect и JavaScript.
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Настройка переадресации 
Модуль Redirect (https://www.drupal.org/project/redirect) 
1. «Destination language» field 
2. Operations hooks: 
 hook_redirect_insert() 
 hook_redirect_update() 
 hook_redirect_delete() 
3. Processing hooks: 
 hook_redirect_load() 
 hook_redirect_alter()
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Настройка переадресации 
Миграция адресов 
Source 
Base url, query params, 
language 
Destination 
System path, query params, 
fragment, language
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Настройка переадресации 
Переадресация «на лету» по маске 
Page not found - 404 
redirect_get_current_redirect() 
drupal_get_query_parameters() 
drupal_goto()
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Настройка переадресации 
С помощью JavaScript 
Проверить наличие Cookie версии сайта 
Есть 
Перенаправить 
Нет 
Записать Cookie Определить устройство
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Внутренняя SEO-оптимизация 
Семантика 
1. HTML-разметка 
2. Микроразметка 
3. Open Graph теги
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Внутренняя SEO-оптимизация 
Индексация 
1. Мета-теги 
2. Pathauto 
3. Canonical URL 
4. Robots.txt 
5. XML Sitemap 
6. Global Redirect
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Внутренняя SEO-оптимизация 
Alternate-теги 
1. В теле страницы 
<link hreflang="fr" href="http://fr.site.com/" rel="alternate"> 
<link media="only screen and (max-width: 640px)" href="http://fr.m.site.com/" rel="alternate"> 
2. В XML-карте сайта 
<xhtml:link hreflang="fr" rel="alternate" href="http://fr.site.com"/> 
<xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="http://fr.m.site.com"/>
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Запуск
Lviv EEuurroo DDrruuppaallCCaammpp 22001144 
Анализ последствий 
1. Google webmaster tools 
2. Google Analytics 
3. Server logs 
4. Application logs.

More Related Content

PDF
Hadoop streaming простой путь к масштабированию приложений обработки данных. ...
PPTX
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
PPTX
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
PPTX
Александр Даниленко - Panels как философия
PDF
Денис Головняк - Продвинутый поиск с помощью Search API
PDF
Тарас Цюпер - Мультиязычность в Drupal 8
PDF
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
PDF
Андрей Поданенко - Start using Vagrant now!
Hadoop streaming простой путь к масштабированию приложений обработки данных. ...
Алексей Горобец - Building Drupal Distributions. Why? When? and How?
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...
Александр Даниленко - Panels как философия
Денис Головняк - Продвинутый поиск с помощью Search API
Тарас Цюпер - Мультиязычность в Drupal 8
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form API
Андрей Поданенко - Start using Vagrant now!

Viewers also liked (11)

PPTX
Анатолий Поляков - Drupal.ajax framework from a to z
PPTX
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
PDF
Чеботарь Кирилл - Panels - пособие для начинающих
PDF
Караиванов Георгий - Drupal в проектах Электронного правительства
PPTX
Александр Шуменко - Varnish for authenticated users
PPTX
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
PPTX
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
PPTX
Березовский Андрей - Social Authentication
PPTX
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
PPT
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
PDF
Максим Ринг - Тестирование миграции и импорта
Анатолий Поляков - Drupal.ajax framework from a to z
Виктор Левандовский - Why Drupal? Как продавать Родину с напильником.
Чеботарь Кирилл - Panels - пособие для начинающих
Караиванов Георгий - Drupal в проектах Электронного правительства
Александр Шуменко - Varnish for authenticated users
Александр Бондаренко - CommerceBox - Почему мы решили перевести нашу сборку н...
Евгений Гарбузов - E-commerce. Создание интернет-магазина на базе Drupal Comm...
Березовский Андрей - Social Authentication
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектов
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)
Максим Ринг - Тестирование миграции и импорта
Ad

Similar to Сергей Мирошниченко - SEO-friendly data migration (20)

PDF
леонид гроховский руководство по внутренним факторам
PPTX
3 способа увеличить трафик интернет магазина средствами on-site seo
PDF
Л.Гроховский - Руководство по внутренним факторам
PPTX
Маркетинг в поисковых системах - секреты, фишки, подводные камни
PPTX
«Возможности SEO для бизнеса»
PPTX
Возможности SEO для бизнеса
PPS
SeoНеонатология
PPTX
Что нужно знать девелоперу о SEO на этапе проектирования сайта
PPTX
Поисковая оптимизация сайта на Drupal 7
PPT
инструкция по оптимизации сайтов на Drupal херени даниэл
PPT
инструкция по оптимизации сайтов на Drupal херени даниэл
PPT
инструкция по оптимизации сайтов на Drupal херени даниэл
PPTX
Как разработать интернет-магазин и не проспать SEO
PPT
Построение внутренней ссылочной структуры
PPT
Drupalconf 2012-06-02-kostin
PPT
построение внутренней ссылочной структуры сайта на Drupal 7 (seo) костин алексей
PPT
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...
PPTX
"Основные технические ошибки сайтов"
PPT
Эффективное SEO для брендовых проектов. Кейс "Нова пошта"
леонид гроховский руководство по внутренним факторам
3 способа увеличить трафик интернет магазина средствами on-site seo
Л.Гроховский - Руководство по внутренним факторам
Маркетинг в поисковых системах - секреты, фишки, подводные камни
«Возможности SEO для бизнеса»
Возможности SEO для бизнеса
SeoНеонатология
Что нужно знать девелоперу о SEO на этапе проектирования сайта
Поисковая оптимизация сайта на Drupal 7
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэл
Как разработать интернет-магазин и не проспать SEO
Построение внутренней ссылочной структуры
Drupalconf 2012-06-02-kostin
построение внутренней ссылочной структуры сайта на Drupal 7 (seo) костин алексей
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...
"Основные технические ошибки сайтов"
Эффективное SEO для брендовых проектов. Кейс "Нова пошта"
Ad

More from LEDC 2016 (20)

PPTX
A. Postnikov & P. Mahrinsky — Drupal Community — це ми
PDF
Слава Мережко — Практикум: "Як ростити розробників"
PDF
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
PDF
Олексій Калініченко — Configuration Management in Drupal8
PPTX
Олександр Лінивий — Multisite platform with continuous delivery process for m...
PPTX
Андрій Юн — Воркшоп "Docker use cases for developers"
PDF
Андрій Поданенко — Воркшоп "Розвертання CIBox"
PDF
Юрій Герасімов — Editorial experience in Drupal8
PPTX
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
PPTX
Тарас Кирилюк — Docker basics. How-to for Drupal developers
PDF
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
PDF
Ігор Карпиленко — PHPStorm for drupal developer
PDF
Олександр Щедров — Build your application in seconds and optimize workflow as...
PPTX
Анатолій Поляков — Subdomains everywhere
PPTX
Артем Доценко — Deploy Plus. Better UI and more control for deploy module
PPTX
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
PPTX
Вадим Абрамчук — Big Drupal: Issues We Met
PDF
Юрій Герасимов — Delayed operations with queues
PPTX
Віталій Бобров — Web components, Polymer and Drupal
PPTX
Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be s...
A. Postnikov & P. Mahrinsky — Drupal Community — це ми
Слава Мережко — Практикум: "Як ростити розробників"
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...
Олексій Калініченко — Configuration Management in Drupal8
Олександр Лінивий — Multisite platform with continuous delivery process for m...
Андрій Юн — Воркшоп "Docker use cases for developers"
Андрій Поданенко — Воркшоп "Розвертання CIBox"
Юрій Герасімов — Editorial experience in Drupal8
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...
Ігор Карпиленко — PHPStorm for drupal developer
Олександр Щедров — Build your application in seconds and optimize workflow as...
Анатолій Поляков — Subdomains everywhere
Артем Доценко — Deploy Plus. Better UI and more control for deploy module
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtension
Вадим Абрамчук — Big Drupal: Issues We Met
Юрій Герасимов — Delayed operations with queues
Віталій Бобров — Web components, Polymer and Drupal
Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be s...

Сергей Мирошниченко - SEO-friendly data migration

  • 1. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 SSEEOO--ооппттииммииззииррооввааннннааяя ммииггрраацциияя ддаанннныыхх вв DDrruuppaall Sergey Miroshnichenko Developer Adyax smiroshnichenko@adyax.com
  • 2. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 http://site.com/en http://site.com/fr http://site.com/ua http://en.site.com http://fr.site.com http://ua.site.com http://en.m.site.com http://fr.m.site.com http://ua.m.site.com
  • 3. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 План действий 1. Анализ структуры данных и ЧПУ 2. Анализ источников трафика 3. Создание новой структуры 4. Подготовка данных 5. Миграция данных 6. Настройка переадресации 7. Внутренняя SEO-оптимизация 8. Запуск 9. Анализ последствий
  • 4. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Анализ структуры данных и ЧПУ http://site.com/en?c=front&m=brand&bid=767&d=true Имя модели ID модели Расширенная версия Текущий язык Имя контроллера
  • 5. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 fr?c=author&uid=33 en?c=category&id=77 ua?c=search&query=apple en?pid=758 Top pages 3000 3000 5000 8000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Hits External links Анализ источников трафика
  • 6. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Создание новой структуры id brand model description details Integer Integer text Longtext Serialized $taxonomy_term->field_source_id $taxonomy_term->field_old_url $node->field_source_id $node->field_old_url $field_collection->source_id $field_collection->field_old_url
  • 7. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Подготовка данных 1. Установка и настройка инструментов миграции 2. Настройка обработки полей, содержащих html (внешние и внутренние ссылки, изображения, преобразование html-тегов) 3. Настройка обработки полей мета-тегов 4. Настройка переноса файлов
  • 8. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Миграция данных
  • 9. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Настройка переадресации Доступные решения Varnish Nginx Apache Drupal HTTP accelerator HTTP proxy HTTP back end server Application
  • 10. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Настройка переадресации Средства сервера 1. www / non-www 2. Неиспользуемые субдомены 3. Статика
  • 11. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Настройка переадресации Средства Drupal 1. Для главной страницы — версия сайта и языковый субдомен. Решение: Средства сервера или JavaScript (User-agent, Cookies). 2. Для внутренних страниц — адрес, версия сайта и субдомен. Решение: Модуль Redirect и JavaScript.
  • 12. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Настройка переадресации Модуль Redirect (https://www.drupal.org/project/redirect) 1. «Destination language» field 2. Operations hooks:  hook_redirect_insert()  hook_redirect_update()  hook_redirect_delete() 3. Processing hooks:  hook_redirect_load()  hook_redirect_alter()
  • 13. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Настройка переадресации Миграция адресов Source Base url, query params, language Destination System path, query params, fragment, language
  • 14. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Настройка переадресации Переадресация «на лету» по маске Page not found - 404 redirect_get_current_redirect() drupal_get_query_parameters() drupal_goto()
  • 15. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Настройка переадресации С помощью JavaScript Проверить наличие Cookie версии сайта Есть Перенаправить Нет Записать Cookie Определить устройство
  • 16. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Внутренняя SEO-оптимизация Семантика 1. HTML-разметка 2. Микроразметка 3. Open Graph теги
  • 17. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Внутренняя SEO-оптимизация Индексация 1. Мета-теги 2. Pathauto 3. Canonical URL 4. Robots.txt 5. XML Sitemap 6. Global Redirect
  • 18. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Внутренняя SEO-оптимизация Alternate-теги 1. В теле страницы <link hreflang="fr" href="http://fr.site.com/" rel="alternate"> <link media="only screen and (max-width: 640px)" href="http://fr.m.site.com/" rel="alternate"> 2. В XML-карте сайта <xhtml:link hreflang="fr" rel="alternate" href="http://fr.site.com"/> <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="http://fr.m.site.com"/>
  • 19. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Запуск
  • 20. Lviv EEuurroo DDrruuppaallCCaammpp 22001144 Анализ последствий 1. Google webmaster tools 2. Google Analytics 3. Server logs 4. Application logs.