В WooCommerce есть крайне полезная функция Рекомендуемых товаров, которую, в силу каких то причин, мало кто использует 🤷♂️
В этой обзорной статье мы рассмотрим функцию Рекомендуемые товары.
Как включить Рекомендуемые товары?
Для этого перейдите в раздел всех товаров и первым делом убедитесь в настройках экрана, что у вас включен столбик, при помощи которого ставится эта отметка принадлежности товара к избранным (рекомендуемым)
при включенном отображении у вас в таблице товаров должен находится столбик со звёздочками. Именно при помощи него можно отмечать товары, как избранные.
второй способ, при помощи которого вы можете отметить товар, находится в разделе Свойства. В каждой карточке товара при быстром редактировании (нажав Свойства) можно также управлять принадлежностью того или иного товара к Рекомендуемым.
Если необходимо массово изменить статус Рекомендуемых товаров, то удобным способом будет массовое редактирование. Выделяем нужные товары, и нажимаем Изменить
После этого в режиме массового редактирование устанавливаем Да или Нет
В режиме редактирования карточки товара функция отметки товара как Рекомендуемый тоже доступна, правда немного скрыта. Нужно распахнуть раздел в блоке Опубликовать:
и сделать отметку
Как выводить рекомендуемые товары?
Что ж, мы отметили ряд товаров, как Рекомендуемые и теперь наша задача вывести их отдельно на странице. Для этого в WooCommerce есть полезный и безопасный для новичков функционал — шорткоды, при помощи которых мы выведем наши Рекомендуемые товары.
Создайте произвольную страницу и в тело страницы вставьте вот этот шорткод [featured_products]. У меня это выглядит вот так:
Теперь, перейдя на эту страницу в публичной части сайта, мы увидим наши отмеченные товары
А при помощи специальных атрибутов, описание которых доступно в документации, можно кастомизировать вывод наших товаров. В данном примере я использую другой шорткод, но с атрибутами, которые позволяют выводить те же Рекомендуемые товары, но только в верстке двух колонок:
Вывод при помощи виджетов
В разделе виджеты доступны независимые блоки для вывода Рекомендуемых товаров. Они не зависимы от ваших отметок, которые мы рассматривали ранее. То есть добавив этот блок вам необходимо заново отметить товары которые будут выступать в качестве Рекомендуемых. По сути это отдельный функционал. Что бы избежать путаницы я бы его назвал иначе, например, Группировка товаров или Избранные.
Добавив блок нужно отметить заново товары.
Это справедливо и для категорий. То есть можно выводить все товары которые принадлежат Избранной категории.
Учтите, что это разные функционалы. И отмеченные ранее товары как Рекомендуемые не будут учитываться в этих блоках.
Задача: Экспортировать отдельный фрейм в формате PDF.
Экспорт отдельного фрейма
Решение: Выделяем файл для экспорта
Справа, в разделе Экспорта нажимаем на «плюсик»
Затем выбираем нужный формат — PDF
и нажимаем Export …
Выделенный фрейм будет экспортирован как файл в формате PDF
Экспорт всех фреймов по отдельности
Если стоит задача экспортировать все фреймы на странице, как отдельные файлы, то есть, для каждого фрейма свой файл, то для этого необходимо выбрать нужные фреймы и потом повторить последовательность действий описанных выше.
Экспорт этих слоёв произойдет в заархивированном виде. Внутри архива будут выделенные фреймы каждый в своём файле.
Экспорт всех фреймов в единственный файл
Если требуется экспортировать все фреймы одним файлом PDF, то для этого нам нужно обратится к меню в левом верхнем углу веб-страницы. Menu > File > Export frames to PDF…
Учтите, что в этом случае будут экспортированы все фреймы на вашей странице, в той последовательности, в которой они располагаются слева направо.
Вот итоговый файл после экспорта:
Для наглядности вы можете посмотреть процедуру экспорта в этом видео:
Как экспортировать одним файлом выборочные фреймы?
Невольно напрашивается вопрос: а как же сделать экспорт отдельных фреймов в единственный файл PDF? Здесь можно прибегнуть к небольшой хитрости — перенести (скопировать) их на отдельную страницу и затем осуществить экспорт, либо временно удалить фреймы которые не должны попадать в экспорт, сделать экспорт и потом вернуть удалённые фреймы обратно.
Пожалуй, самый простой и быстрый способ решить эту задачу является заключение текста в специальный HTML-элемент <marquee>, который используется для создания на странице прокручивающегося текста (бегущей строки).
Текс помещенный в теги этого элемента сразу начинает выполнять прокрутку. Ниже можно увидеть пример:
<marquee>Каждая кухарка должна научиться управлять государством</marquee>
<marquee
direction="left"
bgcolor="yellow"
width="480"
behavior="scroll"
style="display:block">
<span>Каждая кухарка должна научиться управлять государством</span>
</marquee>
Однако, данный элемент имеет пометку Deprecated — т.е. считается устаревшим и не рекомендуется к использованию, так как в любой момент его поддержка может быть исключена из современных браузеров и он перестанет выполнять функцию прокрутки. Эти риски нужно понимать.
Реализация на CSS
Ранее мы решили эту задачу мгновенно за счёт HTML, а теперь давайте рассмотрим пример на CSS.
Вот такой вид будет иметь наш HTML
<div class="scroll-wrap">
<div class="scroll-text">Каждая кухарка должна научиться управлять государством.<div>
</div>
А вот такой CSS:
.scroll-wrap {
overflow: hidden;
}
.scroll-text {
transform: translateX(100%);
animation: scroll-animation 15s linear infinite;
}
@keyframes scroll-animation {
from {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
Каждая кухарка должна научиться управлять государством.
Если требуется скрыть товары которых нет в наличии, то необходимо выполнить два условия:
Включить функцию Управления запасами. Перейдите в раздел WooCommerce > Настройки > вкладка Товары > Запасы и включите функцию управления запасами
Далее, в нижней части страницы отметьте чекбокс Спрятать отсутствующие товары из каталога
Вот и всё! Теперь давайте посмотрим, как это работает. Перейдём в карточку любого товара к разделу его статуса:
Когда отмечен статус В наличии мы можем наблюдать наш товар на витрине нашего электронного магазина:
Теперь поставим настройку Нет в наличии и снова обратимся к витрине нашего магазина:
Товар исчез. Так мы и ожидали. Но что будет, если попробовать найти его через поиск?
Да! Ожидаемое поведение, хороший UX. Исключенные товары (которых нет в наличии) при этой настройке не доступны для поиска.
Но у нас остался ещё один статус — Предзаказ. Давайте отметим его и посмотрим, что из этого получится.
Товар появится на витрине
Товар будет доступен для поиска
Получается, что эта настройка не относится к исключаемой. Но что если нам необходимо показывать товары которые есть в только наличии и скрывать товары которых нет в наличии и которые имеют статус предзаказа? В этом случае быстро задачу можно решить при помощи кода. Небольшой сниппет, который необходимо добавить к функциям вашей активной темы или вот этим безопасным методом.
В WordPress есть специальный хук-action pre_get_posts, который позволяет изменять информацию экземпляра текущего запроса $wp_query и при помощи «сеттеров» мы можем повлиять на текущий запрос. Выглядит в виде кода это примерно так:
add_filter( 'pre_get_posts', 'poet_show_in_stock_only', 100 );
function poet_show_in_stock_only( $query ) {
// не админка и это основной запрос с публичной части сайта
if ( ! is_admin() && $query->is_main_query() ) {
$query->set(
'meta_query',
[
[
'key' => '_stock_status',
'value' => [ 'outofstock', 'onbackorder' ], // исключаем
'compare' => 'NOT IN'
]
]
);
}
}
На самом деле тут нет ничего хитрого. Мы подключились в момент вызова это «экшена» с нашей функцией и сразу начали с проверки того, что: это не административная часть (т.к. запрос предназначен только для публичной, клиентской части сайта). Далее проверка что это основной запрос который выполняется в стандартном цикле WordPress и далее при помощи set мы устанавливаем новые аргументы в наш запрос, в которых исключаем товары со статусом: нет в наличии и предзаказ.
Но этого мало. При помощи условных тегов, которые справедливы только для WooCommerce, мы можем конкретизировать наш запрос и добавить ещё блок условий при которых будет вызываться наш «сеттер»:
add_filter( 'pre_get_posts', 'poet_show_in_stock_only', 100 );
function poet_show_in_stock_only( $query ) {
// не админка и это основной запрос с публичной части сайта
if ( ! is_admin() && $query->is_main_query() ) {
if ( is_shop() || is_product_category() || is_product_tag() ) {
$query->set(
'meta_query',
[
[
'key' => '_stock_status',
'value' => [ 'outofstock', 'onbackorder' ],
'compare' => 'NOT IN'
]
]
);
}
}
}
is_shop() — Главная архивная страница товаров (как правило адрес /shop/ )
is_product_category() — Страница Категории товаров
is_product_tag() — аналогично Категории, но только страница каталога с товарами объединённых определённым тегом (меткой)
После добавления данного кода будут отображаться товары только со статусом В наличии (instock), а Нет в наличии (outofstock) и Предзаказ (onbackorder) — скрыты.
Вы можете защитить свои контактные формы созданные в плагине Contact Form 7 с помощью функций защиты от спама, которые уже присутствуют в Contact Form 7, а это:
Повторю, что эти возможности уже интегрированы в плагин и доступны в разделе Интеграций:
Различные защиты, такие как CAPTCHA созданы для того, чтобы отличать спам-ботов от людей, но если в качестве спамера будет человек, то в этом случае защита окажется бессильной. В отличие от традиционной CAPTCHA (где нужно ставить галочку, решать какие-то головоломки), Akismet работает немного иначе — он проверяет отправленные формы по глобальной базе данных спама; это означает, что Akismet является в некоторых случаях более комплексным решением против спама.
Защита при помощи Akismet
Первым шагом является активация плагина Akismet . Поскольку пакет плагинов Akismet входит в состав WordPress, нет необходимости устанавливать его вручную. Перейдите в меню «Плагины» и просто активируйте плагин под названием Akismet Anti-Spam .
Если по каким-то причинам плагин отсутствует у вас, то его необходимо установить.
Для использования Akismet вам понадобится ключ API. Его можно получить бесплатно.
Как задействовать Akismet в контактной форме?
Принцип работы достаточно простой. Вам нужно для полей по которым будет проходить проверка на предмет СПАМа указать специальную отметку в виде:
akismet:author — указывается для полей в которых отправитель должен вносить имя. Пример: [text* your-name akismet:author]
akismet:author_email — указывается для полей в которых отправитель должен вписать адрес электронной почты. Пример: [email* your-email akismet:author_email]
Теперь, при подключенном и настроенном сервисе Akismet плагин контактной формы будет отправлять данные на проверку на СПАМ данному сервису и в случае, если «Акисмет» подтвердит наличие СПАМа, то плагин Contact Form 7 приостановит отправку электронного сообщения и отобразит уведомление: «Произошла ошибка при отправке вашего сообщения», которое будет в оранжевой рамке 🙂
Как тестировать фильтрацию спама?
Чтобы проверить, правильно ли работает фильтрация спама, попробуйте ввести «viagra-test-123» в поле предназначенное для ввода Имени (опция akismet:author) или «akismet-guaranteed-spam@example.com» в поле предназначенное для ввода адреса электронной почты (пометка akismet:author_email)
Поскольку эти служебные слова зарезервированы специально для тестирования, Akismet должен определить сообщение как СПАМ. и как следствие, вы увидите сообщение об ошибке в оранжевой рамке — это знак того что всё работает должным образом.
После установки и активации плагина, вам будет доступен его раздел в главном меню панели управления и ссылка Настроек в разделе ваших плагинов
Проследовав в раздел настроек плагина вы обнаружите уже предустановленную контактную форму.
Эту контактную форму мы можем уже смело задействовать на страницах нашего сайта. Создадим страницу «Контакты» и в редакторе блоков Гуттенберг найдём нужный блок, например по поисковому слову «контакт» или «contact».
После чего добавить найденный блок Contact Form 7 на вашу страницу. Так как у нас всего одна контактная форма, которая была нам доступна по умолчанию, то выберем её:
Классический редактор
Добавление в классическом редакторе немного трудозатратнее. Вначале необходимо скопировать шорткод нужной нам формы
А после вставить его в область контента
После обновления/публикации страницы, на публичной части сайта этой страницы появится наша контактная форма:
Полдела сделано. Контактную форму мы вывели. Но куда будут прилетать отправленные сообщения? Для этого необходимо нам настроить нашу форму. Если вы желаете чтобы отправленные пользователями сообщения сохранялись внутри вашего сайта, то необходимо установить и задействовать вот это решение.
Для настройки получателей нам необходимо вернуться на страницу всех форм и перейти в нужную форму
Перед нами откроются настройки исключительно выбранной нами формы. То есть, изменения этих настроек затронут только выбранную контактную форму и не затронут другие. Ниже, перед вами экран настроек контактной формы:
Заголовок Контактной формы — его можно менять произвольно, этот заголовок для вас, чтобы вы ориентировались и различали формы между собой.
Шорткод — это специальный механизм в WordPress, который позволяет в произвольных местах сайта вызывать ту или иную функцию. Принцип простой. Вы копируете этот уникальный шорткод и вставляете в то место контента, где хотите видеть вашу форму.
Выше мы рассматривали, как выводить форму в классическом редакторе и редакторе блоков, а вот если требуется вывод контактной формы, например, в сайдбаре (боковая колонка), то механизм тут аналогичный. Просто выбираем нашу контактную форму в той области виджетов где необходимо её вывести
Бывают случаи, когда на сайтах используется классическое представление виджетов (дополнительных областей) , а не блочное, как в примере выше.
В этом случае мы поступаем по аналогии с классическим редактором. То есть копируем шорткод и вставляем, например, в текстовый виджет
В результате получим:
Шаблон формы — это те поля, которые учувствуют в нашей форме. Поля можно создавать произвольно из генератора полей, который находится повыше. Но об этом мы поговорим подробнее при создании новой формы.
Вкладка Письмо — именно здесь мы можем указать получателей при отправке нашей формы.
Настройка получателей
Переходим на вкладку Письмо
Давайте познакомимся с разделами этого экрана:
Почтовые теги (которые генерируются во вкладке Шаблон письма). Важно! Старайтесь сравнивать ваши теги с тегами которые участвуют в шаблоне для получателей. Частой ошибкой бывает отсутствие нужного тега (как правило из-за невнимательности) в шаблоне письма для получателей.
Я специально удалил тег Темы письма и в списке тегов мой тег стал подсвечиваться акцентирующим черным цветом
Это говорит о том, что в шаблоне отсутствует почтовый тег и информацию из него получатель не получит.
Кому — в этом разделе мы можем указать получателя письма. В данном примере указан специальный шорткод, который будет использовать E-mail администратора, который указан при создании сайта. Вобщем, этот E-mail находится в разделе Настройки > Общие вашего сайта, в поле Административный E-mail
Если требуется указать несколько получателей, то перечисляем их адреса через запятую, например так:
От кого — тут вы указываете адрес отправителя. Важно, чтобы он соответствовал домену вашего сайта. То есть, если адрес вашего сайта mysite.com, то в этом поле нужно указать, например, info@mysite.com
Тема письма. Тут я думаю всё понятно. Схема по умолчанию [_site_title] «[your-subject]» выдаст примерно следующее: если ваш сайт называется «Мой магазин», а в теме письма пользователь указал тему «Пожелание», то получим: Мой магазин «Пожелание»
Дополнительные заголовки — лучше их не трогать.
Тело письма — это как раз та информация которую получат получатели. Как правило, в этом теле письма содержится информация полей, которые заполняет пользователь, соответственно все участвующие почтовые теги должны тут присутствовать, в противном случае информация не будет передана в полном объёме.
И в нижней части экрана рассмотрим ещё ряд возможностей:
Отметив этот чекбокс мы исключим вывод строк, если данные не были у тега заполнены пользователем. Это оправдано тогда, когда формы выступают в роли опросного листа и содержат в себе большое количество полей для заполнения
Если чекбокс отмечен, то мы можем использовать в теле письма HTML-теги. Это позволит придать ему читабельный внешний вид выделив заголовки и прочие элементы в письме
Сюда нужно поместить тег (в том случае если он был создан для прикрепления файла*) Если не выполнить это условие, то прикреплённый пользователем файл не будет получен.
Возможность сформировать второе письмо, отличительное содержанием от первого. Это оправдано когда требуется разделить при отправке заполненную пользователем информацию, например, часть для менеджера, а часть в службу доставки и т.п. Или обычно задействуют эту функцию при отправке автоматических ответов.
Вкладка Уведомления при отправке формы позволяет настроить оповещения пользователю при определённых событиях в момент отправки сообщения. Вы можете задать сообщения при разных ошибках отправки формы. В целом значения по умолчанию заполнены удачно, но в некоторых случаях всё равно могут потребовать корректировки.
Ну и последняя вкладка позволяет внести дополнительные настройки, например, JavaScript код, который будет отрабатывать при успешной отправке формы. Зачастую сюда добавляют отправку данных в системы аналитики: Яндекс Метрика или GA.
Как добавить контактную форму через функцию PHP?
Пользователям, которые начинают работать с WordPress на уровне кода, возможно будет полезно познакомиться с функцией do_shortcode() , с помощью которой можно вывести контактную форму в нужном по коду месте. Учтите, что вывод формы за пределами цикла WordPress лишает вас некоторых возможностей, таких как передача служебной информации при помощи специальных тегов Contact Form 7.
Для отображения формы достаточно просто в функцию передать её шорткод:
Задача: Предоставить возможность пользователям прикреплять в форму обратной связи файл и отправлять его в виде почтового вложения получателю.
Решение: Сперва нам необходимо создать форму. Если вы не работали ранее с плагином Contact Form 7, то рекомендую начать с этой заметки.
После создания формы, нам необходимо создать специальное поле для загрузки (прикрепления) файла, которое так и называется Файл.
Перед вами возникнет всплывающее окно с настройками данного поля:
При желании можно заполнить предлагаемые поля настройки поля «файл», возможно полезно будет ограничивать пользователей в размере загружаемого файла или указать разрешенные для загрузки типы файлов, но всё это частные случаи.
Я оставлю все по умолчанию и добавлю в тело формы тег файл
Далее нам необходимо перейти на вкладку Письмо и добавить этот уникальный тег поля файл в специальный раздел для прикреплённых файлов:
Добавляем…
Сохраняем..
Обратите внимание, что в поле Прикреплённые файлы мы указываем шорткод с идентификатором поля, а не целиком, как он выглядел в момент создания!
Готово! Теперь у пользователей нашего сайта появилась возможность прикреплять к почтовому сообщению файл:
Пример посложнее
Задача: Мы ожидаем от пользователя файлы исключительно в формате PDF и размером не превышающим 3 мегабайта.
Решение: Нам нужно вернуться на вкладку Шаблон формы и заново генерировать почтовый тег (шорткод) Файл
Указываем нужные значения и вставляем полностью новый тег или дополняем параметрами ( limit:3mb filetypes:pdf ) старый
Если требуется ограничить размер загружаемого файла, то значения можно указать следующим образом:
limit:1048576 limit:1024kb limit:1mb
Просто цифры — воспринимаются байтами, а если указать постфикс kb или mb, то значения будут восприниматься уже в килобайтах или мегабайтах.
Если вам нужно установить несколько типов файлов, в качестве разделителя используйте | символ вертикальной черты.
Расширения файлов которые можно использовать можно подсмотреть тут:
После того, как пользователь загружает файл через нашу контактную форму плагин Contact Form 7 производит ряд проверок и затем перемещает загруженный файл во временную папку, далее происходит прикрепления файла к почтовому сообщению, его отправка с последующим удалением этого файла из временной папки.
По умолчанию эта временная папка имеет адрес wp-content/uploads/wpcf7_uploads, она создаётся автоматически, но в некоторых случаях может произойти ошибка, как правило связанная с недостаточными правами на запись…
В этом случае стоит определить новое место для загрузки через константу, которую можно объявить в файле wp-config.php
В качестве значения можно указать абсолютный путь или относительный. В случае относительного (как в примере) папка для загрузки будет создана в директории wp-content/
В режиме редактирования Записи или Страницы добавьте новый блок:
В строке поиска напишите запрос «Кнопки»
После добавления блока на страницу напишите название кнопки которое будет отображаться, например, «Отправить сообщение», «Написать нам WhatsApp» и т.п.
В момент когда выделение находится на блоке кнопки нам доступна панель инструментов при помощи которой мы можем позиционировать нашу кнопку
А в разделе справа, когда наш блок выделен, нам доступны его дополнительные настройки. В первой вкладке мы можем задать ширину нашей кнопки.
А вторая вкладка даёт нам намного больше возможностей оформления нашей кнопки, например, мы можем изменить её стиль и сделать обводку, теперь наша кнопка стала менее акцентированной.
Этот блок имеет множество настроек, с помощью которых мы можем придать уникальности (кастомизации) нашей кнопке
Обратите внимание на то, что в области видимости могут отображаться не все доступные настройки. Нажав на троеточие перед нами открываются дополнительные возможности:
Как задать ссылку кнопке?
В момент выделения кнопки, когда нам доступна панель её настроек, выбираем ссылку внутри страниц сайта или указываем произвольно
Как присвоить кнопке ID?
в момент выделения блока кнопки во вкладке настроек блока откройте раздел Дополнительно. Далее в поле HTML-якорь внесите какое-то название на латинице — оно то и будет служить в качестве идентификатора этого элемента.
А вот и результат нашей работы. Кнопка с заливкой по контуру с ссылкой на группу во ВК и с присвоенным идентификатором элементу:
Стандарт Open Graph разработан социальной сетью Facebook. Он позволяет контролировать превью, которое формируется при публикации ссылки на сайт в социальных сетях, и передавать информацию другим интернет-сервисам.
Например, если страница отображает статью, Open Graph может определить название статьи, автора, изображение и другую важную информацию.
Ниже пример того, как социальная сеть ВК при «шеринге» ссылкой автоматически подтягивает заголовок, картинку и краткое описание при публикации.
Чтобы иметь возможность передавать эти данные нужно включить функцию Данные Open Graph. Переходим в Настройки плагина, раздел Обмен информацией в социальных сетях и включаем:
Данные Open Graph
Данные карты Twitter
Теперь после включения функций в исходном коде странице будет специальный блог с тегами этих микроразметок:
Аналогично работает и другая разметка Twitter , которая позволяет отображать предпросмотр с изображениями и текстовым отрывком, когда делятся ссылкой на ваш сайт, но только уже в социальной сети Twitter.
Разметки можно комбинировать. Поэтому, вполне нормально включение обоих стандартов на ваш сайт.
Как пользоваться Open Graph?
Для каждой странице вашего сайта вы можете создавать уникальные превью. Для этого в режиме редактирования страницы найдите раздел плагина Yoast SEO и перейдите во вкладку Социальные сети
Именно здесь вы можете определите, как ваша публикация будет выглядеть в социальных сетях, таких как Facebook, Twitter, Instagram, WhatsApp, Одноклассники, LinkedIn, ВК и других.
Стоит всего лишь заполнить три основных настройки: изображение, заголовок и краткое описание.
Обратите внимание, что для разметки Twitter существует подобный раздел и если стоит задача оформить под социальную сеть Twitter, как то иначе ваше превью ссылки на страницу, то в этом разделе нужно указать отличительные характеристики страницы.
Рассмотрим простой пример. Предположим, мы разрабатываем коммерческий сайт и у нас есть страница Контактов, которую менеджеры в основном отправляют в качестве ссылки партнёрам и клиентам. Вот так по умолчанию выглядит ссылка когда её делятся, например, в WhatsApp
Теперь дополним её осмысленной информацией, например, это может быть брендированная картинка или схема проезда, вместо заголовка Контакты, что то позначимей, а кратком описании, для удобства можно передать номера телефонов.
Заполняем данные…
Теперь если мы поделимся ссылкой на нашу страницу Контактов, то можем увидеть насколько привлекательнее стало её превью:
Согласитесь, больше полезной информации в сравнении с первым случаем — по умолчанию.
Протестировать настройки вашей разметки и посмотреть как это будет выглядеть можно вот тут.
Yoast SEO – это плагин для WordPress, предназначенный для оптимизации контента сайта под требования поисковых систем. Плагин имеет, как платную, так и бесплатную версии.
Бесплатной версии вполне достаточно, чтобы начать улучшать SEO своего сайта и повышать своё место в результатах поиска Google, Яндекс и Bing.
Управление мета тегами: title и description для возможности предоставить поисковому роботу подробное описание содержимого страницы
Анализ SEO предлагает предложения по улучшению возможности поиска вашего текста и гарантирует, что ваш контент соответствует лучшим практикам.
Анализ читабельности подскажет, как улучшить структуру и стиль вашего текста.
Инклюзивный языковой анализ (доступно только для англоязычных сайтов) — предлагает предложения по написанию более инклюзивного текста, чтобы больше людей могли относиться к вашему контенту.
Данные Open Graph. Позволяет Facebook и другим социальным сетям отображать предварительный просмотр с изображениями и текстовой выдержкой при публикации ссылки на ваш сайт.
Данные карты Twitter. Позволяет Twitter отображать предпросмотр с изображениями и текстовым отрывком, когда делятся ссылкой на ваш сайт.
XML-карта сайта. Карта сайта — это файл, в котором перечислены основные страницы веб-сайта, чтобы поисковые системы могли их найти и просканировать.
Шаблоны заголовков и описаний почти для всех типов страниц, чтобы устанавливать единые сниппеты (короткие описания) для поисковой выдачи этих страниц.
Хлебные крошки, иначе — Навигационная цепочка (Breadcrumb navigation)
Канонические URL-адреса, чтобы не допустить дублирования контента
Заманчивые функции платной (Premium) версии плагина:
IndexNow. Автоматическое оповещение поисковых систем, таких как Bing и Yandex, при публикации, обновлении или удалении записи.
ИИ генератор заголовков и описаний
Автоматические перенаправления во избежание битых ссылок (ошибки 404)
Предложения по внутренней перелинковке чтобы упростить навигацию по вашему сайту.
Без рекламы 🙂
Что произойдет с моими настройками бесплатной версии Yoast SEO, когда я перейду на Премиум?
Все настройки плагина будут автоматически перенесены в Yoast SEO Premium. Таким образом, вы не потеряете всю проделанную работу, в бесплатной версии плагина.
Отмечу что для плагина существуют ещё и ряд аддонов (дополнений) в виде решений ориентированных на:
XML-карта сайта — это файл, в котором перечислены основные страницы вашего веб-сайта, благодаря чему поисковые роботы (Google, Яндекс, Bing и др.) найти и просканировать их все. Это также помогает поисковым системам понять структуру вашего сайта. Вы хотите, чтобы Google просканировал каждую важную страницу вашего сайта. Но иногда страницы оказываются без внутренних ссылок, что затрудняет их поиск. Карта сайта может помочь ускорить обнаружение контента.
XML-карта сайта (Sitemap) — это файл, который содержит информацию в виде ссылок о всех страницах сайта и их структуре.
Sitemap упрощает процесс индексации сайта для поисковых систем (Google, Яндекс, Bing и др.) и помогает им быстро и эффективно находить все страницы вашего сайта. Это особенно полезно для больших сайтов с множеством страниц и сложной структурой.
XML-карта сайта обычно имеет расширение .xml и содержит следующие данные:
URL-адреса страниц сайта.
Дату последнего обновления страницы.
Информация о категориях и тегах, если используется на сайте.
После активации плагина для поисковой оптимизации сайта на WordPress — Yoast SEO, карта сайта должна быть включена и автоматически сгенерирует специальный файл, который будет будет доступен по адресу: ВАШ ДОМЕН/sitemap_index.xml
Пройдите в раздел Настройки плагина, где вы можете проверить текущее состояние функции генерации XML Sitemap, а так же по необходимости включить/отключить её.
После включения вам будет доступен файл, так называемой карты сайта:
Как видно из примера, контент сайта сгруппирован по типу, а в соседней колонке мы видим дату последних изменений, что несомненно будет полезным сигналом для поискового робота обновить информацию, если с последнего индексирования она изменялась.
А ниже вы можете наблюдать содержимое файла карты сайта. Как видите — ничего хитрого, просто ссылки на контент вашего сайта, которые обёрнуты в специальные, так сказать теги.
Категории товаров в WooCommerce — это основной способ группировки товаров со схожими характеристиками. При необходимости к категориям вы также можете добавить подкатегории.
Всё это необходимо для того, чтобы покупатели могли легко найти то, что им нужно. Важно создать простую и понятную структуру, чтобы пользователи могли легко перемещаться по сайту и находить нужные товары.
В этой статье мы рассмотрим, как можно изменить очерёдность отображения категорий на клиентской (публичной) части сайта.
Переходим в раздел Категории и методом перетаскивания — выставляем нужный порядок у категорий.
Наглядный пример:
Теперь на публичной части сайта порядок категорий будет соответствовать заданному в панели администратора
Это также справедливо и для вывода списка категорий при помощи виджета
Чтобы выгрузить данные об атрибутов товарах с сайта мы можем задействовать встроенный механизм WooCommerce который доступен нам на странице всех товаров. Находясь в этом разделе Все товары мы можем обнаружить две кнопочки Импорта и Экспорта товаров. Выбираем Экспорт.
Перед нами будет окно экспорта товаров, где мы можем задать некоторые критерии для выборки перед экспортом, например, указать выборочно категории.
Указываем столбец ID (для идентификации товаров) и столбец Атрибуты
Если на вашем сайте существует система Артикулов, то можно выбрать столбик Артикул для идентификации товаров, так как ID это по сути удобно для идентификации товаров внутри WordPress/WooCommerce, а если ваш интернет-магазин взаимодействует в обмене и данных с другими системами, такими как 1С и у вас уже есть система распознавания (идентификации) товаров по артикулу, то вероятно правильным выбором будет задействовать вместо столбца ID столбик Артикул.
Далее нажимаем Сгенерировать CSV и перед нами отобразится процесс генерации файла формата CSV
Если мы откроем этот файл после загрузки, например, в Excel, то можем испытать лёгкое недоумение от содержания данного файла:
И в связи с этим, первая рекомендация: избегайте работу с экспортируемым файлом в Microsoft Excel из-за проблем с форматированием и кодировкой символов
Для удобной работы с данными я рекомендую использовать, например, Google Таблицы
Задача: Создать атрибуты (характеристики) для товара в интернет-магазине под управлением WordPress + WooCommerce.
Что такое атрибуты в WooCommerce?
Атрибуты товара в WooCommerce — это характеристики или свойства товара, которые отличают его от других товаров в магазине. Они позволяют продавцам добавлять дополнительную информацию о товарах, такую как цвет, размер, материал, стиль, дата выпуска и т. д. Это помогает покупателям легче ориентироваться в ассортименте магазина и принимать обоснованные решения о покупке.
В WooCommerce атрибуты товаров создаются и управляются через административную панель. Продавец может создать новый атрибут товара, назвать его и определить тип данных, который он будет содержать (например, текст, число или выбор из списка). Затем он может присвоить этот атрибут определенным товарам в каталоге, чтобы добавить подробную информацию о них.
Решение: Переходим в подраздел Атрибуты раздела Товары. Даём имя нашему атрибуту (характеристике) товара и добавляем в систему.
После успешного добавления ваши атрибуты будут появляться в системе. Но может возникнуть и проблема. Ярлык атрибута не может быть более 28 символов, поэтому, если вы увидите подобную ошибку, то исправить её можно путём редактирования Ярлыка — его сокращением.
Вы можете редактировать созданные атрибуты, проследовав по ссылке Изменить на нужном атрибуте
Рекомендуется создавать (или изменить) Ярлыки на латинские символы, либо правильным переводом: цвет = color, либо транслитерацией, то есть просто превращая кириллические символы в латинские: состав=sostav
Созданным атрибутом можно сразу определить порядок сортировки по умолчанию. Это очень полезная функция, например для указания размеров. Очень удобно когда они идут последовательно в возрастающем порядке: 42, 44, 48, 50, 52 и т.д.
P.S. данному примеру будет соответствовать выбор Название (числовое)
После создания Атрибутов, осталось наполнить их значениями. Это можно сделать сразу, предопределив эти значения для удобства или добавлять значения в момент добавления товара прямо из его карточки. Рассмотри оба варианта.
Добавление значений (вариантов) атрибутов из раздела Атрибуты
Переходим по ссылке Настройка значений нужного атрибута
По аналогии с добавлением самого атрибута добавляем уже его варианты (значения). Указываем: Имя, Ярлык и нажимаем Добавить
Обратите внимание на примечание:
«Ярлык» — это вариант названия, подходящий для URL. Обычно содержит только латинские буквы в нижнем регистре, цифры и дефисы.
Добавляя варианты цвета я сразу задавал им названия на латинице. В итоге получилось:
Если требуется отсортировать названия вариантов, то вы уже знаете как это можно сделать 🙂 Только в этом случае нужно в настройке атрибута выбрать значение Имя
Теперь наши значения будут идти в алфавитном порядке
Как прикрепить атрибут к товару?
Переходим в режим редактирования нужного товара
Оказавшись в режиме редактирования карточки товара, переходим к разделу Атрибуты, где мы можем добавлять уже имеющиеся в базе атрибуты (которые ранее создали) или при необходимости создавать новые, прямо из карточки товара.
Добавим существующий атрибут Цвет
После этого нам необходимо выбрать соответствующее свойству товара значение. Добавлять мы можем сразу все значения, например, это удобно делать в линейке размеров или добавить выборочно. Также возможно создать Новое значение, но об этом чуть позже. Обратите внимание на ссылку Удалить. Эта ссылка просто удаляет, а вернее открепляет данный атрибут от товара. То есть он по прежнему будет в глобальной базе и никуда не денется.
Так как наша шапочка имеет красный цвет, добавим ей соответствующее значение:
После сохранения изменения вступят в силу и вы можете увидеть в карточке товара на лицевой (публичной) части сайта, в разделе Детали, добавленную характеристику Цвет:
Добавление атрибутов и значений прямо из карточки товара
Бывают случаи когда требуется «на ходу» добавлять новые атрибуты и значения прямо из карточки товара в которой вы работаете, а не скакать постоянно по разделам.
Рассмотрим пример добавления Страны изготовления. Для этого в режиме редактирования товара, нам необходимо:
выбрать Добавить
Указать Имя атрибута
Указать Значение(я) атрибута. Если значений несколько, то в качестве разделителя выступает вертикальная черта.
Сохранить атрибуты
Теперь на странице товара у нас отображается две характеристики:
Как поменять местами атрибуты?
Если требуется изменить очерёдность отображения характеристик, то это можно сделать методом перетягивания, зажав левую клавишу мышки. Очерёдность сразу изменится.
Нюансы. Баг или фича?
Добавляя новые атрибуты из карточки товара они не добавляются в общий раздел Атрибутов 🙁 Как мы видим, в списках нет добавленного атрибута Страна
И при добавлении атрибута для нового товара, ранее добавленный атрибут через карточку товара не доступен для поиска 🙁
Я бы посоветовал заранее определять Атрибуты из раздела Атрибутов и сразу задавать нужные значения.
А вот в случае, если атрибут уже предопределён и мы вносим несуществующее новое значение, как в примере ниже: у нас есть заранее созданный атрибут Состав и мы добавляем ему новое значение прямо из карточки товара
Во всплывающем окне указываем значение
сохраним изменения
то в этом случае добавленное новое значение появится в общем разделе Атрибутов. Предсказуемый, ожидаемый UX, согласны? Чего не скажешь о создании несуществующих новых Атрибутов из карточки товара.
Ну и не забывайте менять Ярлыки на латиницу 🙂
Архивы по значению атрибута
Например, если однажды встанет необходимость выборки всех товаров только по цвету, то вы без труда сможете это осуществить, применив к нужному атрибуту функцию Архивы.
Переходим в режим редактирования атрибута Цвет и включаем Архивы:
Что произошло? Теперь нам доступна выборка всех товаров нашего магазина по цвету. В карточке товара значение цвета теперь является ссылкой, по клику на которую мы перемещаемся на страницу где будет доступна выборка всех товаров магазина у которых в качестве цвета указан Красный
А как вы создаёте атрибуты и с какими трудностями и неожиданностями сталкивались? Напишите в комментариях.
Redirect 301 (Moved Permanently) — это код состояния HTTP, который означает, что страница или запрошенный ресурс был окончательно перемещён на новый адрес (URL). В основном Redirect 301 используется для перенаправления пользователей с одной страницы на другую.
Браузер в случае такого ответа перенаправляется на эту страницу, а поисковые системы обновляют свои ссылки на ресурс (говоря языком SEO, вес страницы переносится на новый URL-адрес).
Ранее я рассматривал простые примеры постоянного (окончательного) перенаправления на уровне Apache и Nginx, а в этой публикации рассмотрим пример, как это можно осуществить при помощи родных функций из ядра WordPress.
Не будем ходить вокруг да около, а сразу рассмотрим реальный пример перенаправления со старой страницы с адресом /old-page/ на новую, на адрес /new-page/ :
Для удобства можно назвать сниппет «Перенаправления 301» и при необходимости добавлять сюда новые.
После активации сниппета WordPress будет перенаправлять нас на новый адрес. В этом можно убедиться при просмотре заголовков из ответа сервера:
Комментарий к коду
Нашу безымянную функцию требуется вызывать до отправки, так сказать, в браузер HTML. Для этого вполне подходит хук ‘template_redirect’
Событие удобно использовать для перенаправления, когда WordPress обработал основной запрос и установил все объекты ($wp_query, $post, условные теги), но вывод контента на экран еще не произошёл.
https://wp-kama.ru/hook/template_redirect
Функция is_page() помогает проверить текущую страницу согласно условию и выполнить код только исключительно на ней. В примере я использую проверку по слагу (slug) — эта та часть URL, которая идентифицирует данную страницу.
Но так же в функцию is_page() можно передавать и «айдишник». Возможно вам будет полезно прочесть: Как узнать ID страницы?
Если стоит задача осуществить перенаправление внутри сайта, то можно ради разнообразия, рассмотреть ещё и вот такой вариант:
Перед нами решение той же задачи, но немного другим путём. Мы указали ID-страниц для условия и получения постоянной ссылки с помощью функции get_permalink()
exit; или die(); необходимо указывать для того, чтобы после перенаправления ничего лишнего не выполнилось.
Нейросеть YandexGPT позволит быстро ознакомиться с содержанием ролика и понять, есть ли в нём ответ на нужный вопрос. А авторам контента это поможет создать описание видео с таймкодами — в него можно добавить ключевые слова, чтобы его могли находить в поиске больше зрителей.
Рассмотрим простой пример. Относительно недавно Мэтт Мулленвег выступил в Испании на State of the Word 2023 — это ежегодный программный доклад сооснователя проекта WordPress.
Оригинал видео на английском языке. Длительность примерно 40 мин.
Переходим на сервис краткого пересказа 300.ya.ru и вставляем ссылку на видео с YouTube
Считанные секунды и пересказ готов) Оцените:
Мэтт Малленвег: Современное состояние в 2023 году
00:00:47 Приветствие и основные идеи
Видео начинается с приветствия от Росио, которая представляет себя и благодарит всех за присутствие.
Затем следует представление исполнительного директора проекта WordPress Джозефы Хейден-Чомпи, которая рассказывает о своем опыте работы над проектом и его развитии.
Мэтт Малленберг, соучредитель проекта, также представлен, и он говорит о своем видении и планах на будущее.
00:06:17 Планы на будущее
WordPress празднует свое 20-летие, и в этом году было проведено 70 wordcamps по всему миру.
В планах на будущее — проведение большего количества мероприятий, включая wordcamp asia в Тайбэе 9 марта.
WordPress также работает над улучшением своих функций, включая создание более эффективных встреч и улучшение витрины.
00:10:20 Другие проекты и достижения
WordPress также активно участвует в проектах, таких как Openverse, который индексирует открытый лицензионный контент, и игровая площадка, которая позволяет создавать виртуальные машины в браузере.
В рамках WordPress также проводятся дни участников и другие мероприятия, которые помогают людям учиться и развиваться в области веб-технологий.
00:13:35 Возможности игровой площадки
Возможность сохранения игровой площадки в браузере и обновления после обновления страницы.
Возможность загрузки дополнительных расширений PHP, таких как lib xml.
Возможность доступа к сети для взаимодействия с API или просмотра плагинов в WP-Admin.
Предварительный просмотр новых функций с помощью средства предварительного просмотра запросов WordPress.
00:15:04 Разработка плагинов WordPress
Синхронизация игровой площадки с локальным каталогом.
Обновление кода на компьютере, изменение цвета администратора с темно-синего на фиолетовый.
Синхронизация изменений обратно в игровую площадку.
00:16:03 Тема 2024 года
35 шаблонов для удовлетворения потребностей любого пользователя.
Возможность создания портфолио, бизнес-сайтов и других проектов.
00:18:57 Сотрудничество и рабочие процессы
Работа над улучшением процесса написания текстов и упрощением рабочего процесса.
Создание рабочего прототипа совместной работы в редакторе в режиме реального времени.
Введение шаблонов как элементов дизайна и возможность менять местами шаблоны, относящиеся к определенным семантическим категориям.
Создание гибрида между шаблонами, который позволяет настраивать текст и глобально обновлять дизайн.
00:24:40 Пользовательские поля и производительность
В WordPress используется пользовательский интерфейс для пользовательских полей, позволяющий подключать блоки к пользовательским полям без создания пользовательских блоков.
Производительность редактора и интерфейса улучшается, скорость выполнения основных операций увеличивается в два раза, а качество набора текста — в три раза.
00:28:22 Интерактивный API и дизайн администратора
В этом году планируется работа над интерактивным API для интерфейсной части, чтобы любой, кто создает сайт с блоками, мог получить аналогичный опыт.
Дизайн администратора будет расширяться, чтобы каждый мог настроить WordPress в соответствии со своими потребностями.
00:30:59 Искусственный интеллект и генеративный искусственный интеллект
В прошлом году был год искусственного интеллекта, с ростом генеративного искусственного интеллекта и использованием его в WordPress.
Эксперимент с использованием Playground и искусственного интеллекта для создания чертежей и взаимодействия с ними.
Демократизация технологий и WordPress, направленная на демократизацию издательской деятельности, делает технологии доступными для всех.
00:33:23 ИИ и его возможности
ИИ может стать персональным репетитором, доступным круглосуточно.
ИИ может научить людей всему, что они хотят, и их рост и развитие будут ограничены только их любопытством.
00:35:19 Планы на будущее
В 2024 году приоритетной областью будет «освобождение данных».
Создание инструментов миграции для WordPress и других CMS.
Создание упрощенной системы модерации для миграции.
00:38:49 WordCamp US 2023
WordCamp US пройдет в Портленде, штат Орегон.
Регистрация новых участников в команде проверки плагинов.
00:40:46 Использование ИИ для перевода
Презентация будет переведена на четыре языка с помощью ИИ.
Эксперименты с использованием ИИ для перевода на разные языки.
Кстати, этот сервис может стать помощником для создания оглавления для загрузки больших видео на YouTube. Безусловно придётся вносить корректировки, но это позволит всё равно сэкономить не мало времени автору контента.