Сайты на WordpressОптимизация мета-тегов блога

Популярная система управления сайтами
Ответить
Аватара пользователя

Автор темы
admin
Администратор
Сообщения: 10
Зарегистрирован: 28 окт 2014, 21:45
Контактная информация:

Оптимизация мета-тегов блога

Сообщение admin »

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

Начнём с описания страниц, а именно с тега description:

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

Код: Выделить всё

<meta name="description" content="Ваш текст описания блога" />
заменяем на

Код: Выделить всё

<?php if (is_home() || is_front_page() ) : ?> 
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php elseif (is_single() || is_page() ) : if (have_posts() ) : while (have_posts() ) : the_post(); ?>
<meta name="description" content="<?php echo cutString(get_the_excerpt(), 140); ?>" />
<?php endwhile; endif; elseif (is_category() ): ?>
<meta name="description" content="<?php echo category_description( $category_id ); ?>" />
<?php elseif (is_tag() ): ?>
<meta name="description" content="Ключевое слово: <?php echo single_tag_title(); ?>" />
<?php else : ?>
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php endif; ?>
Если вы заметили - там используется самописная функция cutString, поэтому её нужно добавить. В файл функций functions.php добавляем код

Код: Выделить всё

function cutString($string, $maxlen) {
    $len = (mb_strlen($string) > $maxlen)? mb_strripos(mb_substr($string, 0, $maxlen), ' ') : $maxlen;
    $cutStr = mb_substr($string, 0, $len);
    return (mb_strlen($string) > $maxlen)? $cutStr.' ...' : $cutStr;
}
А теперь русским языком объясню, что у нас получилось.
1 строка - проверяет если у нас главная страница сайта (записей) home или же не забываем что может быть и статическая страница главной (front_page),
2 строчка - то выводится описание сайта, которое мы указывали в общих настройках блога
3 строчка - проверяет если мы на странице записи или любой другой статической странице
4 строчка - то то выводится описание, вырезанное из основного контента страницы, длиной 140 символов, округлённое до полного слова, вот для чего нам нужна была функция cutString. Количество символов можно менять. Стандартно принимается в расчёт до 150, в отдельных случаях до 170, вобщем ставьте 140 - не ошибётесь.
5 строчка - проверяет если мы на странице рубрики,
6 строчка - то выводится описание рубрики. Само оно конечно с воздуха не возьмётся, так что нужно добавить вручную описание каждой рубрики постов, если вы не сделали этого ранее.
7 строчка - проверяет если мы на странице метки нескольких записей
8 строчка - то выводится фраза с тегом этих записей - "Ключевое слово: например кондиционеры Самсунг"
9 строчка - в остальных случаях (например когда записей в рубрике уже на несколько страниц и мы попадаем на третью страничку page3, все варианты непросто предугадать и предвидеть), то выводим
10 строчка - стандартное описание блога как и на главной страничке
11 строчка - конец.

Надеюсь всё понятно и не сложно. Пользуйтесь на здоровье.
Аватара пользователя

Автор темы
admin
Администратор
Сообщения: 10
Зарегистрирован: 28 окт 2014, 21:45
Контактная информация:

Re: Оптимизация мета-тегов блога

Сообщение admin »

При использовании плагина WooCommerce добавляем в дескрипшины такие строчки перед <?php endif; ?>:

Код: Выделить всё

<?php elseif (is_tax('product_cat') ) : ?>
<meta name="description" content="В этом разледе размещены <?php echo category_description() ?>" />
<?php elseif (is_tax('product_tag') ) : ?>
<meta name="description" content="Товары с меткой <?php echo single_tag_title(); ?>" />
А при включении тем, которые поддерживают тип записей Portfolio (слайдеры, слайд-шоу) ещё и такие строчки:

Код: Выделить всё

<?php elseif (is_tax('portfolio_tag') ) : ?>
<meta name="description" content="Статьи с меткой <?php echo single_tag_title(); ?>" />
<?php elseif (is_tax('portfolio_category') ) : ?>
<meta name="description" content="Категория  <?php echo single_tag_title(); ?>" />
Ответить

Вернуться в «Сайты на Wordpress»