В октябре проекту AMP (Accelerated Mobile Pages) от Google стукнет третий год. Эта инициатива направлена на повышение производительности мобильной сети. В настоящий момент AMP охватывает более 25 млн доменов.
Использование AMP в WordPress с самого начала оказалось достаточно сложным, несмотря на то, что плагин AMP был разработан Automattic – одним из первых партнеров проекта. От владельцев сайтов требовались немалые усилия, чтобы оптимизировать AMP-страницы и отточить их под свои нужды. AMP for WordPress не обновлялся около 10 месяцев в 2017 году, часто приводил к ошибкам и был несовместим со многими плагинами.
XWP взялись за разработку плагина в прошлом году, начиная с версии 0.6, в партнерстве с Google. Техническим руководителем выступал Уэстон Рутер, который трудился вместе с несколькими специалистами из XWP. Альберто Медина, Developer Advocate в Google, вместе со своей командой отвечал за маркетинг и менеджмент.
«В мае прошлого года моя команда приступила к долгосрочным планам по разработке AMP, включая значительные инвестиции в технические ресурсы по разработке плагина», – отметил Медина. – «Мы вложились в разработку, а затем объединились с XWP для расширения технических возможностей. На этом этапе проекта Google и XWP обеспечили реализацию проекта».
Рутер отметил, что его команда прошлась по запросам в поддержку на WordPress.org и разбила их по категориям, чтобы выяснить, с какими проблемами сталкивалось большинство пользователей. Разработчики использовали эти данные при выпуске первой стабильной версии, после чего они продолжили держать руку на пульсе событий, отслеживая все запросы на форуме поддержки.
Плагин получил обширные изменения, когда за него взялась команда XWP. Все новые возможности AMP были реализованы применительно к контексту WordPress. Ранние версии плагина позволяли передавать в формате AMP только записи, однако в релизе 0.6 были добавлены также и страницы. В версии 0.7 появилась возможность передачи всех URL сайта в AMP («Native AMP»), однако пользователи не могли настраивать то, какие именно типы контента следует исключить из этого формата. Предстоящий релиз 1.0 позволит пользователям создать нативный AMP-сайт, который будет исключать из передачи в AMP определенные шаблоны, такие как корзина товаров или архивы по категориям.
«Изначально AMP был ограничен в своей функциональности», – отметил Рутер. – «Плагин AMP был создан тогда, когда проект AMP был еще молод. Вначале он был ориентирован только на ускорение мобильных страниц, и он не мог предложить полноценный адаптивный опыт взаимодействия, который ждали владельцы сайтов. Теперь все поменялось, и AMP может многое. Сейчас мы сфокусированы на том, чтобы плагин AMP полностью отвечал проекту AMP – в таком случае вебмастера WordPress смогут воспользоваться всеми имеющимися функциями и возможностями, доступными на данный момент».
Команда XWP намерена выпустить версию 1.0 AMP для WordPress в середине сентября. Альфа-релиз 1.0 предлагает расширенную поддержку тем в AMP с более понятным подходом к настройкам. Прошлые версии плагина были ориентированы скорее на разработчиков, требуя редактирования темы для настройки поддержки шаблонов. Теперь пользователи могут включить Native AMP или Paired mode на странице настроек AMP. В бета-версии появились элементы управления для выбора поддерживаемых шаблонов.
Другие примечательные обновления в альфа- и бета-релизах:
- улучшенный UI для обработки ошибок валидации AMP;
- расширенная поддержка Gutenberg для выявления валидационных ошибок на уровне блоков;
- добавление AMP-функционала к базовым блокам;
- перенаправление к обычным URL, если найдены неподдерживаемые ошибки валидации;
- в бета-версии вновь появится меню AMP в админ-панели, в котором будут подсвечиваться ошибки AMP
Бета-версия AMP для WordPress v1.0-beta2 вышла в августе и пока не готова к использованию в продакшне.
«Чтобы воспользоваться преимуществами новой поддержки тем, достаточно переключиться от legacy к paired или native», – рассказал Рутер. – «Все остальное является опциональным и просто задает поведение. В 1.0 появится новый административный указатель, который позволит вывести обновленный экран администрирования».
Рутер также отметил, что его команда рассматривает возможность внедрения wizard-ов, чтобы свести к минимуму количество настроек, которые должны задавать пользователи. Обсуждалась автоматизация проверки совместимости разных шаблонов до включения поддержки тем, чтобы пользователи могли получить представление об основных зонах сайта, которые лучше всего подходят для AMP.
AMP остается спорным решением для производительности веб-страниц
Многие пользователи столкнулись с непреодолимыми трудностями во время своих первых попыток использования плагина AMP на комплексных сайтах. Ранние версии проекта AMP не имели гибкости, требуемой многим издателям.
Брайан Бойер, вице-президент по продуктам и пользователям в Spirited Media, выступил с презентацией на WordCamp for Publishers, которая называлась «Почему мы отказались от AMP, и какие методики UX мы использовали для запуска сайта сообщества».
«Нам требовалось больше контроля над нашим UX, нежели то, что давал нам AMP. Чтобы создать высокоэффективный опыт взаимодействия, нам нужно было больше JavaScript», – отметил Бойер. – «Мы не можем себе позволить проектировать и, что самое главное, тестировать несколько версий нашего сайта».
Бойер назвал расходы на проектирование и тестирование нескольких кодовых баз как одну из главных причин, почему его команда отказалась от AMP. Сложности в поддержании двух UX оказались чрезмерными для его команды разработки, которая уже создала быструю, легкую сборку WordPress с грамотным кэшированием.
«Страница AMP может загружаться несколько быстрее, однако другие наши потребности перевесили это незначительное улучшение производительности», – говорит Бойер. – «Мы преодолели наш страх FOMP (страх потери просмотров страниц). Если я могу улучшить конверсии, я могу поступиться просмотрами страниц».
Недавние улучшения проекта AMP и плагина, включая добавление компонентов для создания интерактивного опыта взаимодействия, помогут сократить разрыв между произвольным JS и ограничениями AMP. Это будет плюсом для тех, кто решил адаптировать AMP для своих сайтов. Однако остаются и противники AMP, считающие, что инициатива угрожает принципам открытой сети.
В своей презентации Бойер коснулся и возражений против AMP:
«Борьба с медленными сайтами, которую начал Google, затронула не только крупных издателей, но и меня, небольшого издателя, что стоит мне достаточно дорого», – отметил Бойер. – «AMP – это не открытая сеть, это лишь кратковременное исправление плохих методик и подходов. Если вы проектируете ужасный сайт, который поддерживает теневую бизнес-модель, то в таком случае AMP для вас – один из способов улучшить опыт взаимодействия. Это способ сбежать от вашего старого кода и плохих практик ваших предшественников. Я понимаю, почему этот вариант такой заманчивый, но в реальности это сделка с дьяволом. AMP и его брат Instant Articles позволили компаниям получить значительный контроль, который и так уже огромен, и я не могу всего этого допустить. Я просто прошу вас – делайте свою работу, исправляйте ваши сайты, делайте их быстрыми, дружественными к пользователям».
Других критиков не устраивает то, что Google позиционирует AMP как долгосрочное решение. Вебмастерам нужно задуматься над решением коренных проблем с производительностью веб-страниц. Джереми Кейт сформулировал эту позицию в своей статье под названием «AMPstinction».
«Если бы проект AMP существовал для того, чтобы создать сеть, где AMP уже больше бы не понадобился, я бы выступал за него», – отметил Джереми. – «Однако чем активнее он позиционируется как единственное жизнеспособное решение для увеличения производительности, тем больше я недоволен им».
«Это, кстати, подводит меня к одной из самых пагубных идей, связанных с Google AMP: если ты против AMP, значит, ты не заботишься об увеличении производительности веб-страниц. Естественно, это неверно. Производительность в сети так важна, что она заслуживает долгосрочного решения, созданного всеми нами. Всеми, а не одной организацией, которая к тому же имеет свои монопольные преференции в сегменте поисковых систем».
Однако вывод AMP из-под влияния Google также означало бы лишение проекта тех ресурсов, которые до сих пор стимулировали его принятие на миллионах сайтов. Несмотря на наличие других способов решения поставленных задач, Альберто Медина и его команда считают, что AMP несет в себе практическую ценность для пользователей и разработчиков, которые в противном случае не смогли бы оптимизировать свои сайты до такого же высокого уровня. В каком-то смысле это «демократизация производительности».
«Коренные причины проблем с производительностью хорошо известны, и есть инструменты, методы и API, которые позволяют разработчикам добиваться приближенного к AMP опыта взаимодействия», – отметил Медина. – «Однако реальность такова, что для большинства разработчиков это слишком сложно. Обычно достижение этого требует наличия своих выделенных технических команд и достаточных финансовых ресурсов. Потому AMP не слишком удобен для большинства разработчиков и компаний, у которых нет таких ресурсов».
Медина рассматривает AMP как ответ на то, что он назвал «разрывом в возможностях/использовании»: своеобразное различие между тем, что может быть достигнуто в сети, и тем, что уже существует в сети.
«Проблема в том, что по мере увеличения мощи и сложности сети увеличивается и этот разрыв», – говорит Медина. – «Проблема в том, что пока этот разрыв существует, достигнуть лучшего UX невозможно. Таким образом, цель состоит в том, чтобы закрыть этот пробел. Есть два варианта: либо разработчики всегда делают все грамотно, либо мы предлагаем им инструменты/библиотеки, которые позволяют делать правильные вещи простым и понятным способом. AMP служит последней цели».
Медина также подчеркнул, что AMP основан на открытых технологиях. «В принципе, он предлагает то, что разработчики могут сделать самостоятельно, но с серьезными затратами сил и средств», – отметил он.
В недавнем интервью для Recode Decode Мэтт Мулленвег также оценил проект AMP.
«AMP получил долю критики, поскольку Google немного небрежно выкатил его», – отметил Мэтт. – «За его основу взят открытый код, и это на самом деле неплохо. Чтобы у вас, как у независимого издателя, было свое будущее, вам требуется очень быстро загружать страницы, словно они встроены в приложение. Facebook уже много раз пытался завлечь пользователей в этом контексте, и теперь нам нужна независимая альтернатива, которой, по моему мнению, и может стать AMP».
Инвестиции Google в плагин AMP благодаря партнерству с Automattic и XWP сделали AMP более доступным для среднестатистического пользователя, особенно учитывая обновления, которые появятся в версии 1.0. Медина отметил, что Google решил сотрудничать с WordPress, поскольку они разделяют одни и те же цели – обеспечить лучший опыт взаимодействия для платформы.
«AMP – это не конечная цель сама по себе; реальная цель – открыть доступ для всех разработчиков WordPress и владельцев сайтов к предложению потрясающего опыта взаимодействия в WP», – указал Медина. – «AMP – всего лишь малый компонент в этой истории, наряду с возможностями PWA, лучшими методами кодирования и производительности, Tide и т.д.». В процессе разработки последней версии плагина Медина отметил, что его команда «стремится подключить родные возможности AMP в WordPress без ущерба для качества контента или гибкости платформы WordPress».
Вне зависимости от того, что вы думаете по поводу AMP, опции поддержки тем и лучшая валидация ошибок меняют правила игры в мире WordPress. В настоящий момент плагин установлен на 300 000+ сайтов. Обновления, которые войдут в релиз 1.0, позволят тысячам пользователей WordPress открыть для себя успешный опыт работы с AMP.
Источник: wptavern.com