Что такое мета описание в wordpress
Перейти к содержимому

Что такое мета описание в wordpress

  • автор:

Как добавить мета-описание в WordPress.

Контент на вашем сайте заслуживает того, чтобы его нашли, увидели и прочитали. Очень хороший и простой способ генерировать новый трафик и привлечь клиентов или читателей на ваш сайт, чтобы иметь надлежащее мета-описание. В WordPress у вас есть несколько вариантов его добавления. Здесь вы можете узнать, что это такое, почему мета-описание важно для WordPress и что следует учитывать при его написании.

Что такое мета-описания в WordPress?

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

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

Для чего нужны мета-описания в WordPress?

В принципе, в WordPress относительно легко создавать мета-описания. Если вы сделаете это добросовестно и последуете некоторым другим советам WordPress по SEO, ваш контент будет легче найти, рейтинг вышеи достигнет тех самых посетителей, для которых была создана ваша страница . Особенно если у вас большое количество конкурентов, информативное и точное мета-описание — это настоящий плюс.

Создавайте мета-описания с Yoast SEO

Самый простой способ добавить мета-описание в WordPress — это плагин WordPress SEO. Обычные плагины позволяют вам писать полные фрагменты (мета-заголовок, URL-адрес и мета-описание) для каждого поста и страницы. Одним из самых популярных плагинов для создания мета-описаний является Yoast SEO. Плагин впечатляет своим простота в обращении и достигает отличные результаты . Далее мы шаг за шагом объясним, как создать метаописание с помощью Yoast SEO.

  1. Первый, установить плагин . Самый простой способ сделать это — выбрать его в бэкенде. Для этого сначала нажмите «Плагины» на левой панели, а затем «Добавить новый». Поскольку Yoast SEO часто используется для мета-описаний, он, скорее всего, среди популярных провайдеров. Вы также можете выбрать плагин на странице WordPress в разделе «Плагины».
  2. Теперь загрузите Yoast SEO для мета-описаний и активировать плагин в разделе «Установленные плагины» в «Плагины». Вы найдете эти параметры в меню в левой части экрана. Теперь вы можете использовать Yoast SEO.
  3. Затем вы найдете раздел для Yoast SEO под каждой страницей, которую вы создаете или уже создали. Чтобы добавить мета-описание, выберите «Редактировать фрагмент» вариант.

Пример мета-описания с Yoast SEO

  1. Теперь напишите свое мета-описание для страницы WordPress в соответствующей области. Плагин уведомляет вас когда вы достигли нужной длины . Если полоска становится зеленой, в описании указано правильное количество символов.
  2. Вы можете выполнить эту процедуру как для новых сообщений, так и для существующих страниц. В любом случае желательно предоставить каждая запись в WordPress с мета-описанием настолько далеко, насколько возможно .

Добавить стандартное описание

Yoast SEO позволяет добавлять мета-описания, которые используется по умолчанию . То есть, если вы не создадите собственное описание публикации, это описание всегда будет отображаться по умолчанию. Для этого выберите «Появление в поисковой системе» в опции «SEO» в строке меню, а затем «Типы контента». Оказавшись там, напишите соответствующий текст в соответствии с уже объясненным методом и сохраните его как стандартный вариант. Отныне, если вы забудете написать мета-описание на своей странице WordPress или не захотите писать описание, будет использоваться стандартный текст.

Создавайте мета-описания в WordPress без плагина

Использование плагина, такого как Yoast, для создания мета-описания в WordPress, безусловно, самый простой способ и поэтому рекомендуется . Хотя у вас также есть возможность добавить мета-описание без какого-либо плагина. Операция намного сложнее и требует больше времени. В этом контексте вам необходимо изменить файлы темы.

  1. Прежде чем приступить к созданию мета-описания в WordPress без плагина, вам следует сделать резервную копию вашего . Таким образом, если произойдет серьезная ошибка, ваш сайт не понесет никаких последствий, потому что вы можете без проблем вернуться к предыдущей версии.
  2. Чтобы добавить описание, перейдите на “Краткое описание” пункт в общих настройках и напишите там мета-описание для вашей страницы WordPress.
  3. Теперь переключитесь в редактор темы и перейдите в пункт меню «Внешний вид», нажмите «Заголовок» и вставьте следующий код между и :

Этот код будет применять мета-описание, определенное выше, ко всем сообщениям WordPress. В принципе, это лучше, чем ничего, но для большего трафика это решение далеко не лучший вариант. Хотя вы можете добавлять собственные описания к каждой отдельной записи, вы должны иметь продвинутые знания в области программирования, иначе вы можете поставить под угрозу работу своей страницы. Поэтому самый безопасный, простой и, в конечном счете, самый удобный способ — использовать плагин, такой как Yoast SEO, для настройки метаописаний.

Что такое хорошее мета-описание в WordPress?

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

Но как должно выглядеть хорошее мета-описание WordPress? Ответ всегда немного зависит от типа веб-страницы. Если вы ведете блог и хотите привлечь читателей своими информативными статьями, подход отличается от подхода интернет-магазина или веб-сайта компании. Тем не менее, есть некоторые основные советы :

  1. Мета-описание должно содержать как минимум основное ключевое слово . Таким образом, заинтересованные пользователи хотя бы приблизительно знают, какую информацию они могут от вас ожидать. Для определения соответствующих ключевых слов существуют практические инструменты для исследования ключевых слов.
  2. Мета-описание страницы WordPress должно быть хорошо написано и привлекательный . Держать самая важная информация кратко и по делу, а также продемонстрируйте, что ваша Страница дает четкие ответы на вопросы пользователей. Для этого лучше, чтобы описание было уникальным. Хотя дублированный контент играет незначительную роль в ранжировании, он выглядит гораздо более профессионально, если ваша качественная страница имеет уникальное описание.
  3. Как мы уже упоминали, длина мета-описания также важен в WordPress. Если вы используете слишком много символов, предварительный просмотр поисковой системы в какой-то момент отключится. С другой стороны, слишком короткий текст создает впечатление, что вам нечего предложить. Как будто этого недостаточно, предварительный просмотр на смартфоне короче, чем на настольном компьютере. Например, если вы создаете свои мета-описания с помощью Yoast SEO, плагин автоматически сообщает вам наилучшую длину.
  4. Закройте свое описание знаком призыв к действию . «Узнать больше» или «Запросить сейчас» означает, что на вашей странице ожидается больше контента, и пользователи нажимают быстрее.

Вкратце: мета-описание в WordPress

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

Как добавить мета-теги
на сайт WordPress. 2 способа

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

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

WordPress по умолчанию не содержит данные мета-тегов, поэтому вам необходимо добавить их самостоятельно. Вы можете сделать это вручную или с помощью плагинов WordPress. Ниже рассмотрим подробнее каждый способ.

Как добавить мета-теги в WordPress вручную

Возьмем для примера следующие мета-теги:

Для того, чтобы их добавить, выполните следующие шаги:

  1. Войдите в панель управления вашей учетной записью и откройте диспетчер файлов;
  2. Откройте папку public_html в левой части экрана;

3. Нажмите на папку wp-content;

4. Найдите папку themes;

  1. Откройте папку с названием вашей темы;
  2. Щелкните правой кнопкой мыши по шаблону header.php и выберите «Правка» в выпадающем меню;
  3. Добавьте свои мета-теги в раздел head (между тегом );
  4. Сохраните изменения.

Если ваш сайт охватывает более широкий круг тем, и вам необходимо добавить уникальные мета-теги для каждого поста — используйте плагины.

Как добавить мета-теги в WordPress с помощью плагина

Рассмотрим добавление мета-тегов на примере плагина Meta Tag Manager . Если вы используете другой плагин, ознакомьтесь с его документацией на сайте разработчика.

  1. Войдите в панель управления WordPress;
  2. Нажмите «Плагины» > «Добавить новый» ;

3. Найдите «Meta Tag Manager» и нажмите «Установить сейчас» > «Активировать» ;

  1. Вы автоматически попадете во вкладку со всеми установленными плагинами на сайте. В верхней части вы увидите сообщение с подтверждением того, что плагин активирован;

5. Перейдите в «Настройки» > «Менеджер мета-тегов» ;

6. Теперь вы можете создавать глобальные мета-теги и назначать их различным областям на вашем сайте. Если вы хотите добавить мета-тег автора для всех сообщений на сайте, то используйте следующие параметры:

7. Далее переключитесь на страницу «Общие параметры» и убедитесь, что посты, страницы и медиа указаны в поле с пометкой «Поддержка типов записей» . Таким образом, при редактировании этих элементов вы сможете добавить мета-теги, которые будут отображаться только для них;

8. При таком редактировании Meta Tag Manager отображается в виде отдельного мета-окна, как показано ниже.

На слайде вы увидите, как выглядит добавление мета-тегов описания, уникальных для конкретного поста. Если следовать этому процессу, то вы можете добавить уникальные мета-теги для всех ваших постов и страниц.

Мета-данные в WordPress

Под словом «Метаданные» в WordPress скрывается огромная работа и потрясающая логика, которую можно ругать и хвалить одновременно, но одного у метаданных не отнять — они очень удобны. При этом разобраться в принципе их работы очень просто.

Читайте также, как устроены таксономии в WordPress
Читайте также, как устроенны записи в WordPress
Оглавление:

  • Что такое метаданные?
  • Таблицы метаданных в Базе Данных WP
  • Скрытые (защищенные) метаполя
  • Функции метаданных
  • Очистка значений метаполей при сохранении
  • Регистрация метаполей
  • Метаполя для свой таблицы
  • Производительность и метаданные
  • Как включить произвольные поля в Gutenberg?

Что такое метаданные?

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

  • у записи (поста) есть основные данные: контент, заголовок, . и могут быть дополнительные данные (метаданные), например число просмотров записи, ID миниатюры, ID редактировавшего юзера, и т.д.
  • у пользователя есть основные данные — это данные из таблицы wp_users : логин, ссылка на сайт, email, . и метаданные: биография, ссылка на соц. профиль, настройки админ панели.

Метаполя у записи Метаданные пользователя

Таблицы метаданных в Базе Данных WP

По умолчанию в WordPress существует 5 таблиц для разных объектов (записи, комментарии, пользователи, элементы таксономии, сайты):

wp_postmeta Записи — таблица wp_postmeta для wp_posts . Сюда записываются привычные в WordPress «произвольные поля поста» wp_usermeta Пользователи — таблица wp_usermeta для wp_users . Дополнительные данные о пользователе. wp_termmeta(С WP 4.4) Термины (элементы таксономий) — таблица wp_termmeta для wp_terms . Дополнительные данные для элементов таксономии. wp_commentmeta Комментарии — таблица wp_commentmeta для wp_comments . Метаданные для каждого комментария. wp_sitemeta(для мультисайт сборки) Сайты (главный сайт сети в мультисайт) — таблица wp_sitemeta для wp_site . Опции основного сайта сети.

Связь таблиц метаданных с их основными таблицами

Все метаданные имеют одинаковую логику и таблицы одинаковой структуры в базе данных.

Как можно видеть, структура всех таблиц одинаковая, разница только в названии основных полей. Связываются они с основной таблицей через второе поле (оно у всех таблиц называется по-разному: post_id , user_id , comment_id , term_id ). Основной ключ (желтый) обычно не используется и нужен только для точной идентификации конкретной строки в таблице (это иногда нужно, потому что удобно). Запросы как правило работают по трем полям: 2, 3, 4.

По умолчанию WordPress активно использует таблицы метаданных для записей и для пользователей. Менее активно используется таблица метаданных для комментариев — туда при помещении комментария в корзину записывается время удаления (если корзина отключена, то таблица не используется). И совсем не используется таблица метаданных для терминов.

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

Таблица метаданных для терминов, была добавлена только в версии 4.4 специально для того, чтобы разработчикам было куда сохранять нужные данные этих самых терминов.

Скрытые (защищенные) метаполя

В WordPress есть такое понятие как скрытые метаполя. Это поля, название которых (значение meta_key ) начинается с нижнего подчеркивания _ . Так принято называть метаполя, которые используются для нужд кода и не должны изменяться вручную.

В админке, для постов в блоке «Произвольные поля» скрытые метаполя не отображаются, а значит их нельзя изменить. Так, например, при редактировании записи в метаполе _edit_lock записывается метка времени и ID пользователя, который редактирует запись. Благодаря этому мы можем видеть что запись в текущий момент редактируется другим пользователем. Или другой пример, ID картинки-вложения, которая устанавливается как миниатюра записи, сохраняется в метаполе _thumbnail_id .

Для выяснения является ли метаполе скрытым есть специальная функция: is_protected_meta( $meta_key, $meta_type ) .

Чтобы сделать любое метаполе скрытым, есть хук is_protected_meta:

// Скроем некоторые метаполя add_filter( ‘is_protected_meta’, ‘my_protected_custom_fields’, 10, 2 ); function my_protected_custom_fields( $protected, $meta_key )

Функции метаданных

Почти все функции метаданных работают на основе четырех базовых функций. На основе этих четырех функций по сути построено API работы со всеми метаданными в WordPress.

  • get_metadata( $meta_type, $object_id, $key, $single )
  • update_metadata( $meta_type, $object_id, $key, $value, $prev_value )
  • delete_metadata( $meta_type, $object_id, $key, $value, $delete_all )
  • add_metadata( $meta_type, $object_id, $key, $value, $unique )
  • get_post_meta( $post_id, $key, $single )
  • add_post_meta( $post_id, $key, $value, $unique )
  • update_post_meta( $post_id, $key, $value, $prev_value )
  • delete_post_meta( $post_id, $key, $value )
  • delete_post_meta_by_key( $key ) — удаляет все метаполя у всех постов по имени поля.
  • get_post_custom( $post_id ) — получает массив всех метаполей текущего поста (включая скрытые).
  • the_meta() — выводит значения метаполей записи в списке
  • (без скрытых).
  • get_user_meta( $user_id, $key, $single )
  • add_user_meta( $user_id, $key, $value, $unique )
  • update_user_meta( $user_id, $key, $value, $prev_value )
  • delete_user_meta( $user_id, $key, $value )
  • get_the_author_meta( $field ) — получает значение указанного метаполя текущего юзера.
  • get_comment_meta( $comment_id, $key, $single )
  • add_comment_meta( $comment_id, $key, $value, $unique )
  • update_comment_meta( $comment_id, $key, $value, $prev_value )
  • delete_comment_meta( $comment_id, $key, $value )

Для таксономий (терминов):

  • get_term_meta( $term_id, $key, $single )
  • add_term_meta( $term_id, $key, $value, $unique )
  • update_term_meta( $term_id, $key, $value, $prev_value )
  • delete_term_meta( $term_id, $key, $value )
  • has_term_meta( $term_id ) — получает массив всех метаданных термина (получит все поля таблицы).

Получить значения всех метаполей объекта можно с помощью функции get_***_meta() . Для этого нужно указать только первый параметр: id объекта:

$metas = get_post_meta( 76 ); /* Array( [_edit_lock] => Array [0] => 1517175359:1 [_edit_last] => Array [0] => 1 [views] => Array [0] => 10164 [_thumbnail_id] => Array [0] => 9556 [photo] => Array [0] => https://wp-kama.ru/wp-content/uploads/2010/03/Quicktags-API.png [1] => https://wp-kama.ru/wp-content/uploads/2017/07/image.png ) */

Очистка значений метаполей при сохранении

Значение любого метаполя можно очистить через фильтр: sanitize_(type)_meta_(meta_key).

Этот фильтр срабатывает всегда при добавлении или обновлении метаполя.

Все варианты фильтра, если указать первый изменяемый параметр:

  • sanitize_post_meta_(meta_key)
  • sanitize_user_meta_(meta_key)
  • sanitize_comment_meta_(meta_key)
  • sanitize_term_meta_(meta_key)
Пример использования фильтра

Допустим, у нас есть метаполе пользователя my_history (моя история). В это поле пользователь может писать какой-то текст, но в нем нельзя использовать HTML теги. Чтобы быть уверенным наверняка, что туда не попадут эти самые теги, лучше всего очистить значение поля перед сохранением его в базу данных:

add_filter( 'sanitize_user_meta_'.'my_history', function( $meta_value )< return wp_strip_all_tags( $meta_value ); >);

Регистрация метаполей

С версии 4.6 в WordPress появилась возможность дополнительно описывать каждое метаполе. Делается это через функцию register_meta().

Регистрация метаполя, нужна для использования его в разных API, например для REST API (полная поддержка REST API ожидается с версии WP 5.0).

Поведение register_meta() чем-то походе на register_post_type() — данные аналогично сохраняются в глобальную переменную $wp_meta_keys . Это позволяет получать данные метаполя в любое время при написании кода.

Пример регистрация метаполя

Зарегистрируем метаполе для поста с функциями доступа и очистки:

register_meta( 'post', 'bookname', [ 'type' => 'string', 'description' => 'Название книги', 'single' => true, 'sanitize_callback' => function( $meta_value, $meta_key, $object_type )< return wp_strip_all_tags( $meta_value ); // удалим html теги >, 'auth_callback' => function( $false, $meta_key, $postID, $user_id, $cap, $caps )< // запретим создание и редактирование этого метаполя для всех кроме админа return current_user_can('manage_options'); >, 'show_in_rest' => false, ] );

В результате, если зайти на страницу редактирования записи и попробовать там создать метаполе bookname :

  • Если вы вошли как админ — метаполе создастся.
  • Если как редактор, автор и т.д. — вы не сможете создать метаполе.

За это отвечает параметр auth_callback

Далее, если в значении указать строку с HTML тегами, при обновлении они будут вырезаны.

За это отвечает параметр sanitize_callback

Параметры: type , description , single , show_in_rest в версии WP 4.6, носят только информационный характер. А с версии WP 5.0 используются в REST API. Например, если указать show_in_rest=true , то метаполе можно будет редактировать через REST API.

Остальные функции связанные с регистрацией метаполей:
  • registered_meta_key_exists()
  • unregister_meta_key()
  • get_registered_meta_keys()
  • get_registered_metadata()

Метаполя для свой таблицы

API метаполей позволяет создать свою таблицу метаполей для любой таблицы. Рассмотрим на примере.

Допустим у нас есть таблица my_books :

Создаем для нее таблицу метаданных my_bookmeta :

Для создания таблицы метаданных, нужно один раз запустить написанную нами функцию create_book_meta_table() . Код функции:

## register_activation_hook( __FILE__, 'create_book_meta_table'); ## Функция создания таблицы метаданных. Нужно запустить один раз. Можно повесить на register_activation_hook() function create_book_meta_table()< global $wpdb; $collate = ''; if ( ! empty($wpdb->charset) ) $collate ; if ( ! empty($wpdb->collate) ) $collate . ; /* * Indexes have a maximum size of 767 bytes. Historically, we haven't need to be concerned about that. * As of 4.2, however, we moved to utf8mb4, which uses 4 bytes per character. This means that an index which * used to have room for floor(767/3) = 255 characters, now only has room for floor(767/4) = 191 characters. */ $max_index_length = 191; $main_field = 'book_id'; // название главной колонки, должно выглядеть как: $meta_type . '_id' $table_name = 'my_bookmeta'; $wpdb->query( "CREATE TABLE $table_name ( meta_id bigint(20) unsigned NOT NULL auto_increment, $main_field bigint(20) unsigned NOT NULL default '0', meta_key varchar(255) default NULL, meta_value longtext, PRIMARY KEY (meta_id), KEY $main_field ($main_field), KEY meta_key (meta_key($max_index_length)) ) $collate;" ); >

Название главной колонки, должно выглядеть как: $meta_type . ‘_id’ . Так оно собирается в функциях: *_metadata() .

Зарегистрируем функции для работы с метаданными book :

function add_book_meta( $id, $meta_key, $meta_value, $unique = false ) < return add_metadata( 'book', $id, $meta_key, $meta_value, $unique ); >function delete_book_meta( $id, $meta_key, $meta_value = » ) < return delete_metadata( 'book', $id, $meta_key, $meta_value ); >function get_book_meta( $id, $meta_key = », $single = false ) < return get_metadata( 'book', $id, $meta_key, $single ); >function update_book_meta( $id, $meta_key, $meta_value, $prev_value = » )

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

// добавим данные в таблицу метаданных update_book_meta( 12, 'author_name', 'Циркон' ); // получим значение метаполя get_book_meta( 12, 'author_name', 1 ); //> Циркон // получим значения всех метполей get_book_meta( 12 ); //> вернет массив

Построение запроса с использованием метаданных

В WordPress очень удобно можно выбирать или сортировать строки основной таблицы, на основе параметров метаданных. Например, в WP_query() это делается через параметр meta_query .

Прикрутить такой же функционал к нашей таблице можно с помощью класса WP_Meta_Query<>. Напишу, для примера функцию получения книг, с возможностью выборки по метаданным:

// установим таблицы в $wpdb global $wpdb; $wpdb->books = "my_books"; $wpdb->bookmeta = "my_bookmeta"; ## Пример функции для получения книг, с возможностью выборки по метаданным function get_books( $args = array() ) < global $wpdb; $default = [ 'book_id' =>0, 'name' => '', 'content_search' => '', // понимаемые мета-параметры 'meta_key' => '', 'meta_value' => '', 'meta_value_num' => '', 'meta_compare' => '', 'meta_query' => array(), ]; $args = array_merge( $default, $args ); $WHERE = array(); $JOIN = $ORDER_BY = $LIMIT = ''; if( $args['book_id'] )< // 'my_books.' нужно потому что поле назвается одинаково у главной и у мета таблицы $WHERE[] = $wpdb->prepare('my_books.book_id = %d', $args['book_id'] ); > if( $args['name'] )< $WHERE[] = $wpdb->prepare('name = %s', $args['name'] ); > if( $args['content_search'] )< $WHERE[] = $wpdb->prepare('content LIKE %s', '%'. $wpdb->esc_like( $args['content_search'] ) .'%' ); > // мета запрос if( $args['meta_query'] || $args['meta_key'] )< $metaq = new WP_Meta_Query(); $metaq->parse_query_vars( $args ); // парсим возможные мета-параметры из параметров $args // первый параметр 'book' должен быть началом свойства $wpdb->bookmeta без суффика 'meta' // Т.е. мы указываем 'book' к нему добавляется 'meta' и свойство 'bookmeta' должно существовать в $wpdb // см. https://wp-kama.ru/function/_get_meta_table $mq_sql = $metaq->get_sql( 'book', $wpdb->books, 'book_id' ); $JOIN = $mq_sql['join']; // INNER JOIN my_bookmeta ON ( my_books.book_id = my_bookmeta.book_id ) $WHERE[] = $mq_sql['where']; // AND ( ( my_bookmeta.meta_key = 'author_name' AND my_bookmeta.meta_value = 'Циркон' ) ) > $WHERE = 'WHERE '. implode( ' AND ', $WHERE ); /* для сортировки по метаполям понадобится $metaq->get_clauses() Array( [metasort] => Array( [key] => author_name [value] => Циркон [compare] => = [alias] => my_bookmeta [cast] => CHAR ) ) пример смотрите в: https://wp-kama.ru/function/WP_Query::parse_orderby */ $ORDER_BY = 'ORDER BY name ASC'; $fields = '*'; if( isset($metaq) && $metaq->has_or_relation() ) $fields = "DISTINCT $fields"; $res = $wpdb->get_results( "SELECT $fields FROM $wpdb->books $JOIN $WHERE $ORDER_BY $LIMIT" ); return $res; >

Проверим функцию, сделаем запрос:

// запрос на получение книг $books = get_books([ 'meta_key' => 'author_name', 'meta_value' => 'Циркон', ]); // или так $books = get_books([ 'meta_query' =>[ 'metasort' => [ 'key' => 'author_name', 'value' => 'Циркон', ] ] ]); print_r( $books ); /* Получим: Array( [0] => stdClass Object( [book_id] => 12 [name] => Вишневый сад [content] => Содержание книги . [meta_id] => 2 [meta_key] => author_name [meta_value] => Циркон ) ) */

Повторюсь, теперь выборку по метаполям можно делать любой сложности, все что позволяет делать WP_Meta_Query<>, оно же meta_query в WP_Query.

Пример выборки посложнее:

$args = array( 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'author_name', 'value' => 'алекс', 'compare' => 'LIKE' ), array( 'key' => 'price', 'value' => array( 20, 100 ), 'type' => 'numeric', 'compare' => 'BETWEEN' ) ) ); $books = get_books( $args );

Производительность и метаданные

Запросы на основе meta_query открывают огромные возможности, но у этого всего есть обратная сторона — не самая лучшая производительность, особенно если составляются сложные запросы и обрабатывается большое количество данных.

Слабым звеном в метаданных является поле meta_value любой таблицы метаданных (например таблицы wp_postmeta ). У meta_value нет и не может быть индекса, потому что поле имеет тип LONGTEXT , чтобы можно было хранить в ней любые данные: числа, тексты любой длинны, сериализованные массивы и т.д. Также индексирование невозможно, потому что при построении запроса, например, сортировка по метаполю, где хранятся числа, значения превращаются из строк в числа функцией CAST() и только потом сортируются. Такой подход «убил» бы индекс, даже если бы он там был.

Из-за вышеописанных особенностей не всегда правильно использовать метаполя для хранения данных, по которым затем будет выборка или сортировка, хотя в большинстве случаев они подходят хорошо.

Всегда проверяйте запросы в реальных условиях, смотрите на время выполнения и то, как меняется это время от количества данных и параметров запроса. Если запросы стали медленными, то пришло время как-то их кэшировать или подключать внешнюю систему индексирования, например Sphinx или Elasticsearch.

Если ожидается хранить большие объемы данных, по которым нужна будет выборка и сортировка, то возможно стоит создавать специальную таблицу под такие данные. Под большими объемами данных я имею ввиду количество значений одного мета-ключа от 20000 и более. С таким объемом данных в метаполях запросы уже будут заметно тормозить и без кэширования (которое не всегда подходит) или других надстроек уже будет не обойтись.

Как включить произвольные поля в Gutenberg?

  • Создаем новые поля для комментариев WordPress
  • Kama_Post_Meta_Box: создаем метаполя для записей
  • Хук: (taxonomy)_edit_form_fields
  • Custom Fields vs. Custom Taxonomies, when to (not) use? (англ.)

Как правильно составить мета-теги Title и Description

Author: Анатолий Ситников

Метатеги (англ. meta tags) — (X)HTML-теги, предназначенные для предоставления структурированных метаданных о веб-странице. Как правило, указываются в заголовке (теге ) (X)HTML-документа.

Содержание страницы: «Как правильно составить мета-теги Title и Description»:

  • Купить написание мета-тегов и составление сем. ядра
  • Что такое мета теги
  • Что такое мета тег Title
  • Требования к написанию Title
  • Что такое мета тег Description
  • Требования к написанию Description
  • Пример написания мета тегов №1
  • Пример написания мета тегов №2
  • Пример написания мета тегов №3
  • Выводы

Внимание! Далее будет инструкция как написать мета-теги, но этого не достаточно, для написания нужно иметь семантическое ядро сайта. Купить семантическое ядро (подбор и распределение ключевых слов) и написание мета-тегов можно у SEO специалистов Site Ok:

Семантическое ядро и написание мета-тегов M

Цена за 1 страницу: $4.99

Подберем ключевые слова для страниц категорий или страниц услуг: 50 страниц

Пишем мета-теги: да

Подберем фраз: ~1000

Делаем правильную структуру страниц: да

ТЗ для SEO текстов: да

Семантическое ядро и написание мета-тегов L

Цена за 1 страницу: $3.99

Подберем ключевые слова для страниц категорий или страниц услуг: 100 страниц

Пишем мета-теги: да

Подберем фраз: ~2000

Делаем правильную структуру страниц: да

ТЗ для SEO текстов: да

Семантическое ядро и написание мета-тегов XL

Цена за 1 страницу: $2.99

Подберем ключевые слова для страниц категорий или страниц услуг: 200 страниц

Пишем мета-теги: да

Подберем фраз: ~4000

Делаем правильную структуру страниц: да

ТЗ для SEO текстов: да

Данная статья будет полезной в случае, если Вы задавали в Google следующие вопросы:

— Что такое мета тег Title;

— Что такое мета тег Description;

— Как правильно ставить мета теги для страниц;

— Как правильно прописать тайтл;

— Как правильно написать мета-теги;

— Как составить мета-описание и мета-заголовок;

— Что такое мета теги;

— Сколько символов использовать в title;

— Какой длины должен быть title;

— Какой длины должен быть description.

Что такое мета теги

Мета теги — (англ. meta tags) — HTML-теги страницы, необходимы для предоставления структурированных мета данных элетронного документа — страницы сайта. Обычно, указываются в заголовке (теге ). Используются поисковыми системами для определения информации на страницы для учета этих данных при ранжировании в поиске.

Вот так мета-теги выглядят в коде страницы:

Что такое мета тег Title

Мета тег Title — это заголовок страницы в браузере, который отображается в выдаче поисковых систем. Мета тег Тайтл учитывается поисковой системой при ранжирование сайтов, считается основным показателем определения релевантности страницы к поисковым запросам.

Вот так он выглядит в поисковой выдаче:

Требования к написанию мета-тегов title:

  • Title на странице в коде должен быть указан в обязательном порядке;
  • Оптимальный размер заголовка title должен быть от 60-ти до 70-ти знаков;
  • Писать название сайта в title не обязательно, так как поисковые системы учитывают название домена;
  • В тайтле должны содержаться поисковые запросы релевантные по отношению к содержанию страницы;
  • Высокочастотные запросы необходимо прописывать вначале заголовка;
  • В коде страницы title должен быть размещен в разделе HEAD;
  • Недопустимо повторение одного и того же мета тега title на двух разных страницах;
  • Не рекомендуется использовать более 1 раза одно и тоже слово.

Что такое мета тег Description

Мета тег description — краткое описание страницы сайта в браузере, которое отображается под мета-тегом title в выдаче поисковых систем, но на странице сайта он не виден посетителям.

Учитывается поисковыми машинами для определения содержания страницы с целью использования алгоритмом в распределении сайтов в результатах поиска. В коде страницы расположен между тегами .

Вот так выглядит в поисковой системе Google:

Требования к написанию мета тега description:

  • Длина мета тега description не должна превышать 300 знаков, оптимальный размер 160-290 символов;
  • Правильный мета тег дескрипшн должен содержать ключевые слова, которые относятся к этой странице;
  • Высокочастотные ключевые запросы располагайте вначале, избегайте повторов одного и того же слова;
  • Описание description должно быть составлено в виде продающего и краткого объявления, которое передаст пользователю смысловую нагрузку страницы;
  • На каждой странице сайта мета тег description должен быть уникальным, не допускается его повторение на других страницах сайта;
  • Мета теги title и description должны отличаться друг от друга;
  • Используйте призывы к действию, а также покажите ваши преимущества и умолчите о недостатках.

Как составлять правильно мета-теги title и decription

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

И так, представим, что у нас есть ключевые слова для всех страниц сайта.

Пример №1. Title и Decription страницы сайта услуг по ремонту телефонов в Киеве

Список ключевых слов для этой страницы:

ремонт телефона киев

ремонт телефона цены

ремонт телефонов заказать

ремонт телефонов недорого

услуги ремонт телефона

ремонт телефонов с гарантией

ремонт телефонов позняки

ремонт телефона левый берег

Результат — мета тег Title:

Ремонт телефонов — заказать ремонт телефона недорого | Киев | Цены

Примечание. Слово «Позняки» в title нужно использовать в случае, если у Вас есть пункт приему телефонов на позняках.

В идеале, под каждый район можно создать посадочную целевую страницу и прописать для нее мета-тег title. Пишите в title только релевантные содержанию страницы слова.

Результат — мета тег Description:

Заказать ремонт телефонов с гарантией по лучшей цене в Киеве можно у нас. Заберем, починим, привезем. Недорого с гарантией 90 дней. Скидки, если приведете друга. Жмите прямо сейчас!

Примечание. В description нужно использовать запросы, которые не влезли в title и обязательно необходимо продублировать слова из главный поисковых фраз.

Напишите призыв к действию в конце — жмите, смотрите прямо сейчас, заказывайте, перейдите и так далее.

Пример №2. Title и Decription страницы сайта по продаже диванов

Ключевые слова для этой страницы:

купить диван интернет магазин

диваны от фабрики

лучшие диваны интернет магазин

Результат — мета тег Title:

Диваны — купить диван в интернет магазине | Лучшие Цены | Фабрика в Киеве

Результат — мета тег Description:

Купить и заказать диван в интернет магазине от фабрики по самой низкой цене можете здесь. Доставим бесплатно. Цена производителя. Все в наличии на складе. Делаем и на заказ. Гарантия. Заходи — выбирай!

Пример №3. Title и Decription страницы сайта по услуг похудению

Поисковые фразы для этой страницы:

услуги диетолога заказать

Результат — мета тег Title:

Диетолог — хороший врач в Киеве | Не знаете как похудеть? | Услуги и Цены

Результат — мета тег Description:

Хороший диетолог поможет быстро похудеть и сбросить лишний вес. У нас лучшие цены. Опытный врач диетолог Шляпа Сергей Иванович. Сертификаты. Гарантия результата. Заказать красивое тело в 2 клика — жмите!

Выводы:

  • Чтобы написать и правильно составить title и description необходимо иметь релевантный список ключевых слов;
  • Длина title — 60-70 символов, description — 160-290 символов;
  • Мета-теги должны быть уникальными для каждой страницы сайта;
  • В мета-тегах необходимо писать слова относящихся к данной странице сайта;
  • Составить их правильно — проще простого, если Вы прочитали эту статью.

Статья оказалась полезной?

Будем благодарны за лайки и репосты — расскажите друзьям чему Вы научились! (кнопки соц сетей снизу страницы).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *