Старый 28.10.2016, 11:40   #1
Специалист
 
Аватар для DRAKULKA
 
Регистрация: 12.09.2010
Сообщений: 180
Вес репутации: 158
DRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всем
По умолчанию Оптимизация мета-тегов Wordpress-сайтов

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

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

В файле заголовка header.php добавляем следующий код (или заменяем стандартную строчку, хотя по-умолчанию она не добавляется в стандартных темах, или заменяем свою старую строчки если у вас нестандартный шаблон), то есть строку приблизительно следующего содержания
PHP код:
<meta name="description" content="Ваш текст описания блога" /> 
заменяем на
PHP код:
    <?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 добавляем код
PHP код:
    function cutString($string$maxlen) {
        
$len = (mb_strlen($string) > $maxlen)? mb_strripos(mb_substr($string0$maxlen), ' ') : $maxlen;
        
$cutStr mb_substr($string0$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 строчка - конец.

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

Если будет время - напишу об оптимизации и других метов.
DRAKULKA вне форума   Ответить с цитированием
Старый 28.10.2016, 17:02   #2
Специалист
 
Регистрация: 16.06.2013
Сообщений: 322
Вес репутации: 130
poster - просто великолепная личностьposter - просто великолепная личностьposter - просто великолепная личностьposter - просто великолепная личностьposter - просто великолепная личностьposter - просто великолепная личностьposter - просто великолепная личность
По умолчанию

Цитата:
Сообщение от DRAKULKA Посмотреть сообщение
В ходе экспериментов я пришёл к наиболее идеальным на мой взгляд вариантам, которыми готов поделиться.
Поясните мне, зачем этот вордпрес вообще нужен, когда для статейника (новостника) достаточно "несколько" php файлов и бутстрапа?
poster вне форума   Ответить с цитированием
Старый 28.10.2016, 19:34   #3
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,264
Вес репутации: 592
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

Цитата:
Сообщение от poster Посмотреть сообщение
Поясните мне, зачем этот вордпрес вообще нужен, когда для статейника (новостника) достаточно "несколько" php файлов и бутстрапа?
не у всех же руки из правильного места растут
MonAmur вне форума   Ответить с цитированием
Старый 28.10.2016, 20:03   #4
Специалист
 
Аватар для DRAKULKA
 
Регистрация: 12.09.2010
Сообщений: 180
Вес репутации: 158
DRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всем
По умолчанию

Ну понятно, как всегда. Это тема не о выборе движка.

Цитата:
Чем отличаются русский, американский и еврейский форумы?
- на американском форуме вы задаете вопрос и вам дают ответ
- на еврейском форуме вы задаете вопрос и вам задают встречный вопрос
- на русском форуме вы задаете вопрос и вам долго объясняют почему вы мудак.
DRAKULKA вне форума   Ответить с цитированием
Старый 31.10.2016, 01:24   #5
Мастер
 
Аватар для Mistery
 
Регистрация: 31.03.2011
Сообщений: 956
Вес репутации: 187
Mistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущееMistery - прекрасное будущее
По умолчанию

Каким образом выбирается описание из основного контента в 4-ой строчке?
Mistery вне форума   Ответить с цитированием
Старый 31.10.2016, 06:24   #6
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,264
Вес репутации: 592
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Mistery Посмотреть сообщение
Каким образом выбирается описание из основного контента в 4-ой строчке?
там же все просто:
<если Главная>
<meta name="description" content="описание блога" />
<если страница поста>
<meta name="description" content="140 символов этого поста" />
<если страница раздела>
<meta name="description" content="описание раздела" />
<если страница тегов>
<meta name="description" content="Ключевое слово: тег" />
<в остальных случаях>
<meta name="description" content="описание блога" />

а про каким образом, надо почитать про the_excerpt()

Последний раз редактировалось MonAmur; 31.10.2016 в 06:27. Причина: Добавлено сообщение
MonAmur вне форума   Ответить с цитированием
Старый 01.11.2016, 02:17   #7
Специалист
 
Аватар для DRAKULKA
 
Регистрация: 12.09.2010
Сообщений: 180
Вес репутации: 158
DRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всемDRAKULKA - это имя известно всем
По умолчанию

Для универсальности добавим ещё сортировку записей по дате, месяцу и году, вывод постов по автору, страничку ошибок и результаты поиска, уберём проверку ограничившись лишь условными операторами if-else и получим такой код:

PHP код:
<?php if (is_home() || is_front_page() ) : ?> 
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php elseif (is_single() || is_page() ) : ?>
<meta name="description" content="<?php echo cutString(get_the_excerpt(), 140); ?>" />
<?php 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 elseif (is_search() ) : ?>
<meta name="description" content="Результаты поиска по запросу <?php echo wp_title(''); ?>" />
<?php elseif (is_404() ) : ?>
<meta name="description" content="Ошибка 404, такая страничка не найдена. Перейдите на главную и выберите интересующий раздел." />
<?php elseif (is_author() ) : ?>
<meta name="description" content="Статьи автора <?php the_author(); ?>" />
<?php elseif (is_year() || is_month() || is_day() || is_date() ) : ?>
<meta name="description" content="Архив записей за <?php echo wp_title(''); ?>" />
<?php else : ?>
<meta name="description" content="<?php bloginfo('description'); ?>" />
<?php endif; ?>
DRAKULKA вне форума   Ответить с цитированием
Старый 08.11.2022, 13:52   #8
Новичок
 
Регистрация: 08.11.2022
Адрес: Chicago
Сообщений: 3
Вес репутации: 0
vbilo на пути к лучшему
По умолчанию

Нужна помощь с сайтом mabbly.com Как понять он на вордпресе или самопис? я 0 в сео
vbilo вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где на Wordpress редактируется облако тегов? lbmoney Разработка и сопровождение сайтов 11 08.11.2022 13:44
Мета тэги в Wordpress LOKITOKI Вопросы от новичков 6 12.04.2011 22:24
Wordpress. Закрыть полотно текста облака тегов в noindex dvakarandasha Разработка и сопровождение сайтов 1 17.06.2010 13:56
генератор мета тегов BeHappy Разработка и сопровождение сайтов 0 11.11.2009 14:02
Массовый ERROR у страниц тегов в WordPress UniqMan Вопросы по работе системы 8 18.08.2009 20:09


Часовой пояс GMT +3, время: 13:00.