<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wordpress</title>
	<atom:link href="https://consultapp.ru/category/stati/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Веб-разработка, сопровождение информационных систем</description>
	<lastBuildDate>Mon, 11 Dec 2023 07:25:19 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>Переработка темы Themelia c PHP на React, для работы с WordPress в качестве Headless CMS без SSR</title>
		<link>https://consultapp.ru/themelia-php-to-react-wordpress-headless-cms-no-ssr/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Tue, 06 Jun 2023 09:56:52 +0000</pubDate>
				<category><![CDATA[React JS]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Статьи]]></category>
		<guid isPermaLink="false">https://consultapp.ru/?p=1656</guid>

					<description><![CDATA[<p>Переработка темы WordPress с PHP на Vite.js/React без SSR для использования WP, как Headless CMS, с помощью наивного REST API WordPress . Использован Redux для хранения ранее загруженной информации для избежания повторных обращений к серверу. Технологии/Пакеты: REST API WordPress Существует много готовых эндпоинтов в Rest Api WP, нас интересуют на данном этапе посты, страницы и&#8230;</p>
<p>Сообщение <a href="https://consultapp.ru/themelia-php-to-react-wordpress-headless-cms-no-ssr/">Переработка темы Themelia c PHP на React, для работы с WordPress в качестве Headless CMS без SSR</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Переработка темы WordPress с PHP на Vite.js/React без SSR для использования WP, как Headless CMS, с помощью наивного REST API WordPress . Использован Redux для хранения ранее загруженной информации для избежания повторных обращений к серверу.</p>



<span id="more-1656"></span>



<ul class="wp-block-list">
<li>Рабочий макет на примере нашего сайта: <a href="https://wp-themelia-vitejs.vercel.app/;"><a href="https://wp-themelia-vitejs.vercel.app/" target="_blank" rel="noreferrer noopener">https://wp-themelia-vitejs.vercel.app/</a></a>;</li>



<li>Репозиторий: <a href="https://github.com/consultapp/wp-themelia-vitejs">https://github.com/consultapp/wp-themelia-vitejs</a>;</li>
</ul>



<p>Технологии/Пакеты:</p>



<ul class="wp-block-list">
<li><a href="https://reactjs.org" target="_blank" rel="noreferrer noopener">React</a></li>



<li><a href="https://vitejs.dev" target="_blank" rel="noreferrer noopener">Vite.js</a></li>



<li>Redux</li>



<li>Redux/Toolkit</li>



<li><a href="https://developer.wordpress.org/rest-api/" target="_blank" rel="noreferrer noopener">REST API  WordPress</a></li>



<li><a href="https://kab.wordpress.org/themes/themelia/">Themelia WordPress Theme</a></li>
</ul>



<h2 class="wp-block-heading">REST API WordPress</h2>



<p>Существует много готовых эндпоинтов в Rest Api WP, нас интересуют на данном этапе <strong>посты, страницы и поиск</strong>.</p>



<h4 class="wp-block-heading"><a href="https://developer.wordpress.org/rest-api/reference/#rest-api-developer-endpoint-reference" target="_blank" rel="noreferrer noopener" style="text-decoration:none;">REST API Developer Endpoint Reference</a></h4>



<figure class="wp-block-table"><table><tbody><tr><th>Resource</th><th>Base Route</th></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/posts/">Posts</a></td><td><code>/wp/v2/posts</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/post-revisions/">Post Revisions</a></td><td><code>/wp/v2/posts/&lt;id&gt;/revisions</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/categories/">Categories</a></td><td><code>/wp/v2/categories</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/tags/">Tags</a></td><td><code>/wp/v2/tags</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/pages/">Pages</a></td><td><code>/wp/v2/pages</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/page-revisions/">Page Revisions</a></td><td><code>/wp/v2/pages/&lt;id&gt;/revisions</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/comments/">Comments</a></td><td><code>/wp/v2/comments</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/taxonomies/">Taxonomies</a></td><td><code>/wp/v2/taxonomies</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/media/">Media</a></td><td><code>/wp/v2/media</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/users/">Users</a></td><td><code>/wp/v2/users</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/post-types/">Post Types</a></td><td><code>/wp/v2/types</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/post-statuses/">Post Statuses</a></td><td><code>/wp/v2/statuses</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/settings/">Settings</a></td><td><code>/wp/v2/settings</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/themes/">Themes</a></td><td><code>/wp/v2/themes</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/search-results/">Search</a></td><td><code>/wp/v2/search</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/block-types/">Block Types</a></td><td><code>/wp/v2/block-types</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/blocks/">Blocks</a></td><td><code>/wp/v2/blocks</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/block-revisions/">Block Revisions</a></td><td><code>/wp/v2/blocks/&lt;id&gt;/autosaves/</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/rendered-blocks/">Block Renderer</a></td><td><code>/wp/v2/block-renderer</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/block-directory-items/">Block Directory Items</a></td><td><code>/wp/v2/block-directory/search</code></td></tr><tr><td><a href="https://developer.wordpress.org/rest-api/reference/plugins/">Plugins</a></td><td><code>/wp/v2/plugins</code></td></tr></tbody></table></figure>



<p>Весь API находится в разделе /wp-json/, те для <strong>постов</strong> например это:</p>



<pre class="wp-block-code"><code class="">https://example.com/wp-json/wp/v2/posts </code></pre>



<p>В ответ получаем массив постов вида (отдается кол-во постов равное установленному ранее параметром <strong>pre_page</strong>, при его отсутствии в запросе):</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://consultapp.ru/wp-content/uploads/2023/06/image.png"><img fetchpriority="high" decoding="async" width="700" height="347" src="https://consultapp.ru/wp-content/uploads/2023/06/image-700x347.png" alt="" class="wp-image-1688" srcset="https://consultapp.ru/wp-content/uploads/2023/06/image-700x347.png 700w, https://consultapp.ru/wp-content/uploads/2023/06/image-300x149.png 300w, https://consultapp.ru/wp-content/uploads/2023/06/image-768x381.png 768w, https://consultapp.ru/wp-content/uploads/2023/06/image.png 1082w" sizes="(max-width: 700px) 100vw, 700px" /></a><figcaption class="wp-element-caption">Результат обращения к endpoint posts, на примере нашего сайта.</figcaption></figure></div>


<p>/* СТАТЬЯ В  РАЗРАБОТКЕ. */</p>
<p>Сообщение <a href="https://consultapp.ru/themelia-php-to-react-wordpress-headless-cms-no-ssr/">Переработка темы Themelia c PHP на React, для работы с WordPress в качестве Headless CMS без SSR</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Как убрать корзину из шапки и кнопку &#171;в корзину&#187; со страницы в WooCommerce?</title>
		<link>https://consultapp.ru/remove-button-addtocart-and-header-basket/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Mon, 02 Nov 2020 10:09:37 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Статьи]]></category>
		<guid isPermaLink="false">https://consultapp.ru/?p=1224</guid>

					<description><![CDATA[<p>Иногда надо что бы магазин работал в режиме каталога и не смущал пользователя кнопками купить и прочее, если этого функционала нет. Для WordPress + Woocommerce это делается очень просто. Убираем кнопки со страниц категорий и товаров Добавляем в конец нашего functions.php (файл в корне Вашей темы) следующие строки, которые убирают хуки, отвечающие за кнопки: Убираем&#8230;</p>
<p>Сообщение <a href="https://consultapp.ru/remove-button-addtocart-and-header-basket/">Как убрать корзину из шапки и кнопку &#171;в корзину&#187; со страницы в WooCommerce?</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Иногда надо что бы магазин работал в режиме каталога и не смущал пользователя кнопками купить и прочее, если этого функционала нет. Для WordPress + Woocommerce это делается очень просто.</p>



<h2 class="wp-block-heading"> Убираем кнопки со страниц категорий и товаров</h2>



<p>Добавляем в конец нашего functions.php (файл в корне Вашей темы) следующие строки, которые убирают хуки, отвечающие за кнопки:</p>



<pre class="wp-block-code"><code>remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );</code></pre>



<h2 class="wp-block-heading">Убираем иконку корзины в шапке/меню</h2>



<p>С шапкой интереснее, а может и нет&#8230; Это не функционал самого вукоммерса, по-этому идем искать код в нашей теме, если Вы видите иконку/ссылку на корзину в шапке &#8212; значит авторы Вашей темы предусмотрели  ее использование вместе с Woocommerce и добавили код.</p>



<p>В случае нашего клиента он находился в header.php, легко отредактировать даже из веб-интерфейса ( Внешний вид =&gt; Редактор тем) и выглядел так:</p>



<pre class="wp-block-code"><code>if ( class_exists( 'WooCommerce' ) ) {
	global $woocommerce; 
    /* Тут было много html, сократили для удобства */
}</code></pre>



<p>Ищем упоминания WooCommerce и похожий на иконку/кнопку HTML, комментируем ( /* php code */) весь связанный php, в нашем случае, это весь оператор if, если корзина возможно понадобится потом. Или удаляем, если точно уверены, что она не нужна.</p>



<p>Профит! Ни кнопок, ни корзины&#8230; чистый каталог, еще не забудьте страницы оформления, корзины и прочие сделать личными, черновиками или удалить, если не жалко.</p>
<p>Сообщение <a href="https://consultapp.ru/remove-button-addtocart-and-header-basket/">Как убрать корзину из шапки и кнопку &#171;в корзину&#187; со страницы в WooCommerce?</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Редактируем плагином тему WordPress без дочерних тем с возможностью обновления</title>
		<link>https://consultapp.ru/edit-wp-theme-without-child-theme/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Mon, 05 Oct 2020 16:45:08 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Статьи]]></category>
		<guid isPermaLink="false">https://consultapp.ru/?p=1219</guid>

					<description><![CDATA[<p>Часто бывает необходимо отредактировать код темы, например добавить что-то в functions.php, но создавать ради этого дочернюю тему нет смысла.</p>
<p>Сообщение <a href="https://consultapp.ru/edit-wp-theme-without-child-theme/">Редактируем плагином тему WordPress без дочерних тем с возможностью обновления</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Часто бывает необходимо отредактировать код темы, например добавить что-то в functions.php, но создавать ради этого дочернюю тему нет смысла.</p>



<span id="more-1219"></span>



<p>Для решения этой задачи мы нашли плагин c незатейливым названием Theme Customisations, правда скачать и загрузить его придется вручную с  гитхаба:</p>



<ol class="wp-block-list"><li>Скачиваем архив <a href="http://github.com/woothemes/theme-customisations" target="_blank" rel="noreferrer noopener">http://github.com/woothemes/theme-customisations</a>; </li><li>Говорим спасибо разработчикам, что сделали за нас чаcть работы;</li><li>Распаковываем папку на сервере /wp-content/plugins.</li></ol>



<h2 class="wp-block-heading">Работа с Theme Customisations</h2>



<p>Функционал плагина не затейливый, как и наша задача, а именно &#8212; после активации в папке &#171;/wp-content/plugins/theme-customisations-master&#187; плагина создается папка &#171;<strong>custom</strong>&#171;, в которой есть базовые файлы, которые мы можем менять &#8212; код PHP, стили CSS, код JS.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="700" height="206" src="https://consultapp.ru/wp-content/uploads/2020/10/theme-cust1-700x206.png" alt="" class="wp-image-1220" srcset="https://consultapp.ru/wp-content/uploads/2020/10/theme-cust1-700x206.png 700w, https://consultapp.ru/wp-content/uploads/2020/10/theme-cust1-300x88.png 300w, https://consultapp.ru/wp-content/uploads/2020/10/theme-cust1-768x226.png 768w, https://consultapp.ru/wp-content/uploads/2020/10/theme-cust1.png 773w" sizes="(max-width: 700px) 100vw, 700px" /></figure></div>



<h3 class="wp-block-heading">Использование / Usage из readme.txt</h3>



<ul class="wp-block-list"><li>Add any CSS snippets to <code>custom/style.css</code>. This file is found in this plugin.</li><li>Add any PHP snippets to <code>custom/functions.php</code>. This file is found in this plugin.</li><li>Add any jQuery snippets to <code>custom/custom.js</code>. This file is found in this plugin.</li><li>Add custom top level template files (page.php, single.php etc) to <code>custom/templates/</code>. You will need to create the templates folder.</li><li>Add any WooCommerce template files to <code>custom/templates/woocommerce</code>. You will need to create the templates and woocommerce folders.</li><li>Activate the plugin.</li></ul>



<p>В целом можно управлять разными файлами и все будет работать при обновлении тем (возможно обновления самого вордпреса или версии php все таки что-то могут сломать, но это как водится &#8212; бекапьтесь в любом случае) .</p>
<p>Сообщение <a href="https://consultapp.ru/edit-wp-theme-without-child-theme/">Редактируем плагином тему WordPress без дочерних тем с возможностью обновления</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Плагин Easy Upload to Farpost.ru</title>
		<link>https://consultapp.ru/ca-wpecomm-farpost/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Sun, 31 May 2020 11:39:38 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Плагины WP]]></category>
		<guid isPermaLink="false">https://consultapp.ru/?p=1103</guid>

					<description><![CDATA[<p>Генерирует файл xml с товарами из WP eCommerce или Woocommerce в формате выгрузки для Farpost.ru . Файл автоматически обновляется каждый час, используя для вызова задачи базовый Cron вордпреса. Шаблон выгрузки: В настройках можно указать имя файла и выгрузить товары принудительно. 1.* Версия выводит в канал все товары магазина. Плагин не использует специфические функции последних версий&#8230;</p>
<p>Сообщение <a href="https://consultapp.ru/ca-wpecomm-farpost/">Плагин Easy Upload to Farpost.ru</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Генерирует файл xml с товарами из WP eCommerce или Woocommerce в формате выгрузки для <a href="http://farpost.ru">Farpost.ru</a> . Файл автоматически обновляется каждый час, используя для вызова задачи базовый Cron вордпреса.</p>



<span id="more-1103"></span>



<p>Шаблон выгрузки:                       </p>



<pre class="wp-block-code"><code>&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;!DOCTYPE yml_catalog SYSTEM "shops.dtd">
&lt;yml_catalog date="2010-04-01 17:00">
    &lt;shop>
        &lt;offers>
			&lt;offer id="ID">
				&lt;name>ИМЯ&lt;/name>
			      &lt;description>ОПИСАНИЕ&lt;/description>
				&lt;price>ЦЕНА&lt;/price>
				&lt;currencyId>RUR&lt;/currencyId>
				&lt;SKU>SKU&lt;/SKU>
				&lt;picture>ССЫЛКА&lt;/picture>
			&lt;/offer>
		&lt;/offers>
	&lt;/shop>
&lt;/yml_catalog></code></pre>



<p>В настройках можно указать имя файла и выгрузить товары принудительно.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="573" height="291" src="https://consultapp.ru/wp-content/uploads/2020/05/screenshot-1.png" alt="" class="wp-image-1091" srcset="https://consultapp.ru/wp-content/uploads/2020/05/screenshot-1.png 573w, https://consultapp.ru/wp-content/uploads/2020/05/screenshot-1-300x152.png 300w" sizes="(max-width: 573px) 100vw, 573px" /></figure></div>



<p>1.* Версия выводит в канал все товары магазина.</p>



<p>Плагин не использует специфические функции последних версий WP и должнен работать на более старых версиях, чем 4.8, но не тестировался там.</p>



<p><a href="https://ru.wordpress.org/plugins/easy-wp-ecommerce-to-farpost/">Страница плагина</a> на <a href="https://ru.wordpress.org/">https://ru.wordpress.org/</a></p>
<p>Сообщение <a href="https://consultapp.ru/ca-wpecomm-farpost/">Плагин Easy Upload to Farpost.ru</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Яндекс Турбо-страницы &#8212; плагин для WordPress от ConsultApp</title>
		<link>https://consultapp.ru/yandex-turbo-pages-plugin-for-wordpress/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Wed, 13 Dec 2017 11:09:18 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Плагины WP]]></category>
		<guid isPermaLink="false">http://consultapp.ru/?p=791</guid>

					<description><![CDATA[<p>В процессе внедрения Яндекс Турбо-страниц в сайты на Вордпрес, мы пришли к тому, что лучше создать плагин для работы с ними. Установить плагин Вы можете через административную панель Вордпресс в разделе Плагины или вручную по ссылке &#8212;&#160;. Плагин добавляет отдельный RSS канал с разметкой под Яндекс Турбо-страницы сразу после установки и активации, который можно отдавать&#8230;</p>
<p>Сообщение <a href="https://consultapp.ru/yandex-turbo-pages-plugin-for-wordpress/">Яндекс Турбо-страницы &#8212; плагин для WordPress от ConsultApp</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>В процессе внедрения Яндекс Турбо-страниц в сайты на Вордпрес, мы пришли к тому, что лучше создать плагин для работы с ними.</p>
<p><span id="more-791"></span></p>
<blockquote><p>Установить плагин Вы можете через административную панель Вордпресс в разделе Плагины или вручную по ссылке &#8212;&nbsp;		<a href="https://consultapp.ru/go/consultapp-yandex-turbo-pages/">ConsultApp &#8212; Yandex Turbo Pages</a>
		.</p></blockquote>
<p>Плагин добавляет отдельный RSS канал с разметкой под Яндекс Турбо-страницы сразу после установки и активации, который можно <a href="http://consultapp.ru/%d1%82%d1%83%d1%80%d0%b1%d0%be-%d1%81%d1%82%d1%80-%d0%b7%d0%b0%d0%bc%d0%b5%d0%bd%d0%b0-%d0%bc%d0%be%d0%b1%d0%b8%d0%bb%d1%8c%d0%bd%d0%be%d0%b9-%d0%b2%d0%b5%d1%80%d1%81%d0%b8%d0%b8/">отдавать Яндексу в Вебмастере</a> по адресу &#171;http(s)://YOUR_SITE/feed/yaturbo/&#187;.</p>
<p>Разметка соответствует требованиям Яндекса и выдает ошибки при тесте обычными xml валидаторами, тк имеет специфические теги.&nbsp;Проверить то, что создался новый канал вы можете с помощью&nbsp;<a href="https://validator.w3.org/feed/">https://validator.w3.org/feed/</a>. Обращать внимание на ошибки xml не надо.</p>
<p><a href="http://consultapp.ru/wp-content/uploads/2017/12/screenshot-1.png"><img loading="lazy" decoding="async" class="size-large wp-image-798 aligncenter" src="http://consultapp.ru/wp-content/uploads/2017/12/screenshot-1-700x287.png" alt="" width="700" height="287" srcset="https://consultapp.ru/wp-content/uploads/2017/12/screenshot-1-700x287.png 700w, https://consultapp.ru/wp-content/uploads/2017/12/screenshot-1-300x123.png 300w, https://consultapp.ru/wp-content/uploads/2017/12/screenshot-1-768x315.png 768w, https://consultapp.ru/wp-content/uploads/2017/12/screenshot-1.png 1189w" sizes="auto, (max-width: 700px) 100vw, 700px" /></a></p>
<p>В настройках возможно задание таких параметров, как код Метрики и дополнительные ссылки (блок yandex:related).</p>
<p><a href="http://consultapp.ru/wp-content/uploads/2017/12/screenshot-2.png"><img loading="lazy" decoding="async" class="size-large wp-image-796 aligncenter" src="http://consultapp.ru/wp-content/uploads/2017/12/screenshot-2-700x393.png" alt="настройки плагина Yandex Turbo pages от Consultapp" width="700" height="393" srcset="https://consultapp.ru/wp-content/uploads/2017/12/screenshot-2-700x393.png 700w, https://consultapp.ru/wp-content/uploads/2017/12/screenshot-2-300x169.png 300w, https://consultapp.ru/wp-content/uploads/2017/12/screenshot-2-768x432.png 768w, https://consultapp.ru/wp-content/uploads/2017/12/screenshot-2.png 1240w" sizes="auto, (max-width: 700px) 100vw, 700px" /></a></p>
<p>В случае возникновения проблем &#8212; <a href="http://consultapp.ru/%d0%b7%d0%b0%d0%b4%d0%b0%d0%b9%d1%82%d0%b5-%d0%b2%d0%be%d0%bf%d1%80%d0%be%d1%81/">напишите нам</a>.</p>
<p>Сообщение <a href="https://consultapp.ru/yandex-turbo-pages-plugin-for-wordpress/">Яндекс Турбо-страницы &#8212; плагин для WordPress от ConsultApp</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Как включить кеш браузера для сайта в .htaccess?</title>
		<link>https://consultapp.ru/%d0%ba%d0%b0%d0%ba-%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c-%d0%ba%d0%b5%d1%88-%d0%b1%d1%80%d0%b0%d1%83%d0%b7%d0%b5%d1%80%d0%b0-%d0%b2-htaccess/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Thu, 02 Nov 2017 09:57:33 +0000</pubDate>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://consultapp.ru/?p=602</guid>

					<description><![CDATA[<p>Часто в рекомендация по оптимизации встречается совет по включению кеша браузера для сайта (например в Google Pagespeed). Благодаря кешированию пользователи, повторно посещающие сайт, тратят меньше времени на загрузку страниц. Кеширование должно применяться ко всем кешируемым статическим ресурсам, а не только к некоторым из них. Кешируемые ресурсы включают файлы JavaScript и CSS, графические и другие файлы&#8230;</p>
<p>Сообщение <a href="https://consultapp.ru/%d0%ba%d0%b0%d0%ba-%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c-%d0%ba%d0%b5%d1%88-%d0%b1%d1%80%d0%b0%d1%83%d0%b7%d0%b5%d1%80%d0%b0-%d0%b2-htaccess/">Как включить кеш браузера для сайта в .htaccess?</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Часто в рекомендация по оптимизации встречается совет по включению кеша браузера для сайта (например в <a href="http://consultapp.ru/%d0%be%d1%86%d0%b5%d0%bd%d0%ba%d0%b0-%d1%81%d0%ba%d0%be%d1%80%d0%be%d1%81%d1%82%d0%b8-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8-%d1%81%d0%b0%d0%b9%d1%82%d0%b0/">Google Pagespeed</a>). Благодаря кешированию пользователи, повторно посещающие сайт, тратят меньше времени на загрузку страниц.</p>
<p><span id="more-602"></span></p>
<p>Кеширование должно применяться ко всем кешируемым статическим ресурсам, а не только к некоторым из них. Кешируемые ресурсы включают файлы JavaScript и CSS, графические и другие файлы (файлы PDF, мультимедиа и т. д.).</p>
<p>Для включения кеширования необходимо в файл .htaccess добавить следующие строки:<br />
<code># кеш браузера<br />
&lt;ifModule mod_expires.c&gt;<br />
ExpiresActive On<br />
#по умолчанию кеш в 5 секунд<br />
ExpiresDefault "access plus 5 seconds"<br />
# по типам файлов<br />
ExpiresByType text/html "access plus 15 min"<br />
ExpiresByType image/x-icon "access plus 7 day"<br />
ExpiresByType image/jpeg "access plus 7 day"<br />
ExpiresByType image/png "access plus 7 day"<br />
ExpiresByType image/gif "access plus 7 day"<br />
ExpiresByType application/x-shockwave-flash "access plus 7 day"<br />
ExpiresByType text/css "access plus 7 day"<br />
ExpiresByType text/javascript "access plus 7 day"<br />
ExpiresByType application/javascript "access plus 7 day"<br />
ExpiresByType application/x-javascript "access plus 7 day"<br />
ExpiresByType application/xhtml+xml "access plus 7 day"<br />
# нестандартные шрифты<br />
ExpiresByType application/x-font-ttf "access plus 1 month"<br />
ExpiresByType font/opentype "access plus 1 month"<br />
ExpiresByType application/x-font-woff "access plus 1 month"<br />
ExpiresByType image/svg+xml "access plus 1 month"<br />
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"<br />
</code><br />
Естественно, что время кеширования подбирается под поставленные задачи. Такой код устраивает тот же гугл, тк если указать слишком короткие интервалы, он все-равно будет настаивать на включении кеширования, хотя оно будет уже работать.</p>
<p>Возможно указание следующих временных интервалов:</p>
<ul>
<li>month</li>
<li>weeks</li>
<li>days</li>
<li>minutes</li>
<li>seconds</li>
</ul>
<p>Сообщение <a href="https://consultapp.ru/%d0%ba%d0%b0%d0%ba-%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c-%d0%ba%d0%b5%d1%88-%d0%b1%d1%80%d0%b0%d1%83%d0%b7%d0%b5%d1%80%d0%b0-%d0%b2-htaccess/">Как включить кеш браузера для сайта в .htaccess?</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Как убрать дубли страниц wp json oembed в WordPress</title>
		<link>https://consultapp.ru/%d0%ba%d0%b0%d0%ba-%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d0%b4%d1%83%d0%b1%d0%bb%d0%b8-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%86-wp-json-oembed-%d0%b2-wordpress/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Wed, 02 Aug 2017 13:34:57 +0000</pubDate>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Статьи]]></category>
		<guid isPermaLink="false">http://consultapp.ru/?p=468</guid>

					<description><![CDATA[<p>История наверно у всех одинаковая, Вы заходите в Вебмастер и обнаруживаете кучу найденных роботом страниц со странными адресами вида &#171;/wp-json/oembed/1.0/embed?url=http://site_name.ru/page_name&#187; которые или выдают ошибку, или даже 200 OK, но зачем они нужны? Всем известно, что поисковики сильно недолюбливают дубли и кучу ошибочных страниц на сайте. Понять, что у Вас на сайте есть эти ссылки, можно&#8230;</p>
<p>Сообщение <a href="https://consultapp.ru/%d0%ba%d0%b0%d0%ba-%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d0%b4%d1%83%d0%b1%d0%bb%d0%b8-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%86-wp-json-oembed-%d0%b2-wordpress/">Как убрать дубли страниц wp json oembed в WordPress</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>История наверно у всех одинаковая, Вы заходите в Вебмастер и обнаруживаете кучу найденных роботом страниц со странными адресами вида &#171;/wp-json/oembed/1.0/embed?url=http://site_name.ru/page_name&#187; которые или выдают ошибку, или даже 200 OK, но зачем они нужны? Всем известно, что поисковики сильно недолюбливают дубли и кучу ошибочных страниц на сайте. Понять, что у Вас на сайте есть эти ссылки, можно поискав в коде страниц строку вида &#171;&lt;link rel=&#8217;https://api.w.org/&#8217; href=&#8217;/wp-json/&#8217; /&gt;&#187;.</p>
<p><span id="more-468"></span></p>
<h2>Что такое wp json oembed 1.0?</h2>
<p>Wp json это нововведение от версии WordPress 4.4 и выше. Разработчики ввели новый API REST, который создает кучу мусорных страниц в виртуальной директории wp-json.</p>
<p>WordPress REST API – это общий интерфейс данных и программирования, который позволяет считывать и записывать информацию в WordPress через разные приложения. Это позволяет разработчикам, которые нацелены на работу с WordPress, не углубленно разбираться в WP.</p>
<h2>Как отключить WordPress REST API?</h2>
<p>Как и обычно, добавляем следующий код в конец файла &#171;functions.php&#187; в теме. Сделать это можно в редакторе темы WordPress или напрямую в файле через FTP на сервере например.</p>
<blockquote><p><strong>Внимание!!! Данный метод может сломать работу некоторых планигов и в целом работу json (Например Contact From 7). Обязательно сделайте полный бекап перед изменением файлов!!!</strong></p></blockquote>
<p><code>// Отключаем сам REST API<br />
add_filter('rest_enabled', '__return_false');<br />
// Отключаем фильтры REST API<br />
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );<br />
remove_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );<br />
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );<br />
remove_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' );<br />
remove_action( 'auth_cookie_expired', 'rest_cookie_collect_status' );<br />
remove_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' );<br />
remove_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' );<br />
remove_action( 'auth_cookie_valid', 'rest_cookie_collect_status' );<br />
remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );<br />
// Отключаем события REST API<br />
remove_action( 'init', 'rest_api_init' );<br />
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );<br />
remove_action( 'parse_request', 'rest_api_loaded' );<br />
// Отключаем Embeds связанные с REST API<br />
remove_action( 'rest_api_init', 'wp_oembed_register_route');<br />
remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );<br />
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );</code></p>
<p>В результате ссылка вида &#171;&lt;link rel=&#8217;https://api.w.org/&#8217; href=&#8217;/wp-json/&#8217; /&gt;&#187; должна пропасть из кода страницы.</p>
<p>Сообщение <a href="https://consultapp.ru/%d0%ba%d0%b0%d0%ba-%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d0%b4%d1%83%d0%b1%d0%bb%d0%b8-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%86-wp-json-oembed-%d0%b2-wordpress/">Как убрать дубли страниц wp json oembed в WordPress</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Как убрать ссылки feed с сайта на WordPress</title>
		<link>https://consultapp.ru/%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-feed-%d1%81-%d1%81%d0%b0%d0%b9%d1%82%d0%b0-%d0%bd%d0%b0-wordpress/</link>
		
		<dc:creator><![CDATA[Дмитрий]]></dc:creator>
		<pubDate>Thu, 22 Jun 2017 15:02:45 +0000</pubDate>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://consultapp.ru/?p=413</guid>

					<description><![CDATA[<p>Ссылки вида &#171;ссылка_на_страницу/feed/&#187; по умолчанию генерируются для большинства страниц сайта, что часто создает кучу мусора и ошибки при индексировании страницы поисковиками. В вебмастере можно увидеть столько же 404 ошибок, сколько и страниц на сайте вообще. Отключить их может быть полезно, если вы используете WordPress исключительно как систему управления контентом (а не для ведения блога). Есть&#8230;</p>
<p>Сообщение <a href="https://consultapp.ru/%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-feed-%d1%81-%d1%81%d0%b0%d0%b9%d1%82%d0%b0-%d0%bd%d0%b0-wordpress/">Как убрать ссылки feed с сайта на WordPress</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ссылки вида &#171;ссылка_на_страницу/feed/&#187; по умолчанию генерируются для большинства страниц сайта, что часто создает кучу мусора и ошибки при индексировании страницы поисковиками. В вебмастере можно увидеть столько же 404 ошибок, сколько и страниц на сайте вообще. Отключить их может быть полезно, если вы используете WordPress исключительно как систему управления контентом (а не для ведения блога).</p>
<p><span id="more-413"></span></p>
<p>Есть несколько вариантов борьбы с этими ссылками:</p>
<ul>
<li>Отключить их в файле functions.php темы сайта;</li>
<li>Использовать разнообразные плагины, например Disable Feeds.</li>
</ul>
<h2>Отключаем ссылки в файле functions.php</h2>
<p>Заходим в административную панель сайта. Переходим в &#171;Внешний вид -&gt; Редактор&#187;, где открываем файл functions.php. Дописываем в самый конец php код и сохраняем файл:</p>
<p><code>// убираем feed<br />
function fb_disable_feed() {<br />
wp_redirect(get_option('siteurl'));<br />
}<br />
add_action('do_feed', 'fb_disable_feed', 1);<br />
add_action('do_feed_rdf', 'fb_disable_feed', 1);<br />
add_action('do_feed_rss', 'fb_disable_feed', 1);<br />
add_action('do_feed_rss2', 'fb_disable_feed', 1);<br />
add_action('do_feed_atom', 'fb_disable_feed', 1);<br />
remove_action( 'wp_head', 'feed_links_extra', 3 );<br />
remove_action( 'wp_head', 'feed_links', 2 );<br />
remove_action( 'wp_head', 'rsd_link' );<br />
</code></p>
<p>Все, ссылки из текста убраны. Обязательно проверяем результат, делаем поиск по исходному коды страниц &#171;/feed&#187;. Ссылки должны исчезнуть из раздела &lt;head&gt;.</p>
<h2>Плагин Disable Feeds</h2>
<p>Плагин для WordPress &#8212;  Disable Feeds отключает все каналы RSS / Atom / RDF на вашем сайте. Все запросы для каналов будут перенаправлены на соответствующий HTML-контент.</p>
<p>Есть несколько вариантов настройки поведения плагина &#8212; перейдите в Настройки -&gt; Чтение, чтобы увидеть их.</p>
<p>Когда плагин Disable Feeds активен. По умолчанию все каналы отключены, и все запросы для каналов перенаправляются на соответствующий HTML-контент.</p>
<p>Доступные варианты для управления плагином:</p>
<ul>
<li>Перенаправить запросы на соответствующий HTML-контент;</li>
<li>Выдать сообщение об ошибке «Не найдено» (404).</li>
</ul>
<p>Так же Вы можете отметить галочку: &#171;Не отключать общий почтовый фид и общий канал комментариев.&#187;</p>
<p>Сообщение <a href="https://consultapp.ru/%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-feed-%d1%81-%d1%81%d0%b0%d0%b9%d1%82%d0%b0-%d0%bd%d0%b0-wordpress/">Как убрать ссылки feed с сайта на WordPress</a> появились сначала на <a href="https://consultapp.ru">ConsultApp.ru</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
