Ваш путь: Главная » Техническое SEO, Сниппеты, хаки, функции » ( читаемый пост: перейти в Читаемое )

возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: Техническое SEO; Сниппеты, хаки, функции  Читаемая статья!
Запросто с WordPress создание и продвижение сайтов ATs media

Отключаем вывод мета тегов All In One SEO Pack: description keywords и title

Сегодня тема относительно плагина All In One SEO Pack для тех пользователей, которые ведут сайты  несколько посложнее чем блог. Уберем вывод мета тегов генерируемые плагином: description keywords title, либо заменим эти теги на свои.

 

Генератором к написанию этой статьи послужило обращение одной из клиенток. У неё сайт кулинарной тематики. Однако, нередки случаи, когда на сайте публикуются, скажем так, не только рецепты, но и обыкновенные статьи, посты… Подобные обстоятельства частенько усложняют дело ведения сайта – возникают проблемы! Например, при организации микроразметки schema.org. Все дело в том, что теги (требования прописки) атрибутов микроразметки по каждой тематике статей несколько отличаются! Например: для кулинарных статей весьма желателен метатег description, а для обычных – (текстовых) нет!

 

Приступим…

 


 

 

 

 

 

…итак: клиентке требовалось в статьи рецептов к описанию – дескрипшн, которое кстати сказать, у нее выводится посредством плагина All In One SEO Pack, добавить соответственный атрибут микроразметки itemprop=«description».

 

Но как это сделать..? тем более, что со временем она планирует избавится от плагина, то есть организовать SEO сайта без него.

 

Немного посоветовавшись, мы решили сделать так:

 

а) все поля для заполнения description keywords и title пока что должны остаться на месте. То есть при редактировании статьи, они должны присутствовать…

 

б) внедрять теги микроразметки в генерируемые плагином name="description" не будем, а решим задачу несколько иначе: как, описано ниже…

 

 

Суть идеи такова:

 

Для текста рецептов выведем для name="description" несколько предложений из начала статьи. А для микроразметки schema.org с атрибутом itemprop=«description» возьмём текст из описания – из поля description плагина SEO Pack (хотя можно взять более релевантный текст и из поля “Отрывок” /если используете/, кому как угодно).

 

Таким образом исключим дублирование контента и оптимизируем SEO параметры.

 

 

 

Для того, чтобы решит возникшую задачу, нам требуется отключить для отдельных записей is_single() сгенерированные плагином метатеги name="description" из исходного кода. А на его место добавить свой кастомный…

 

 

на скрине ниже показан сгенерированный плагином метатег – его и нужно убрать, а вместо него добавить свой:

 

 

 

удалим теги SEO Pack

 

 

 

 

как убрать из исходного кода мета тег description плагина All In One SEO Pack

 

 

 

 

 

Кстати говоря, посредством данного кода ниже, возможно убрать и другие мета теги SEO Pack, например keywords и пр.

 

 

 

Убираем мета-тег name="description", который генерирует плагин: добавляйте показанный ниже код в файл функций (functions.php) активной темы или свой плагин… либо дочерний шаблона)

 

 

 

/*удаляем метаполя All in One SEO Pack descriptions ДЛЯ всех записей*/
add_action('get_header', 'clean_ats_meta_descr', 100);
add_action('wp_footer', function(){ ob_end_flush(); }, 100);
function remove_ats_meta_descr($html) {
$pattern = '/<meta name(.*)=(.*)"description"(.*)>/i'; // это удалит поле description
$html = preg_replace($pattern, '', $html, 1);
return $html;
}
function clean_ats_meta_descr($html) {
if ( is_single()) { // is_singular запретим только в записях = можно поставить is_single()
ob_start('remove_ats_meta_descr');
} }
/*удаляем метаполя All in One SEO Pack descriptions ДЛЯ всех записей*/

 

 

 

Уберем метатег только со страниц записей! в коде есть пояснительные комментарии!

 

 

 

 

В плане полезного:

All in One SEO как закрыть страницу пагинации в noindex

Внедряем микроразметку Schema.org в статьи различной тематики или эта статья по тегам микроразметки schema.org.

Что такое Open Graph? как добавить микроразметку по протокол Open Graph – без плагинов!

 

 

 

Метатег description убран. Теперь нам нужно добавить вместо него свой собственный.

 

 

 

Получится примерно так:

 

 

 

удалить теги SEO

 

 

 

 

 

как к статье добавить мета поле description

 

 

 

 

Чтобы добавить кастомный мета-тег description пропишем к себе следующий код:

 

 

 

/*выведем свои мета - description ДЛЯ всех записей*/
add_action('wp_head', 'too_ats_meta_desc', 2); // 2 приоритет вывода выше/ниже
function too_ats_meta_desc() {
global $post; //
if (is_single()) {
$maxchars = 160; // число выводимых символов
$text = strip_tags( get_the_content() );
$atsdecr = mb_substr( $text, 0, $maxchars );
echo '<meta name="description" content="' . $atsdecr . '" />'; // выводим данные
} }
/*выведем свои мета - description ДЛЯ всех записей*/

 

 

 

Число выводимых символов для описания ( в данном случае для itemprop="description" ) задается в:

 

 

$maxchars = 160;

 

 

Важно понимать вот что, этот вариант выборки количества выводимых на экран символов get_the_content не совсем симпатичен… потому как обрезка текста осуществляется по количеству символов – может срезать информацию на полуслове.!.

 

 

Организацию вывода дескрипшн статьи возможно сделать и как-то иначе… Вариантов достаточно…

 

 

 

 

добавляем в статьи рецептов itemprop=”description” – schema.org/Recipe

 

 

 

 

Далее… всё, что остается сделать, так это вывести в статье рецептов описание (дескрипшн) и отправить его в жерло роботу посредством атрибутов микроразметки itemprop="description" !

 

 

Добавляем (в раздел Рецепты: itemscope itemtype="http://schema.org/Recipe" ) такую примерно строку в файл post-single.php (или какой-то подобный) который отвечает за формирование страницы записи.

 

 

<div style="display:none" itemprop="description"><?php echo get_post_meta($post->ID, '_aioseop_description', true); ?></div>

 

 

 

Внимание: после одного из обновлений плагина изменились имена пр. полей: _aioseop_description на: _aioseo_description И: _aioseop_title на: _aioseo_title

 

 

 

…в коде примерное место вставки кода такое (естественно – ваш шаблон может отличаться – я показываю суть вопроса):

 

 

 

как добавить description

 

 

 

 

На этом у меня всё…

 

 

 

Если возникли вопросы, пишите, помогу…

 

 

 

 

Как использовать условные теги: пример на странице пагинации – закрываем в noindex,follow

 

 



...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !



Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©