Плагин обеспечивает бесперебойный способ отображения контента в алфавитном порядке в рамках FacetWP. С помощью этого инструмента пользователи могут легко организовывать и представлять информацию в алфавитном порядке, улучшая пользовательский опыт и навигацию на веб-сайтах WordPress. Это ценное дополнение, способствующее безусиленной организации и доступности контента через интеграцию с FacetWP.

Версия плагина: 1.4.0
 
WordPress плагин FacetWP A-Z Listing

Особенности плагина

Благодаря интуитивным функциям пользователи могут быстро и эффективно настроить алфавитные списки, оптимизируя процесс категоризации и доступа к контенту на основе алфавитного порядка. Эта функциональность значительно улучшает удобство использования и общую структуру веб-сайтов на платформе WordPress с использованием FacetWP. Это не только упрощает управление контентом, но также улучшает общий пользовательский путь, предоставляя структурированный и легко навигируемый интерфейс.

Мощные возможности плагина позволяют осуществить бесперебойную интеграцию и настройку, учитывая конкретные потребности и предпочтения владельцев веб-сайтов. Предлагая обширные возможности в отображении контента в алфавитном порядке, плагин позволяет пользователям настроить отображение в соответствии с их уникальными требованиями. Этот уровень адаптируемости обеспечивает персонализированный и ориентированный на пользователя подход к организации и представлению контента, обогащая общую удобство использования веб-сайта.

Одним из ключевых достоинств плагина является его способность оптимизировать отображение больших объемов контента, позволяя пользователям эффективно представлять обширную информацию в хорошо организованном алфавитном порядке. Эта функция особенно полезна для веб-сайтов с обширными наборами данных или большими библиотеками контента, что позволяет пользователям быстро и удобно находить и получать доступ к информации. Масштабируемость и производительность плагина делают его ценным инструментом для эффективного управления контентом.

Более того, совместимость FacetWP A-Z Listing с FacetWP обеспечивает беспрепятственную интеграцию с существующими настройками WordPress, обеспечивая беззаботный пользовательский опыт. Используя возможности FacetWP, пользователи могут воспользоваться продвинутыми функциями фильтрации и поиска, дополнительно улучшая удобство и функциональность веб-сайтов на платформе WordPress. Эта синергия между плагином и FacetWP создает беспрепятственную и эффективную систему управления контентом, предлагая пользователям комплексное решение для организации и представления контента в алфавитном порядке.

Спецификации:

Дата выхода: 11-10-2020
Дата обновления: 19-08-2024
Тип расширения: Платный
Лицензия: GPL
Тематика: Поиск и индексация для FacetWP
Совместимость: W5.x
Включает в себя: Плагин
Языковые пакеты: Английский
Разработчик: FacetWP

Рейтинг:
4.5269709543568 1 1 1 1 1 (Оценок: 241)
4.5269709543568 241

Скачивание по подписке!

Вам необходимо авторизоваться на сайте и приобрести клубную подписку!

Поделись с друзьями!

 

Руководство по настройке FacetWP A-Z Listing для алфавитной фильтрации

FacetWP A-Z Listing нужен не для обычной сортировки списка по названию, а для более точной задачи: дать посетителю быстрый алфавитный фильтр по первой букве выбранного поля. В этом руководстве разберём, как подготовить FacetWP-enabled listing, выбрать источник данных, вывести фасет на страницу, проверить индексацию и аккуратно настроить поведение для чисел, акцентов и нестандартных букв.

Обложка руководства FacetWP A-Z Listing с алфавитным фильтром и результатом на сайте
Обложка показывает основную связку: фасет с буквами, источник данных и обновляемую выдачу на странице каталога.

Материал рассчитан на администратора WordPress, контент-менеджера или разработчика, который уже использует FacetWP или только собирает справочник, каталог, базу специалистов, библиотеку документов, глоссарий, список брендов или другой раздел с большим числом записей. Мы не будем повторять рекламное описание продукта, потому что на странице оно уже есть. Вместо этого пройдём путь от установки до практического сценария и диагностики.

Главный критерий успешной настройки простой: пользователь нажимает букву, FacetWP обновляет список без перезагрузки страницы, URL отражает выбранное значение, а результаты начинаются с ожидаемой буквы в том поле, которое вы выбрали как источник. Если один из этих элементов не сходится, проблема обычно лежит не в самой букве, а в источнике данных, порядке сортировки, индексе или в том, какую выдачу FacetWP считает основной.

Какую задачу решает алфавитный фасет

Алфавитный фильтр полезен там, где посетитель заранее знает начало названия или фамилии и не хочет прокручивать длинный список. В отличие от поисковой строки, A-Z Listing не требует вводить текст. В отличие от обычной сортировки, он не просто меняет порядок карточек, а оставляет в выдаче только записи, начинающиеся с выбранного символа.

Официальная документация описывает A-Z Listing как add-on facet type, который показывает доступные первые буквы содержимого выбранного Data source. При клике по букве он показывает результаты, начинающиеся с этой буквы. Повторный клик по выбранной букве или ссылка Any сбрасывают выбор. Это важное отличие от статического алфавитного оглавления: фасет остаётся частью общей системы FacetWP и взаимодействует с листингом, другими фасетами, URL и AJAX-обновлением.

На практике этот тип фасета чаще всего ставят на страницы, где есть одна понятная ось поиска по первой букве:

  • Каталог авторов, врачей, преподавателей, сотрудников или участников, где фильтрация идёт по фамилии или имени.
  • Глоссарий терминов, база знаний или словарь, где посетитель выбирает первую букву термина.
  • Справочник брендов, производителей, партнёров или поставщиков.
  • Библиотека документов, рецептов, мест, объектов недвижимости или карточек, где название является главным ориентиром.
  • WooCommerce-каталог, если алфавитный фильтр нужен не вместо товарных фильтров, а как дополнительная навигация по названию, бренду или пользовательскому полю.

FacetWP A-Z Listing особенно удобен, когда алфавитная буква должна сочетаться с другими фильтрами. Например, посетитель выбирает букву M, затем категорию, регион или тип записи, а FacetWP оставляет только совпадающие элементы. Если вам нужна не фильтрация, а большая статическая A-Z страница с группами букв и якорями, возможно, лучше подойдёт другой инструмент или отдельный шаблон вывода. Этот нюанс стоит понять до установки.

Когда плагин подходит, а когда лучше выбрать другой подход

A-Z Listing лучше всего раскрывается на сайтах, где FacetWP уже является основой фильтрации. Если на странице есть FacetWP Listing Builder, кастомный WP_Query, поддерживаемый блок, интеграция с Elementor, Bricks, Beaver Builder или другим поддерживаемым источником, алфавитный фасет становится ещё одним управляющим элементом этой выдачи.

Плагин подойдёт, если:

  • На сайте уже установлен FacetWP и есть понимание, какая выдача будет фильтроваться.
  • У записей есть стабильное поле, по первой букве которого нужно фильтровать: заголовок, фамилия, название бренда, ACF-поле или другой источник, доступный FacetWP.
  • Нужно, чтобы алфавитный выбор работал вместе с другими фасетами и не ломал общую систему фильтрации.
  • Вы готовы после изменения фасета или индексирующих хуков запускать re-index, потому что FacetWP строит быстрый индекс для фасетов.
  • Страница каталога должна обновляться через механизм FacetWP, а не через отдельные статические страницы для каждой буквы.

Есть и ситуации, где решение может быть лишним. Если на сайте нет FacetWP, а задача сводится к простой странице "все записи по буквам", отдельный A-Z listing plugin может быть проще. Если нужно полноценное табличное представление с колонками, сортировкой и вкладками по буквам, стоит сравнить подход с Posts Table Pro или похожим табличным инструментом. Если сайт полностью собран на JetEngine и Elementor, а фильтры уже реализованы через JetSmartFilters, логичнее проверить его Alphabet Filter, чтобы не вводить вторую систему фильтрации.

Практическое правило: выбирайте FacetWP A-Z Listing, когда алфавитная буква должна быть частью общей FacetWP-фильтрации. Не выбирайте его только ради красивой полосы A-Z, если сам список не является FacetWP-enabled listing.

Отдельно оцените язык контента. По умолчанию A-Z Listing работает с латинскими буквами A to Z и числовым символом #. Документация FacetWP объясняет, что первая буква перед индексированием проходит через функцию WordPress remove_accents(), поэтому символы с акцентами могут упрощаться. Для многоязычных каталогов это не проблема, но это настройка, которую нельзя игнорировать: если в справочнике много имён с Ñ, Æ или другими буквами, нужно заранее решить, должны ли они попадать в базовую латинскую букву или отображаться отдельными пунктами.

Что проверить перед установкой и первым запуском

Перед установкой аддона проверьте не только наличие архива. A-Z Listing зависит от того, как на странице устроена FacetWP-выдача. Если выдача не распознана, фасет может появиться, но клик по букве будет возвращать пустой список или фильтровать не тот набор записей.

Базовая проверка FacetWP и листинга

FacetWP-фасетам нужна выдача, которую они фильтруют. В документации FacetWP эта выдача называется listing template. Она может быть создана в Listing Builder, построена через кастомный WP_Query, выведена через поддерживаемый блок или интеграцию с конструктором. На странице должен быть один основной FacetWP-enabled listing, потому что несколько независимых динамических выдач на одной странице часто приводят к неверному определению запроса.

  • Откройте страницу, где будет алфавитный фильтр, и убедитесь, что список уже выводится без A-Z фасета.
  • Проверьте, какой тип записей должен попадать в список: записи, страницы, товары, кастомный тип записей, пользователи через отдельный add-on или другой поддерживаемый источник.
  • Убедитесь, что этот тип записей индексируется и не исключён из поиска, если речь о кастомном типе записей.
  • Решите, по какому полю фильтровать первую букву: заголовок записи, фамилия в ACF, бренд, термин таксономии или другое поле.
  • Проверьте, что у записей в выбранном поле нет пустых значений, случайных пробелов в начале и смешанных форматов.

Права, кеш и тестовая среда

Для установки и настройки нужны права администратора WordPress. Для re-index может понадобиться время, особенно если записей много. На рабочем сайте лучше тестировать алфавитный фасет на копии страницы или в черновике, чтобы не менять публичную навигацию до проверки результата.

Кеш не нужно выключать навсегда, но на этапе настройки полезно временно очистить кеш страницы, объектный кеш и кеш FacetWP, если он используется. FacetWP обновляет фасеты и листинг через AJAX, поэтому слишком агрессивная оптимизация JavaScript, задержка скриптов или конфликт с минификацией могут проявиться именно после клика по букве, а не при первом открытии страницы.

Подготовка данных для алфавитной логики

Самая частая ошибка на A-Z страницах - выбирать для фасета одно поле, а сортировать листинг по другому. Например, фасет фильтрует по ACF-полю last_name, а Listing Builder сортирует по заголовку записи. Фильтр всё равно может работать, но пользователь увидит странный порядок: выбранная буква соответствует фамилии, а карточки стоят по названию профиля или дате публикации. Лучше заранее согласовать источник буквы и порядок вывода.

Карта подготовки данных для FacetWP A-Z Listing перед созданием фасета
Схема помогает заранее связать источник буквы, порядок сортировки, индекс FacetWP и ожидаемый результат на странице.

Установка аддона и создание первого A-Z фасета

A-Z Listing является add-on facet type для FacetWP. Это означает, что сначала должен быть установлен и включён основной FacetWP, а затем подключается отдельный аддон, который добавляет новый тип фасета. В списке аддонов FacetWP он описан как инструмент для фильтрации результатов по первой букве.

После установки зайдите в админ-панель WordPress и откройте Settings > FacetWP. Дальше логика такая же, как у других фасетов: создаётся новый фасет, выбирается тип, задаётся техническое имя и настраиваются параметры. Важно не спешить с названием. FacetWP использует name фасета в URL, JavaScript и шорткоде. Документация рекомендует латинские буквы и цифры, а также уникальные имена без проблемных слов.

  1. Откройте Settings > FacetWP и перейдите в область фасетов.
  2. Нажмите Add New рядом с заголовком Facets.
  3. Задайте понятный label, например Alphabet или Last name, а техническое name оставьте коротким: az, letter, last_name_letter.
  4. В поле типа выберите A-Z Listing, если аддон установлен и активен.
  5. В Data source выберите поле, по первой букве которого будет работать фильтр.
  6. При необходимости измените Default label, то есть текст ссылки сброса, которую пользователь видит как вариант "любой".
  7. Сохраните фасет и запустите re-index, если FacetWP предлагает это сделать.

Не пропускайте re-index после создания или изменения A-Z фасета. FacetWP хранит данные фасетов в собственной индексной таблице, чтобы быстрее получать варианты и результаты. Если индекс старый, фасет может показывать неактуальные буквы или не находить записи, которые уже есть на сайте.

Как вывести фасет на страницу

Самый универсальный способ вывода - шорткод фасета. Его можно скопировать из интерфейса FacetWP или написать вручную по техническому имени:

[facetwp facet="az"]

Для Listing Builder-шаблона рядом обычно выводят и сам листинг:

[facetwp template="directory"]

Если шаблон страницы создаёт разработчик, FacetWP также поддерживает вывод через PHP:

<?php echo facetwp_display( 'facet', 'az' ); ?>
<?php echo facetwp_display( 'template', 'directory' ); ?>

После вставки откройте страницу в режиме инкогнито или в обычном окне без редактора. Нажмите несколько букв и посмотрите, меняется ли список, остаётся ли интерфейс на месте и появляется ли выбранная буква в URL. Если клик не делает ничего, сначала проверьте наличие FacetWP-enabled listing на странице, а не стили фасета.

Настройка источника данных, сортировки и сброса

Настройка A-Z Listing кажется короткой, потому что у фасета мало видимых параметров. На самом деле решение принимается в трёх местах: какой Data source индексируется, как отсортирован листинг и где пользователь сбрасывает выбранную букву.

Панель настройки FacetWP A-Z Listing с источником данных и проверкой результата
Визуальная схема показывает, почему Data source, сортировка листинга и re-index должны быть согласованы.

Выбор Data source

Data source - это поле, из которого FacetWP берёт первую букву. Для простого справочника можно использовать заголовок записи. Для каталога людей чаще лучше использовать отдельное поле фамилии, потому что заголовок может быть составным: имя, должность, город или служебный префикс. Для брендов и товаров источником может быть поле бренда, термин таксономии или название товара, если именно оно является навигационной точкой.

Перед выбором источника откройте несколько реальных записей и проверьте формат. Если часть значений начинается с пробела, кавычки, артикля или номера, пользовательская логика может отличаться от технической. Например, название The Archive технически начинается с T, хотя редактор может ожидать A. Такие случаи лучше решить на уровне данных или отдельного поля, а не пытаться лечить фасет после вывода.

Сортировка выдачи под выбранную букву

Если вы используете Listing Builder, настройте сортировку в Query tab. Для алфавитного каталога обычно нужна сортировка по тому же смысловому полю, что и A-Z фасет. Если фасет работает по заголовку, добавьте сортировку по Post Title с направлением ASC. Если буква берётся из кастомного поля, сортировка тоже должна учитывать это поле, иначе результат будет фильтроваться правильно, но выглядеть неупорядоченным.

Не ставьте -1 как число записей на страницу без необходимости. Документация Listing Builder советует разумные значения для страниц с пагинацией, потому что слишком большой вывод увеличивает количество данных, которые нужно обработать при каждом обновлении. Для справочника из десятков записей полный вывод допустим. Для сотен и тысяч карточек лучше использовать пагинацию, а A-Z фасет оставить как быстрый первый отсев.

Default label и UX сброса

Default label меняет текст варианта сброса. В английском интерфейсе это обычно Any. Для русской страницы можно оставить перевод через механизм локализации или через facetwp_i18n, если вы уже управляете строками FacetWP программно. Смысл надписи должен быть понятным: "Все", "Любая буква", "Сбросить букву". Не используйте слишком длинную подпись, потому что она будет стоять в одной строке с буквами.

Проверка после настройки: выберите букву, убедитесь, что список сократился, затем нажмите выбранную букву ещё раз или пункт сброса. Если выдача не возвращается к исходному состоянию, проверьте URL-параметр фасета и наличие JavaScript-ошибок в консоли.

Буквы, цифры, акценты и нестандартные алфавиты

Именно в этом разделе FacetWP A-Z Listing отличается от многих простых A-Z плагинов. Он не просто печатает алфавит на странице, а сравнивает первую букву значения с набором символов, который индексируется и затем используется в фасете. По умолчанию A-Z Listing показывает латинские заглавные буквы A to Z, а символ # служит группой для значений, начинающихся с цифр.

Как работает совпадение символов

Перед индексированием первая буква значения упрощается через функцию WordPress remove_accents(). Поэтому буквы с акцентами могут попасть в базовую латинскую группу. Документация приводит пример с n, N, ñ и Ñ: без дополнительной настройки они будут соответствовать букве N. Для английского каталога это удобно. Для испанского, скандинавского или смешанного справочника может быть нужно отдельное поведение.

Символ # является псевдобуквой для значений, которые начинаются с чисел. Если в вашем каталоге есть модели, артисты, документы или серии вроде 3D, 24 или 100, этот пункт полезен. Если числовых названий нет, его можно убрать, чтобы интерфейс не выглядел лишним.

Когда добавлять собственные символы

В актуальной документации FacetWP для A-Z Listing описаны два хука: facetwp_alpha_chars для изменения набора символов и facetwp_alpha_remove_accents для управления удалением акцентов. Это даёт возможность заменить стандартный латинский набор, добавить отдельные символы или убрать #.

Ниже безопасный пример, который удаляет # только для одного фасета. Его можно добавить в дочернюю тему, через Code Snippets или через Custom Hooks add-on, если он используется на сайте. Замените az на техническое name вашего A-Z фасета и запустите re-index после изменения.

add_filter( 'facetwp_alpha_chars', function( $chars, $params ) {
    if ( 'az' === $params['facet']['name'] ) {
        $chars = array_diff( $chars, [ '#' ] );
    }

    return $chars;
}, 10, 2 );

Если нужно добавить буквы с акцентами как отдельные пункты, используйте официальный пример как основу, но не копируйте его без понимания. Для таких случаев важно решить, отключать ли удаление акцентов через facetwp_alpha_remove_accents. Если отключить упрощение, значения с Ñ смогут попадать в отдельный пункт Ñ, но после изменения потребуется re-index. Если не отключить, такие записи будут продолжать попадать в базовую латинскую букву.

Как безопасно откатить изменение алфавита

Любая правка набора символов влияет на индекс. Поэтому откат простой, но его нужно делать в правильном порядке: удалите snippet, сохраните изменения, запустите re-index и проверьте страницу без кеша. Если после отката в интерфейсе всё ещё видны старые варианты, очистите кеш FacetWP, кеш страницы и объектный кеш, если он включён.

Практический сценарий: каталог специалистов по фамилии

Разберём предметный пример. На сайте есть кастомный тип записей specialist. У каждой записи есть ACF-поле last_name. Нужно создать страницу справочника, где посетитель выбирает букву фамилии, а карточки специалистов выводятся в алфавитном порядке.

Цель и подготовка

Цель - не просто показать буквы, а сделать удобную навигацию по фамилии. Перед настройкой проверьте, что у всех специалистов заполнено поле last_name, а карточки выводятся через FacetWP Listing Builder или другой поддерживаемый листинг. Если часть записей пока не имеет фамилии, они не будут корректно участвовать в алфавитной фильтрации по этому полю.

Шаги настройки

  1. Создайте или откройте Listing Builder-шаблон для типа записей specialist.
  2. В Query tab выберите нужный post type и задайте разумное число записей на страницу.
  3. Добавьте сортировку по ACF-полю last_name в направлении ASC, если ваша конфигурация позволяет сортировать по этому источнику.
  4. Создайте новый фасет типа A-Z Listing с техническим именем last_name_letter.
  5. В Data source выберите то же поле last_name.
  6. Сохраните фасет, выполните re-index и выведите шорткод [facetwp facet="last_name_letter"] перед листингом.
  7. Откройте страницу и выберите букву, с которой точно начинается несколько фамилий.
Практический пример FacetWP A-Z Listing для каталога специалистов по фамилии
Пример связывает ACF-поле фамилии, A-Z фасет, сортировку и результат на странице справочника.

Ожидаемый результат и проверка

После клика по букве в URL должен появиться параметр выбранного фасета, а список должен показать только специалистов, чья фамилия начинается с этой буквы. Если в списке есть карточки на другую букву, проверьте, не сортируете ли вы по заголовку записи, когда фильтр работает по last_name. Если список пустой, хотя записи есть, проверьте row count в обзоре фасетов и источник данных.

Нюанс с буквенными заголовками внутри выдачи

Документация A-Z Listing отдельно показывает сценарий, где в самой выдаче вставляются буквенные заголовки: A, затем записи на A, потом B и так далее. Это не обязательная настройка фасета, а расширение вывода Listing Builder в Dev mode или кастомного шаблона. Оно полезно, когда страница без выбранной буквы показывает весь справочник. Но когда пользователь уже выбрал конкретную букву в фасете, отдельный заголовок внутри выдачи может выглядеть странно. Поэтому официальный пример скрывает такие headings, когда A-Z фасет активен.

Если вы добавляете буквенные заголовки, следуйте той же логике: поле, по которому вы вычисляете первую букву, должно совпадать с источником фасета и сортировкой запроса. Иначе заголовки будут делить карточки по одному признаку, а A-Z фильтр - по другому.

Проверка результата на странице и в индексе

После настройки не ограничивайтесь визуальным кликом по первой букве. Хорошая проверка должна подтвердить четыре уровня: интерфейс, URL, индекс и фактическую выдачу. Так проще отличить проблему дизайна от проблемы данных.

Проверка интерфейса

На публичной странице A-Z фасет должен показывать набор букв и пункт сброса. Недоступные буквы могут выглядеть неактивными, если для них нет записей. Активная буква должна иметь понятное состояние, чтобы пользователь видел выбор. Если тема почти не выделяет выбранный элемент, добавьте лёгкую CSS-правку через дочернюю тему или кастомные стили темы, но не меняйте файлы плагина.

.facetwp-type-alpha .facetwp-alpha.selected {
    font-weight: 700;
    text-decoration: underline;
}

Этот CSS не вмешивается в логику фильтрации. Он только делает активную букву заметнее. Проверка простая: выберите букву, убедитесь, что она визуально выделилась, затем сбросьте выбор и посмотрите, исчезло ли выделение. Откат - удалить этот фрагмент из места, куда вы его добавили.

Проверка URL и сброса

FacetWP отражает выбранные значения в URL. Это удобно для ссылок, возврата назад и диагностики. После выбора буквы проверьте, что в адресной строке появился параметр с name фасета. Если name слишком длинное или содержит неочевидный смысл, URL станет неудобным для поддержки. Поэтому на этапе создания лучше выбрать короткое техническое имя.

Сброс должен вернуть страницу к исходной выдаче. Если при сбросе остаётся пустой список, проверьте другие активные фасеты, выбранную категорию, поисковый запрос и кеш. Часто кажется, что виновата A-Z буква, хотя на странице одновременно активен другой фильтр.

Проверка индекса

В обзоре фасетов FacetWP показывает row count. Если у A-Z фасета нулевые строки, проверьте Data source и наличие значений у записей. Для теста можно временно выбрать более простой источник, например заголовок записи, выполнить re-index и проверить, появились ли строки. Если появились, проблема в исходном поле, а не в A-Z Listing.

Мини-итог: рабочая настройка подтверждается не только тем, что буквы нарисованы на странице. Нужны совпадающие данные в индексе, правильная FacetWP-выдача и ожидаемый результат после клика.

Производительность, кеш и SEO-нюансы

A-Z Listing сам по себе не должен быть главным источником нагрузки, но он работает внутри общей архитектуры FacetWP. FacetWP использует индексную таблицу и AJAX-обновление, а итоговая скорость зависит от сервера, темы, количества записей, других плагинов и того, насколько тяжёлым является шаблон карточки.

Если страница фильтруется медленно, не начинайте с удаления A-Z фасета. Сначала проверьте, сколько записей выводится на странице, какие поля подгружаются в карточке, есть ли дополнительные запросы внутри цикла и не выводит ли листинг слишком много элементов за один раз. Для страниц с большим каталогом используйте пагинацию и не ставьте полный вывод всех записей, если он не нужен пользователю.

Кеширование без ложных выводов

Документация FacetWP подчёркивает, что AJAX-запросы WordPress обычно не кешируются как обычная страница. Поэтому первая загрузка может быть быстрой из-за кеша страницы, а фильтрация - заметно медленнее, если сервер или шаблон выполняют тяжёлую работу. FacetWP Caching add-on может помочь на высоконагруженных страницах, но его лучше рассматривать после того, как вы проверили базовую производительность листинга.

На этапе диагностики временно отключите кеш страницы и оптимизацию JavaScript, чтобы увидеть реальное поведение. После исправления включайте оптимизации по одной и проверяйте клик по букве, сброс, пагинацию и другие фасеты.

SEO и индексируемость фильтрованных URL

Алфавитные фильтры могут создавать URL с параметрами фасетов. Не обещайте себе автоматический SEO-рост только потому, что появились буквы. Для поисковых систем ценны уникальные, полезные страницы, а не десятки параметрических вариантов с похожим содержимым. Если вы хотите индексировать отдельные буквенные подборки, продумайте это как отдельную SEO-архитектуру: канонические URL, уникальные тексты, правила индексации и отсутствие дублей. В большинстве случаев A-Z фасет лучше воспринимать как навигацию для посетителя, а не как генератор посадочных страниц.

Почему алфавитный фильтр может не работать и как это диагностировать

Ошибки A-Z Listing обычно выглядят одинаково: буквы не появляются, выбранная буква ничего не меняет, список пустеет или результаты начинаются не с той буквы. Но причины разные. Ниже - практическая диагностика, которую стоит пройти до обращения в поддержку.

Диагностическая карта ошибок FacetWP A-Z Listing при пустой выдаче и неверных буквах
Карта диагностики связывает симптом, вероятную причину, проверку и безопасное исправление.

Фасет не появляется на странице

Симптом: шорткод вставлен, но посетитель не видит A-Z строку или видит пустое место.

Сначала проверьте, установлен ли add-on и доступен ли тип A-Z Listing в настройках фасета. Затем убедитесь, что на странице есть FacetWP-enabled listing. FacetWP прямо указывает, что без корректного листинга фасеты не смогут работать. Если листинг выводится кастомным кодом, проверьте, добавлен ли нужный маркер или используется ли поддерживаемый способ вывода.

Что сделать

  • Откройте Settings > FacetWP и проверьте, есть ли созданный фасет в списке.
  • Скопируйте шорткод заново из интерфейса, чтобы исключить ошибку в name.
  • Проверьте, что на этой же странице выводится FacetWP listing template или корректный кастомный листинг.
  • Очистите кеш страницы, если недавно добавили шорткод.

Буквы есть, но после клика выдача пустая

Симптом: пользователь выбирает букву, FacetWP обновляет страницу, но результатов нет, хотя записи на эту букву существуют.

Возможные причины - неверный Data source, старый индекс, пустые значения в поле или конфликт с другим активным фильтром. Проверьте row count для фасета. Если строк нет, поменяйте источник на заголовок записи и выполните re-index как тест. Если с заголовком всё работает, значит исходное поле заполнено не так, как ожидает FacetWP.

Выбрана буква, но порядок карточек выглядит хаотично

Симптом: фильтр оставляет нужные записи, но карточки внутри буквы идут не по алфавиту.

A-Z фасет фильтрует по первой букве, но не обязан сам сортировать выдачу. Сортировка задаётся листингом. В Listing Builder проверьте Query tab и добавьте сортировку по тому же полю, по которому работает A-Z фасет. Если используется кастомный WP_Query, проверьте orderby и order.

Буквы с акцентами попадают не туда

Симптом: записи на Ñ попадают в N или отдельная буква отображается как неактивная.

Это связано с тем, что A-Z Listing использует упрощение символов через remove_accents() перед индексированием. Если вам нужны отдельные буквы с акцентами, используйте facetwp_alpha_chars и при необходимости facetwp_alpha_remove_accents. После изменения обязательно выполните re-index. Если сайт одноязычный и пользователи ожидают базовые латинские группы, лучше не усложнять алфавит без необходимости.

После импорта или массового обновления новые записи не фильтруются

Симптом: старые записи работают, новые записи не появляются по букве.

FacetWP имеет автоматическую индексацию для отдельных сохранений, но массовый импорт и программные изменения могут требовать полного re-index. Документация по индексации отдельно выделяет импорты как ситуацию, после которой индекс нужно обновлять. Если импорт запускается регулярно, настройте процесс так, чтобы re-index выполнялся после завершения импорта, а не одновременно с ним.

Фильтрация медленная или зависает

Симптом: клик по букве долго обновляет список, иногда запрос обрывается.

Проверьте размер листинга, тяжёлые поля карточек, работу темы, сторонние плагины и серверные логи. Для зависания индексации FacetWP рекомендует смотреть ошибки памяти, самозапросы сервера, cron-задачи и проблемные записи. Для медленной фильтрации начните с uncached проверки страницы, потому что AJAX-запросы могут показывать настоящую скорость сайта без обычного кеша страницы.

Безопасные улучшения внешнего вида и удобства

У A-Z строки обычно мало места, поэтому главная задача улучшений - сделать выбор буквы заметным, не превращая интерфейс в перегруженную панель. Все правки ниже обратимы и не требуют редактировать файлы FacetWP.

Сделать числовую группу понятнее

Если у вас есть записи, начинающиеся с цифр, символ # может быть неочевиден для посетителя. В документации FacetWP есть подход, который визуально заменяет # на 0-9 через CSS. В статье не будем вставлять полноценный PHP с wp_head, чтобы не плодить дополнительные теги. Смысл такой: добавьте CSS в дочернюю тему или в безопасное поле дополнительных стилей темы.

.facetwp-type-alpha .facetwp-alpha[data-id="#"] {
    visibility: hidden;
}

.facetwp-type-alpha .facetwp-alpha[data-id="#"]::after {
    content: "0-9";
    visibility: visible;
}

Проверьте результат на записи, которая начинается с цифры. Если пункт 0-9 отображается, но клик не возвращает такие записи, проблема не в CSS, а в данных или индексе. Откат - удалить CSS и очистить кеш.

Не прятать смысл за декоративным дизайном

Не стоит делать буквы слишком мелкими или превращать их в слайдер. Алфавитный фильтр хорош тем, что все доступные варианты видны сразу. На мобильной версии лучше разрешить перенос строк и увеличить расстояние между кликабельными элементами, чем прятать буквы в меню. Если используется Mobile Flyout или другой мобильный сценарий FacetWP, проверьте, что label фасета понятен и не конфликтует с остальными фильтрами.

Локализация без ломки технических имён

Переводите label и видимый текст, но не переименовывайте техническое name фасета без причины. Если вы смените name после того, как уже вставили шорткод и настроили snippets, придётся обновить шорткоды, CSS/JS-селекторы, код и выполнить re-index. Техническое name лучше оставить стабильным, коротким и латинским.

Ответы на частые вопросы по FacetWP A-Z Listing

Можно ли использовать A-Z Listing без основного FacetWP?

Нет, это add-on facet type для FacetWP. Он добавляет новый тип фасета в систему FacetWP, но не является самостоятельным каталогом. Если основной FacetWP не установлен и на странице нет FacetWP-enabled listing, этот подход не закроет задачу.

Почему буква отображается, но не выбирается?

Проверьте JavaScript-ошибки, кеш и наличие корректного листинга на странице. Также убедитесь, что вы не вставили фасет на страницу, где нет динамической выдачи FacetWP. Если буква визуально неактивна, для неё может не быть результатов в текущем наборе записей или после других активных фильтров.

Нужно ли запускать re-index после изменения алфавита?

Да. Если вы меняете набор символов через facetwp_alpha_chars, управляете акцентами или меняете Data source, индекс должен быть пересобран. Иначе фасет может продолжить работать по старым данным.

Можно ли фильтровать по ACF-полю, а не по заголовку записи?

Да, если это поле доступно как источник данных FacetWP и заполнено у записей. Важно, чтобы сортировка листинга была согласована с тем же полем, иначе пользователь получит правильную фильтрацию, но неочевидный порядок карточек.

Как поступить с русским алфавитом?

Не добавляйте кириллический набор наугад. Сначала проверьте, как ваши данные индексируются, какие символы должны быть отдельными пунктами и как это соотносится с поведением remove_accents(). Документация подтверждает настройку символов через facetwp_alpha_chars, но для нелатинских алфавитов лучше тестировать на копии сайта и обязательно выполнять re-index.

Повредит ли A-Z фасет SEO?

Сам фасет не является SEO-проблемой. Риск появляется, если сайт начинает отдавать множество параметрических URL как индексируемые страницы без уникального смысла. Для большинства каталогов A-Z Listing лучше использовать как навигацию для посетителя. Индексацию фильтрованных URL планируйте отдельно.

Что делать, если после клика по букве фильтруется не тот список?

Включите Debug Mode в FacetWP и проверьте, какой запрос FacetWP считает основным. На страницах с несколькими запросами тема или плагин может добавить невидимый архивный запрос, и FacetWP будет работать не с тем листингом. В таких случаях помогает корректная настройка query detection или переход на явно заданный Listing Builder-шаблон.

Когда FacetWP A-Z Listing будет удачным выбором

FacetWP A-Z Listing стоит использовать, если вы строите не отдельный алфавитный указатель, а фильтруемый каталог внутри FacetWP. Его сильная сторона - связка первой буквы с FacetWP-индексом, AJAX-обновлением, URL, другими фасетами и Listing Builder или поддерживаемым шаблоном. На страницах справочников, глоссариев, персональных баз, брендов и каталогов это даёт быстрый и понятный способ сузить выдачу.

Перед запуском проверьте три вещи: выбранный Data source действительно содержит нужную первую букву, листинг отсортирован по согласованному полю, а re-index выполнен после всех изменений. Если нужен нестандартный алфавит, не внедряйте его сразу на рабочем сайте: протестируйте поведение акцентов, чисел и выбранных символов на копии.

Если после проверки сценарий совпадает с задачей вашего сайта, можно скачать установочный файл, установить аддон и собрать тестовую страницу. Лучший момент для публикации - когда вы вручную проверили несколько букв, сброс, URL, мобильное отображение, пустые состояния и работу рядом с другими фасетами.

Автор: Редакция JoomFox.org

Вы не зарегистрированы, чтобы оставлять комментарии.