ZemBo SEO
Свой SEO-плагин для WordPress: мета-теги, карта сайта, разметка, аудит и оптимизация картинок. Работает на наших сайтах и на сайтах клиентов.
Замысел, разработка и поддержка
Зачем свой плагин
SEO-плагины для WordPress обычно платные и всеядные: годовая лицензия, десятки настроек «на все случаи» и заметный вес на каждой странице сайта. Нам нужно было другое — чтобы одно и то же работало одинаково на всех сайтах, которые мы ведём, обновлялось из одного места и не требовало ежегодной оплаты за то, что уже написано.
Так появился ZemBo SEO. Он стоит на наших сайтах и на сайтах наших клиентов и вырос из «мета-теги и карта сайта» в набор из двенадцати экранов.
Что он умеет
Поисковая выдача
- заголовок и описание страницы: правятся списком, прямо в таблице, со счётчиком длины — не нужно открывать каждую запись;
- подстановка вместо пустых полей: у рубрики берётся её описание, у страницы — начало текста, чтобы пустых описаний не оставалось вовсе;
- канонический адрес, в том числе на страницах пагинации: вторая страница списка больше не выдаёт себя за первую;
- закрытие от индексации служебных страниц — корзины, оформления заказа, личного кабинета, избранного, архивов по датам;
- Open Graph и Twitter для ссылок в соцсетях и мессенджерах;
- разметка Schema.org: организация, хлебные крошки, статья с автором, товар, список товаров, вопросы и ответы.
Карта сайта и товарный фид
- своя XML-карта: записи, страницы, товары, рубрики и метки, с датой изменения и картинками; при больших каталогах делится на части;
- исключения — по адресу и по содержимому: служебная страница узнаётся по шорткоду и не попадает ни в карту, ни в индекс;
- YML-выгрузка для Яндекс Маркета с раздельным счётом товаров и предложений (вариации считаются отдельно) и своим кэшем.
Проверка сайта
- SEO-анализ: оценка от нуля до ста, список рекомендаций с уровнем важности и честной подписью, сколько материалов проверено;
- анализ текста каждой страницы: объём, заполненность полей, что именно мешает;
- оценка считается одним запросом к базе, а не обходом всех записей: на сайте с пятью тысячами страниц экран открывается за секунды.
Картинки
- перевод медиатеки в WebP с показом, сколько весило и сколько стало;
- фоновая обработка маленькими пачками — админка не зависает на больших медиатеках;
- заполнение пустых ALT из названия товара или страницы;
- удаление исходников — только с предпросмотром списка и только после подтверждения, и никогда для файлов, на которые ссылается контент.
Ещё в плагине
- уведомление о cookie и согласия при оформлении заказа;
- антиспам для комментариев и регистрации: подписанная метка времени, ловушка для ботов, списки адресов с поддержкой подсетей;
- кнопка звонка;
- обновление по своему каналу: плагин проверяет манифест, скачивает пакет только со своего адреса и только с совпавшей контрольной суммой.
Что это дало
- SEO-оценка 100 из 100 у flocolor.ru и floritual.ru — было 72 и 90. Считает её независимый сервис проверки сайтов, а не сам плагин: он показал, что чинить, а правки мы внесли по его списку;
- ноль платных лицензий: ни одной ежегодной подписки на чужой плагин — ни у нас, ни у клиентов;
- карта сайта и товарный фид совпадают с содержимым сайта до штуки — счётчики сверены с реальными выгрузками;
- медиатеки переведены в WebP, а лишние исходники убраны — суммарно 147 МБ.
Как мы его проверяем
Плагин прошёл несколько сплошных проверок: чтение кода, обход всех экранов админки живьём и проверку живой выдачи запросами к сайту. Находки были и в нашем коде — например, сохранение настроек могло положить ключ внешнего сервиса в базу открытым текстом, а чистка исходников картинок не спрашивала подтверждения. Исправлено, разложено на все сайты и закрыто проверками.
Именно поэтому мы и пишем своё: чужой плагин так посмотреть нельзя.
Как это выглядит