Если вы когда-либо ранее пытались загрузить SVG-файл в WordPress (к примеру, для логотипа или для favicon), вы, возможно, уже сталкивались с ошибкой: с целью безопасности загружать такие файлы в WordPress нельзя. Поддержки в ядре для SVG нет, потому приходится использовать плагины, такие как SVG Support (более 900 тыс. установок) или Safe SVG (более 600 тыс. установок). Они позволяют загружать SVG-файлы в медиатеку и использовать SVG аналогично любым другим изображениям.
Главное преимущество SVG-файлов – это их масштабирование до любых размеров без потери качества. Они компактны, оптимизированы для SEO, поскольку хранятся в XML-файлах, которые поисковые роботы могут сканировать и индексировать.
Разработчики WordPress обсуждают добавление SVG-файлов в ядро на протяжении последних девяти лет. В тикете уже накопилось столько разных доказательств концепции, предложений и вариантов, что в итоге он напоминает какое-то болото, куда периодически заходят люди и оставляют что-то вроде: «Это жесть, что WordPress до сих пор не поддерживает такой формат».
Формат обладает практически всеобъемлющей поддержкой в сети, однако он не лишен некоторых недостатков: есть проблемы безопасности, связанные с SVG, когда файлы включают в себя вредоносные скрипты. Без адекватного SVG-санитайзера загружать SVG-файлы на сайт можно только на свой страх и риск.
На последнем митапе команда производительности WordPress предложила новую идею с модулем загрузки SVG. Пользователям хотят разрешить загрузку SVG без скриптов. Также будет добавлено превью SVG в медиатеке.
Несмотря на то что более миллиона пользователей WordPress имеют установленные плагины для загрузки SVG на свои сайты, ни один из этих плагинов не стал функциональным для реализации указанной возможности. По этой причине команда производительности WP решила создать отдельный модуль в рамках плагина Performance Lab. Это поможет команде лучше протестировать функционал в реальных условиях, прежде чем он будет внесен в ядро WordPress.
Изучив текущие реализации функционала в плагинах, команда обнаружила, что многие из них предлагают гораздо больше возможностей, чем должен включать в себя модуль. В настоящий момент все самые крупные плагины используют библиотеку SVG Sanitizer, а также модуль Drupal и интеграцию с TYPO3 CMS.
Разработчики из команды производительности WordPress назвали релиз WP 6.2 как потенциальную цель для внесения модуля в ядро. Вся разработка ведется на GitHub, потому любой желающий может внести свой вклад.
Источник: wptavern.com