Verification: a143cc29221c9be0

No comments on wordpress posts with

No comments on wordpress posts with

Как это работает

В основе работы класса WP_Embed{} лежит класс WP_oEmbed{} - именно он содержит список зарегистрированных oEmbed провайдеров и он занимается запросом (получением), обработкой Discovery ссылки в head части HTML.

На очень ранней стадии еще до хука mu_plugin_loaded инициализируется класс WP_Embed:

$GLOBALS['wp_embed'] = new WP_Embed();

В конструкторе WP_Embed::__construct() создаются следующие хуки:

function __construct() {

	// Hack to get the [embed] shortcode to run before wpautop().
	add_filter( 'the_content', array( $this, 'run_shortcode' ), 8 );
	add_filter( 'widget_text_content', array( $this, 'run_shortcode' ), 8 );

	// Shortcode placeholder for strip_shortcodes().
	add_shortcode( 'embed', '__return_false' );

	// Attempts to embed all URLs in a post.
	add_filter( 'the_content', array( $this, 'autoembed' ), 8 );
	add_filter( 'widget_text_content', array( $this, 'autoembed' ), 8 );

	// After a post is saved, cache oEmbed items via Ajax.
	add_action( 'edit_form_advanced', array( $this, 'maybe_run_ajax_cache' ) );
	add_action( 'edit_page_form', array( $this, 'maybe_run_ajax_cache' ) );
}
меню

Обработка oEmbed URL на фронте

Контент записи или виджета text проверяется на наличие шоткода [embed] или на наличие URL на отдельной строке. Для этого, как видно из кода выше, на хуке the_content запускаются два метода:

  1. WP_Embed::run_shortcode( $post_content ) — обрабатывает шоткод [embed].
  2. WP_Embed::autoembed( $post_content ) — обрабатывает URL (на отдельной строке), как шорткод [embed].

    Далее каждый найденный URL (на отдельной строке или в шорткоде) передается в метод WP_Embed::shortcode( $attr, $url ). Далее:

    1. Проверяется внутренний обработчик | Embed

      URL передается в метод WP_Embed::get_embed_handler_html( $rawattr, $url ). Этот метод проверяет переданный URL, на внутренние обработчики, которые регистрируются функцией wp_embed_register_handler().

      1. Если обработчик найден, то URL передается в функцию-обработчик и результат возвращается. Работа метода WP_Embed::shortcode() на этом прекращается.
      2. Если обработчик не найден, то WP_Embed::shortcode() продолжает проверку oEmbed (внешних) обработчиков.
    2. Проверяется внешний обработчик | oEmbed

      1. Если для URL есть кэш, то парсинг прерывается - результат берется из кэша.
      2. Если кэша нет, то URL передается в функцию wp_oembed_get( $url, $attr ), затем в метод WP_oEmbed::get_provider(), далее с этим URL сравниваются все зарегистрированные провайдеры (WP_oEmbed::$providers) и если есть совпадение, делается запрос чтобы получить oEmbed вставку с другого сайта (за этот запрос отвечает класс WP_oEmbed). В конце, неважно какой результат, обработка URL кэшируется.

        При таком варианте кэш создается только при первом запросе (когда его нет) и он не обновляется. Обновление кэша происходит только при обновлении записи в админке.

меню

Обработка oEmbed URL в админке

Также oEmbed кэш создается и (важно) обновляется при обновлении записи на странице редактирования записи в админке. Делается это AJAX запросом. Создается такой AJAX запрос только в момент обновления записи в адмнике - см. WP_Embed::maybe_run_ajax_cache().

  • wp_ajax_oembed_cache()
    • WP_Embed::cache_oembed( $post_id )
      • Далее, обработка идет по описанный выше схеме, контент поста передается в методы: WP_Embed::run_shortcode( $post_content ) и WP_Embed::autoembed( $post_content ).
        • WP_Embed::shortcode( $attr, $url ).
          • и т.д.

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

Блочный редактор

При вставке ссылки в блочный редактор срабатывает js событие, отправляющее ajax запрос методом GET на роут домен/wp-json/oembed/1.0/proxy, который регистрирует метод WP_oEmbed_Controller::register_routes(). Пример отправляемых данных:

url: https://oddstyle.ru/instrukciya-po-rabote-s-wordpress-rukovodstvo-dlya-novichkov
_locale: user

Ответ генерирует метод WP_oEmbed_Controller::get_proxy_item():

{
	"version":"1.0",
	"provider_name":"Блог про WordPress",
	"provider_url":"https://oddstyle.ru",
	"author_name":"Дмитрий",
	"author_url":"https://oddstyle.ru/author/admin",
	"title":"Инструкция по работе с WordPress. Руководство для новичков",
	"type":"rich",
	"width":600,
	"height":338,
	"html":"
		
Инструкция по работе с WordPress. Руководство для новичков
" }

Данные кешируются в таблицу *_options.

Визуальный редактор

При использовании визуального редактора при вставки ссылки срабатывает JS событие, запускающее ajax запрос методом post на файл admin-ajax.php, где на хуке wp_ajax_parse_embed отрабатывает одноимённая функция wp_ajax_parse_embed().

Пример отправляемых данных:

post_ID: 31
type: embed
shortcode: [embed]https://oddstyle.ru/instrukciya-po-rabote-s-wordpress-rukovodstvo-dlya-novichkov[/embed]
maxwidth: 549
action: parse-embed

Содержимое поля shortcode передаётся в WP_Embed::run_shortcode(). Что происходит дальше читайте выше в секции "Как это работает".

Пример возвращаемых данных:

{
	"success":true,
	"data":{
		"body":"
			
Инструкция по работе с WordPress. Руководство для новичков
", "attr":{ "width":549, "height":824 }, "head":"", "sandbox":true } }

Данные кешируются в таблицу wp_postmeta или wp_posts.

меню

Кэширование oEmbed запроса

Для кэширования запросов могут быть использованы метаполя записи (поста) или таблица wp_posts.

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

Если текущий записи нет, то кэш будет сохраняться в таблицу wp_posts под типом записи oembed_cache.

Кэш актуален 1 день (86400 секунд). Это значение можно изменить через хук oembed_ttl.

ВАЖНО! Проверка времени жизни и обновление кэша происходит только при обновлении записи со страницы редактирования записи в админке. С фронта кэш не обновляется. Запуск обновления кэша в админке инициализируют эти хуки:

add_action( 'edit_form_advanced', array( $this, 'maybe_run_ajax_cache' ) );
add_action( 'edit_page_form', array( $this, 'maybe_run_ajax_cache' ) );
меню

oEmbed Безопасность

Встраивание чужого кода на свой сайт открывает возможность XSS атаки. Так, например, полученный код может содержать хакерский код, который может получить куки вашего сайта да и вообще, может делать кучу всего.

Чтобы обезопасить себя от подобного рода дыр в безопасности, WordPress выводит встраивание в теге . А также очищает полученный код iframe от нежелательных атрибутов. В частности код встраивания допускает следующие HTML теги, которые проверяются функцией wp_kses():

$allowed_html = array(
	'a'          => array(
		'href' => true,
	),
	'blockquote' => array(),
	'iframe'     => array(
		'src'          => true,
		'width'        => true,
		'height'       => true,
		'frameborder'  => true,
		'marginwidth'  => true,
		'marginheight' => true,
		'scrolling'    => true,
		'title'        => true,
	),
);

$html = wp_kses( $html, $allowed_html );

Как мы видим код встраивания может содержать только три тега и ограниченное число параметров для этих тегов.

Смотрите код функции wp_filter_oembed_result(), которая по умолчанию повешена на хук oembed_dataparse и применяется абсолютно ко всем полученным кодам для встраивания.

меню

WordPress как поставщик oEmbed

C версии 4.4. WordPress сам стал поставщиком/провайдером oEmbed формата. Теперь, записи одного сайта WP можно встроить в другой сайт.

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

  1. Добавить URL на отдельную строку.
  2. Вставить URL в шоткод [embed]. Например [embed]http://dom.com/adress[/embed].

WordPress автоматически обработает указанный URL (определит является ли тот oEmbed провайдером), встроит данные и создаст кэш запроса, чтобы не делать этот запрос каждый раз при загрузке страницы.

Встраивания представляют из себя краткую версию страницы. Например если добавить /embed в конец URL любой записи, то мы попадем на страницу встраивания (которая должна появится на другом сайте при встраивании). Вот пример такой страницы: https://wp-kama.ru/handbook/codex/oembed/embed.

Пример того, как выглядит встраивание:

oEmbed
меню

Как изменить HTML код встраивания?

Для этого нужно создать в теме файл (/id_7654/ierarhiya-fajlov-temy-shablona.html#embeds)

Если такого файла в теме нет, то за код встраивания отвечают файлы:

  • wp-includes/theme-compat/embed.php
    • wp-includes/theme-compat/header-embed.php
    • wp-includes/theme-compat/footer-embed.php
    • wp-includes/theme-compat/embed-content.php
    • wp-includes/theme-compat/embed-404.php

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

меню

oEmbed Функции и Хуки

Функции

  • get_post_embed_url() — Получает URL, который нужно использовать в iframe для встраивания указанной записи на другом сайте (oEmbed формат).
  • get_post_embed_html() — Получает готовый HTML код oEmbed встраивания указанной записи. Предполагается использовать этот код для встраивания записи на другом ресурсе.
  • is_embed() — Проверят является ли запрос запросом на страницу встраивания записи (embed).
  • wp_embed_register_handler() — Регистрирует Embed обработчик. Это обработчик, который превращает ссылку в контенте в HTML код.
  • wp_oembed_get() — Встраивает объект по УРЛ. Пытается получить HTML код из переданного УРЛ на основе поддерживаемых oEmbed WordPress.
  • wp_oembed_add_provider() — Добавляет oEmbed провайдера. Это URL который будет парсится в контенте для вывода HTML кода с другого сайта.
  • wp_oembed_remove_provider() — Removes an oEmbed provider.

См. Полный список Embed функций.

Хуки

Список важных хуков.

  • embed_cache_oembed_types - позволяет изменить типы записей для которых нужно обрабатывать oembed ссылки (шоткоды).
  • oembed_ttl — позволяет изменить TTL (time to live) время жизни кэша.
  • embed_oembed_html — позволяет изменить уже закэшированный HTML.
  • oembed_dataparse — Позволяет изменить контент (HTML) создаваемый при встраивании URL, поддерживаемых oEmbed.
  • embed_oembed_discover — Позволяет указать нужно ли переходить по URL и искать тег встраивания на удаленном сайте.

См. Полный список хуков.

меню

Поддерживаемые провайдеры

Ниже список oEmbed провайдеров, которых WordPress поддерживает из коробки. Дополнительные провайдеры можно добавить в этот список с помощью функции wp_oembed_add_provider().

Provider Flavor Since
Dailymotion dailymotion.com 2.9.0
Flickr flickr.com 2.9.0
Scribd scribd.com 2.9.0
Vimeo vimeo.com 2.9.0
WordPress.tv wordpress.tv 2.9.0
YouTube youtube.com/watch 2.9.0
Crowdsignal polldaddy.com 3.0.0
SmugMug smugmug.com 3.0.0
YouTube youtu.be 3.0.0
Twitter twitter.com 3.4.0
Instagram instagram.com 3.5.0
Instagram instagr.am 3.5.0
Slideshare slideshare.net 3.5.0
SoundCloud soundcloud.com 3.5.0
Dailymotion dai.ly 3.6.0
Flickr flic.kr 3.6.0
Spotify spotify.com 3.6.0
Imgur imgur.com 3.9.0
Meetup.com meetup.com 3.9.0
Meetup.com meetu.ps 3.9.0
Animoto animoto.com 4.0.0
Animoto video214.com 4.0.0
Issuu issuu.com 4.0.0
Mixcloud mixcloud.com 4.0.0
Crowdsignal poll.fm 4.0.0
TED ted.com 4.0.0
YouTube youtube.com/playlist 4.0.0
Tumblr tumblr.com 4.2.0
Kickstarter kickstarter.com 4.2.0
Kickstarter kck.st 4.2.0
Cloudup cloudup.com 4.3.0
ReverbNation reverbnation.com 4.4.0
VideoPress videopress.com 4.4.0
Reddit reddit.com 4.4.0
Speaker Deck speakerdeck.com 4.4.0
Twitter twitter.com/timelines 4.5.0
Twitter twitter.com/moments 4.5.0
Facebook facebook.com 4.7.0
Twitter twitter.com/user 4.7.0
Twitter twitter.com/likes 4.7.0
Twitter twitter.com/lists 4.7.0
Screencast screencast.com 4.8.0
Amazon amazon.com (com.mx, com.br, ca) 4.9.0
Amazon amazon.de (fr, it, es, in, nl, ru, co.uk) 4.9.0
Amazon amazon.co.jp (com.au) 4.9.0
Amazon amazon.cn 4.9.0
Amazon a.co 4.9.0
Amazon amzn.to (eu, in, asia) 4.9.0
Amazon z.cn 4.9.0
Someecards someecards.com 4.9.0
Someecards some.ly 4.9.0
Crowdsignal survey.fm 5.1.0
Instagram TV instagram.com 5.1.0
Instagram TV instagr.am 5.1.0
TikTok tiktok.com 5.4.0
меню

Удаление просроченного oEmbed Кэша

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

/**
 * Remove expired oEmbed Cache.
 *
 * @param int $ttl The cache lifetime in seconds.
 *
 */
function kama_delete_expired_oembed_cache( $ttl = MONTH_IN_SECONDS ){
	global $wpdb;

	// META
	$query_data = $wpdb->get_results(
		"SELECT * FROM $wpdb->postmeta WHERE meta_key LIKE '_oembed_time_%' ORDER BY meta_value+0 DESC"
	);

	$res = [];
	foreach( $query_data as $data ){

		$post = get_post( $data->post_id );
		$info = date( 'd-m-Y', $data->meta_value ) ." - $post->ID: $post->post_title";

		if( time() > $data->meta_value + $ttl ){

			$oembed_meta_key = str_replace( '_oembed_time_', '_oembed_', $data->meta_key );

			delete_post_meta( $data->post_id, $data->meta_key );
			delete_post_meta( $data->post_id, $oembed_meta_key );

			$res['DELETED'][] = $info;
		}
		else {
			$res['NOT DELETED'][] = $info;
		}

	}

	// POSTS
	$min_allowed_date = date( 'Y-m-d H:i:59', time() - $ttl );

	$posts = $wpdb->get_results(
		"SELECT * FROM $wpdb->posts WHERE post_type = 'oembed_cache' AND post_modified_gmt post_modified_gmt;

		wp_delete_post( $post->ID, 'force_delete' );
	}

	return $res;

}

$res = kama_delete_expired_oembed_cache();
print_r( $res );
меню

Внутренний embed обработчик (с кэшированием)

Для начала замечу, что это хак - WP на такое не рассчитан. Но благодаря хукам, можно это сделать.

Для этого используем хук pre_oembed_result из метода WP_oEmbed::get_html():

// ...
$pre = apply_filters( 'pre_oembed_result', null, $url, $args );

if ( null !== $pre ) {
	return $pre;
}
// ...

Нужно зарегистрировать внутренний обработчик через функцию wp_embed_register_handler(). Но в функции обработчике вернуть false и перенести функцию обработчик в упомянутый хук pre_oembed_result.

Т.е. код будет примерно такой:

add_action( 'init', 'myembed_provider_register' );
add_filter( 'pre_oembed_result', 'myembed_provider_handler', 10, 3 );

function myembed_provider_register(){
	wp_embed_register_handler(
		'myembed',
		'~https://foo\.bar\.com/(\w+)~i',
		'__return_false'
	);
}

function myembed_provider_handler( $null, $url, $args ){

	$html = '{{unknown}}';

	// обрабатываем $url делаем HTTP запрос. См. WP HTTP API

	// Возвращаем iframe или HTML код

	return $html;
}
меню

oEmbed для произвольного текста

Если нам нужно обработать шорткод [embed] или авто-встраивание ссылки в тексте. То этот текст нужно будет обработать отдельно. Базовая обработка с помощью функций do_shortcodes() или apply_shortcodes() oEmbed не включает. И по умолчанию такая обработка делается только для хука the_content.

Соответственно у нас есть 2 варианта:

Вариант 1

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

$text = '
Some text to check custom shortcode adding.

[embed]https://my-youtube.com/watch?v=lWzMBLoLIAc[/embed]

https://my-youtube.com/watch?v=uDQwKtkXV-0
';

$text = apply_filters( 'the_content', $text );

echo $text;

Вариант 2

Точечный подход: делаем с текстом только то что нам нужно:

$text = '
Some text to check custom shortcode adding.

[embed]https://my-youtube.com/watch?v=lWzMBLoLIAc[/embed]

https://my-youtube.com/watch?v=uDQwKtkXV-0
';

$text = $GLOBALS['wp_embed']->run_shortcode( $text ); //  shortcode
$text = $GLOBALS['wp_embed']->autoembed( $text );     // oEmbed URLs

//$text = apply_shortcodes( $text );

$text = wpautop( $text );

echo $text;
меню

oEmbed в комментариях WordPress

Код ниже позволяет использовать oEmbed в комментариях WordPress.

GitHub

autoembed( $comment_text );

		/* ...but don't break your posts if you use it */
		remove_filter( 'embed_oembed_discover', '__return_false', 999 );

		return $comment_text;
	}

}

add_action( 'init', array( 'oEmbed_Comments', 'add_filter' ) );

Правка для работы с AJAX:

/**
 * Class oEmbed_Comments
 * @package RusDTP
 *
 * @see     https://gist.github.com/sheabunge/6018753
 */
class oEmbed_Comments {

	public function __construct() {
		add_action( 'init', [ $this, 'add_filter' ] );
	}

	/**
	 * Setup filter with correct priority to do oEmbed in comments
	 */
	public function add_filter() {
		global $pagenow;

		$access_page = [ 'index.php', 'admin-ajax.php' ];

		if ( ! in_array( $pagenow, $access_page ) ) {
			return;
		}

		/* make_clickable breaks oEmbed regex, make sure we go earlier */
		remove_filter( 'comment_text', 'make_clickable', 9 );
		add_filter( 'comment_text', 'make_clickable', 12 );

		add_filter( 'comment_text', [ $this, 'oembed_filter' ], 11 );
	}

	/**
	 * Safely add oEmbed media to a comment
	 *
	 * @param string $comment_text The current comment test
	 *
	 * @return string               The modified comment text
	 * @since  1.0
	 */
	public function oembed_filter( $comment_text ) {
		global $wp_embed;

		/* Automatic discovery would be a security risk, safety first */
		add_filter( 'embed_oembed_discover', '__return_false', 999 );
		$comment_text = $wp_embed->autoembed( $comment_text );

		/* ...but don't break your posts if you use it */
		remove_filter( 'embed_oembed_discover', '__return_false', 999 );

		return $comment_text;
	}

}

new oEmbed_Comments();
меню

ТОП бесплатных плагинов

HubSpot

Стоимость плагина HubSpot — бесплатный.

Плагин All-in-One Marketing от HubSpot позволяет подключить сайт на WordPress к бесплатной CRM от HubSpot, в рамках которой вы можете отслеживать и вести лидов по воронке продаж.

Кроме этого, плагин предлагает конструктор форм и всплывающих окон с интуитивно понятным интерфейсом, которые помогают собирать информацию о посетителях сайта. HubSpot собирает данные из любых форм, которые есть на вашем сайте (даже если вы создали их с помощью бесплатных плагинов Forminator или Hustle).

Плагин автоматически добавляет новых лидов в CRM. Вы можете сегментировать базу контактов и создавать персонализированные рассылки. Благодаря встроенной аналитике реально отслеживать общий показатель успешности email-рассылок и видеть, как каждый получатель взаимодействовал с вашими кампаниями.

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

Настройте автоматическую отправку письма после отправления данных через форму, всплывающее окно или чат, чтобы связаться с лидом и поделиться контентом.

Подробнее: HubSpot

WooCommerce

Когда мы говорим о лучших плагинах для WordPress, то нельзя не упомянуть WooCommerce. Плагин бесплатный на сайте разработчика. К нему отдельно можно приобрести расширения.

WooCommerce — это плагин для создания интернет-магазинов на базе WordPress. Отличается простыми настройками. К нему легко “прикручивать” различные дополнения, а с ними получать новые возможности.

Что функций, от WooCommerce можно ожидать:

  • Хорошая система управления контентом;
  • Более 400 расширений для улучшения внешнего вида и функциональности интернет-магазина;
  • Управления заказами, от осуществления до доставки;
  • Настройка дизайна магазина;
  • Cортировка и фильтрация товаров и многое другое.

Это одна из самых популярных систем для онлайн-торговли.

Подробнее: WooCommerce

W3 Total Cache

W3 Total Cache - web performance optimization plugin for WordPress.

Стоимость плагина W3 Total Cache — бесплатный.

W3 Total Cache увеличивает скорость загрузки страниц сайтов на WordPress с помощью кэширования, что влияет на пользовательский опыт и ранжирование в поисковых системах.

Подробнее: W3 Total Cache

SEO-продвижение и оптимизация сайта. Привлекайте больше посетителей на сайт в помощью SEO.

Akismet

Akismet - a comment spam prevention plugin for WordPress.

Стоимость плагина Akismet — бесплатный.

Akismet защищает сайты на WordPress от спама в комментариях.

Плагин помогает отфильтровать любые комментарии в блоге, похожие на спам. Он автоматически проверяет комментарии с помощью веб-службы Akismet Web service. У всех комментариев есть история — в ней показывается, какие из них были отмечены или удалены плагином.

Подробнее: Akismet

Beehive

Beehive - Google Analytics dashboard for WordPress

Стоимость плагина Beehive — бесплатный.

Beehive предоставляет доступ к данным из отчетов Google Analytics на панели инструментов WordPress.

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

Подробнее: Beehive

Google XML Sitemaps

Google XML Sitemaps - WordPress sitemap generator plugin.

Стоимость плагина Google XML Sitemaps — бесплатный.

Google XML Sitemaps автоматически создает XML-карту вашего сайта.

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

Благодаря плагину поисковые системы, такие как Google, Bing и Yahoo, будут получать уведомления каждый раз, когда вы вносите изменения в сайт.

Подробнее: Google XML Sitemaps

iThemes Security

iThemes Security - A security plugin for WordPress.

Стоимость плагина iThemes Security — бесплатный.

Многие администраторы сайтов на WordPress даже не знают, что у сайта есть проблемы. iThemes Security помогает обнаружить и исправить «дыры» в безопасности, а также уберечь вас от потенциальных хакерских атак.

Подробнее: iThemes Security

Forminator

Forminator - Free form, polls, and quizzes plugin for WordPress.

Стоимость плагина Forminator — бесплатный.

Forminator — это бесплатный плагин WordPress, который позволяет создавать формы, опросы и викторины на сайте.

Forminator бесплатно предоставляет ценные функции, которые помогают экономить время и деньги:

  • Интеграция с другими приложениями, такими как Zapier, Google Sheets и приложениями для email-маркетинга;

  • Интеграция с популярными платежными системами, такими как Stripe;

  • Динамические формы;

  • Расчеты.

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

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

Подробнее: Forminator

Branda

Branda - White Label WordPress Plugin

Стоимость плагина Branda — бесплатный.

Branda позволяет легко адаптировать и брендировать сайт на WordPress.

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

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

Подробнее: Branda

Yet Another Related Posts Plugin

Yet Another Related Posts Plugin for WordPress

Стоимость плагина Yet Another Related Posts Plugin — бесплатный.

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

Email-маркетинг для интернет-магазина деликатесов в США

Подробнее: Yet Another Related Posts Plugin

WP Super Cache

WP Super Cache — бесплатный плагин для ускорения сайта WordPress.

Принцип работы данного плагина прост: он создаёт статичные файлы формата html и php, то есть копии WordPress, и сохраняет их в кеш: /wp-content/cache/supercache/.

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

Подробнее: WP Super Cache

Contact Form 7

Contact Form 7 - WordPress Contact Form PluginContact Form 7 — это бесплатный плагин для создания контактной формы WordPress.

Contact Form 7 позволяет легко добавлять контактные формы на сайт с помощью шорткодов.

Благодаря этому плагину вы можете создавать и управлять несколькими контактными формами. Их легко настроить, и вам не придется работать с кодом.

Подробнее: Contact Form 7

Duplicator

Duplicator - Migrations and backups plugin for WordPress.

Стоимость плагина Duplicator — бесплатный.

Вам когда-нибудь приходилось делать резервную копию или перемещать весь сайт на WordPress из одного места в другое? Плагин Duplicator поможет дублировать, создавать резервные копии и перемещать сайт.

Duplicator — отличная утилита для администраторов, которым нужно регулярно делать резервное копирование сайтов.

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

Подробнее: Duplicator

Broken Link Checker

Broken Link Checker - A plugin for identifying broken links on WordPress sites.

Стоимость плагина Broken Link Checker — бесплатный.

Broken Link Checker сканирует сайт, чтобы помочь выявить неработающие ссылки и отсутствующие изображения.

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

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

Подробнее: Broken Link Checker

Disable Comments

Disable Comments - A plugin for disabling comments site-wide in WordPress.

Стоимость плагина Disable Comments — бесплатный.

Не хотите, чтобы пользователи комментировали ваши публикации? Используйте плагин Disable Comments, чтобы запретить комментирование.

Плагин Disable Comments позволяет администраторам полностью контролировать комментарии на своем сайте. Этот плагин отлично подходит, если вы хотите отключить комментарии к определенным типам публикаций или на всем сайте.

Подробнее: Disable Comments

Easy Updates Manager

Easy Updates Manager - WordPress update management plugin.

Стоимость плагина Easy Updates Manager — бесплатный.

Easy Updates Manager позволяет управлять всеми обновлениями WordPress для одного или нескольких сайтов.

В плагине много функций и ими легко пользоваться.

Можно автоматически обновлять версии WordPress, плагины и многое другое.

Подробности: Easy Updates Manager

Redirection

Redirection - Link redirection manager for WordPress.

Стоимость плагина Redirection — бесплатный.

Установите плагин редиректа WordPress Redirection, чтобы уменьшить количество посетителей, попадающих на страницы с ошибками.

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

Вы можете настроить перенаправление с любых страниц сайта на обновленные URL или на другие ресурсы.

Подробности: Redirection

TablePress

TablePress - Table creation plugin for WordPress.

TablePress — это бесплатный плагин таблиц WordPress, который помогает создавать любые таблицы.

Их легко встраивать в публикации, статьи и страницы с помощью шорткодов. Контент можно добавлять непосредственно в таблицу и не тратить время на работу с кодом.

Таблицы могут содержать данные любого типа, включая формулы. Среди дополнительных функций TablePress есть сортировка, разбивка на страницы и фильтрация. Таблицы также можно импортировать и/или экспортировать из/в Excel, CSV, HTML и JSON форматы.

Подробности: TablePress

Photo Gallery

Photo Gallery - A WordPress plugin for creating beautiful and mobile-friendly galleries in minutes.

Стоимость плагина Photo Gallery — бесплатный.

Photo Gallery поможет быстро и легко создавать красивые и адаптивные галереи для мобильных устройств.

Фотогалереи и альбомы можно добавить в публикации и страницы, а также в виджеты вордпресс.

Плагин упрощает переименование, загрузку, удаление и копирование изображений. С помощью инструмента можно добавлять описания изображений и теги.

Детали: Photo Gallery

All In One Schema.org Rich Snippets

All In One Schema.org Rich Snippets - A WordPress plugin for adding search indexable rich snippets.

Стоимость плагина All In One Schema.org Rich Snippets — бесплатный.

All In One Schema.org Rich Snippets создает расширенные сниппеты для сайта, которые помогут вам выделиться среди конкурентов.

Подробности: All In One Schema.org Rich Snippets

Advanced Editor Tools (старое название TinyMCE Advanced)

Стоимость плагина Advanced Editor Tools — бесплатно. В базовой версии можно скачать с репозитория WordPress.

Advanced Editor Tools — это мощный и удобный расширенный визуальный редактор, отличающийся стабильностью. С его помощью к стандартному редактору можно добавить дополнительные кнопки для форматирования текста, а также удалить лишние и упорядочить существующие.

Среди его функций:

  • изменение семейства шрифтов;

  • изменение размера шрифтов;

  • изменение фона и цвета текста;

  • создание и редактирование таблиц;

  • дополнительные возможности при вставке списков;

  • функция поиска и замены и т.д.

Подробнее: Advanced Editor Tools

Optimize Database

Optimize Database after Deleting Revisions - WordPress database optimization plugin.

Стоимость плагина Optimize Database — бесплатный.

Optimize Database after Deleting Revisions помогает оптимизировать базы данных.

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

Бесплатный плагин Optimize Database очищает базу данных от «мусора». Вы можете вручную выбрать то, что хотите удалить, чтобы случайно не удалить нужные элементы.

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

Подробнее: Optimize Database after Deleting Revisions