NEXTPAGE РАЗБИТЬ СТАТЬЮ В WORD PRESS НА НЕСКОЛЬКО СТРАНИЦ
Функции WordPress, нагружающие систему существуют и их надо устранять. Один из таких недочетов – ссылки prev и next, мешающие спокойной работе сайта. Учимся правильно отключать их.
Не стоит забывать, что вордпресс – CMS, то есть готовое решение для создания сайта. В помощь новичкам разработчики сделали автоматический вывод двух ссылок на предыдущий и следующий пост.
Посетители их не видят, а доступны они только через код, то есть робот, в процессе обхода, легче ориентируется по страницам ресурса.
Если подходить к их оценке со стороны юзабилити и SEO – они не несут никакой пользы, потому что по умолчанию в большинстве шаблонов создаются страницы пагинации, созданные для удобной навигации, по которым роботы находят новые страницы и обходят уже имеющиеся.
Убираем prev & next через дополнения
Я рекомендую использовать плагины, потому что считаю их наилучшим решением для новичка-вебмастера:
Невозможно испортить код
Не создают лишней нагрузки на сервер
Используя Clearfy PRO
Популярная утилита, улучшающая техническое SEO по 50+ параметрам. Одна из возможностей – удалить ссылки на предыдущую и следующую запись в WordPress.
В отличие от других вариантов, в этом присутствует техническая поддержка от разработчиков, которые помогут вам, если вдруг работа плагина будет некорректна или испортит шаблон.
При помощи Remove WP OH
Бесплатное нерусифицированное дополнение, устраняющее большинство вредных подключений в шапке. Обновления выходят, скрипт поддерживается.
Рекомендую использовать тем, кто не пользуется редактором Gutenberg, встроенным в движок. При активации пункта « Выбрать все«, также удаляются из системы и стандартные виджеты, а также могут появиться помехи при воспроизведении видео.
Самостоятельное очищение сайта
Вручную удалить изъян можно только посредством вставки PHP функции. Для этого:
Зайдите в редактор тем (встроенный в админ-панель) или панель управления хостингом
Найдите файл functions.php
На самых последних строках вставьте следующий код:
Чтобы разбить статью WordPress на обособленные части я предлагаю использовать nextpage. Несмотря на это, у него, как и разбивки на отдельные посты, есть ряд минусов, которые стоит учесть при выборе этого метода:
Несколько записей с одинаковым (или немного видоизмененным) названием, но разным контентом, имеют схожие урлы, из-за чего обходящий робот может воспринять их как дубли и одна из них провалится или вовсе не попадет в выдачу, пессимизируя весь блог.
По умолчанию пропишутся одинаковые мета-теги: title, description и keywords, что понизит в ранжировании все записи и снизит кликабельность.
Вложенность и длина урла увеличивается, добавляются номера: “/2”, “/3” и т.д.
Интент (поисковый запрос) всего поста будет разделен на несколько разных фрагментов, что не даст выгоды в сравнении с другими сайтами в органической выдаче, прописывающих всю семантику на одной странице.
Если блог не продвигается в поиске – не проводится SEO и поисковый трафик не основной, то nextpage вам подойдет.
Как разбить статью на несколько страниц в ВордПресс
В обновленном редакторе Gutenberg и элементоре заранее предусмотрена функция, позволяющая создавать и выводить блок “Разрыв страницы”. Если вы редактируете через старую модель редактора WordPress, то делать это необходимо вручную. Для этого:
Переходим в раздел “Текст”
Вставляем в выбранное место комментарий “<!—nextpage—>”
После обязательно сохраняем и проверяем изменения непосредственно в материале (или демо-версии).
Если что-то пошло не так и разбивка или нумерация не отображается, то проблема в теме. Но не стоит переживать преждевременно. Большинство современных тем поддерживают этот функционал.
Отображение пагинационных линков в записях
Часть шаблонов пагинацию отдельной записи не поддерживает, однако по правилам построения такая функция должна быть. Чтобы это исправить, перейдите в папку темы и выберите файл, отвечающий за отдельные записи (single). Далее в место, где хотели бы, чтобы вставлялся урл и добавьте следующий фрагмент кода:
<?php wp_link_pages(); ?>
Благодаря этому в каждой записи будет проставлять линк pagination. Для начинающих вебмастеров могу посоветовать: используйте либо панель управления хостингом (ISPManager и ему подобные), либо FTP подключение через клиенты по типу FileZilla.
Также по умолчанию проставление пагинации на статической странице также отключено. Необходимо активировать и эту опцию.
Образование дублей при использовании nextpage в WordPress
Вне зависимости от того, применяется ли nextpage на сайте, появляются дубли, связанные с ним. Чтобы проверить, есть ли на вашем сайте такая уязвимость, перейдите в отдельный пост и введите приписку “/2”. Если открылась полная копия – вы открыли для себя новую проблему.
Исправление дублирования при помощи Clearfy
При условии, что вы никогда не будете использовать nextpage в WordPress и чтобы гарантированно убрать всевозможные копии, лучше всего использовать Clearfy – решение для комплексного улучшения SEO, исправления проблем безопасности и очищения кода.
Находится этот чекбокс в рубрике “ Дубли” в конфигурации плагина, расположенной в сайдбаре. Перейдите по этому пути и активируйте предпоследний пункт.
Теперь, вне зависимости от того, будете ли вы использовать nextpage в WordPress чтобы разбить статью, копии не будут появляться гарантированно, негативно влияя на позиции ресурса в органической выдаче.
Тонкий вопрос обстоит с пагинацией в noindex WordPress. Существует множество теорий и практик, связанных с ней. В данной статье разберем постраничную навигацию именно на главной странице, собирающей превью записей сайта (не путать с архивами и каталогами товаров).
В чем проблема постраничной навигации
В WordPress все сущности составляются на лету, то есть собираются из отдельных файлов и вытаскивают контент из базы данных.
На страницах пагинации полностью дублируются title, description, h1 и другие элементы с домашнего адреса. Пример на скриншоте:
Дублирование meta-информации на страницах пагинации
Ниже в коде дублирующийся h1. Это ошибки SEO-оптимизации, так как все перечисленные meta-теги должны быть уникальными для каждой сущности. Поэтому не нужно отдавать такие страницы в выдачу, а лучше закрыть с помощью noindex. Тем более, что они в большинстве случаев бесполезны для продвижения.
Методы закрытия пагинации от ПС, и нужно ли это делать
Быстрый ответ – да, но как это лучше реализовать?
Рассмотри методы, актуальные для WordPres:
Атрибут rel="canonical"– действует как редирект, но для поисковых систем. Как только его видит робот ПС, то сразу переходит на каноническую страницу и не сканирует эту. Подход не совсем правильный, потому что тем самым мы полностью отрубаем индексацию и не даем роботу идти дальше. Ведь зачастую до старых статей можно добраться только через пагинацию. В случае с использованием canonical
дальше 2 шага робот ни Гугла, ни Яндекса не пойдет. И это неправильно.
Noindex – при наличии такого атрибута, робот проиндексирует страницу, поместит её в обход на следующий раз, а также перейдет по содержащимся на ней ссылкам (в нашем случаи это карточки постов), но показывать как самостоятельный документ в выдаче не будет. То что нужно, будем применять!
Nofollow – говорит, что переходить по ссылкам нельзя. Не применяем, потому что переход по ссылкам карточек постов в WordPress нужно сохранить, поэтому пишем follow.
Robots – хоть и говорят что этот файл стал рекомендательным, но ошибаются, он имеет свою силу. Можно одной строчкой в роботсе убрать весь контент из органической выдачи поисковиков. Советую его использовать как дополнение, тогда полностью обезопасите себя от появления страниц пагинации в выдаче.
Используем All in one SEO pack
У обладателей SEO плагина AIOSP есть возможность вставить noindex в пагинацию дальше 2 итерации.
Настройки индексирования в плагине All in one SEO pack
Сохраняйте и проверяйте результат, что должно появиться покажу в конце статьи.
Предлагаю посмотреть видео, чтобы увидеть наглядно, как происходит процесс:
Проблемы в Yoast SEO с noindex, follow
Разработчики WP-плагина Yoast SEO предусмотрели СЕО-правила и слушают напрямую специалистов из GOOGLE.
Уведомление Google
Это означает что если страницы нет в индексе, то сканировать и переходить по статьям робот не будет.
Тут получается патовая ситуация – в выдаче появляется множество документов пагинации, плюс их нельзя закрывать ни в rel canonical, ни в ноуиндекс, плюс появляются ошибки в панели вебмастера о дублирующих метатегах title и description.
Сделав эксперимент, увидел, что робот также сканирует постраничную навигацию WordPress, захватывая даже самые поздние посты.
В Yoast нельзя настроить noindex для страниц пагинации. Таких настроек просто нет. Вместо этого они сделали каноническую ссылку на саму страницу, где находится посетитель, подтверждая что это не повтор, а отдельный документ.
Канонический URL
Применяем Clearfy PRO
Если вы используете на своем сайте плагин Yoast SEO, то решением является плагин Clearfy PRO, который имеет две функции для пагинации. Мы пользуемся вторым вариантом:
Сanonical на первый документ (страницу) пагинации;
Добавление noindex на все страницы кроме первой.
Noindex в ClearfyPRO
Применяем код
Если не хотим комплексно улучшать сайт, то используем кастомную php-функцию. Помещаем код, представленный ниже в function.php темы сайта ( желательно для этих целей использовать дочернюю тему).
function wptemplate_noindex_paged() {
if ( is_paged() ){
?>
<meta name="robots" content="noindex,follow">
<?php
}
}
add_action( 'wp_head', 'wptemplate_noindex_paged', 2 );
Функция ноуиндекс фоллоу
Переходим в админке Wordperss Внешний вид — Редактор тем (лучше через FileZilla по FTP).
В правой колонке открываем function.php.
Вниз помещаем код.
Обновляем файл.
В дополнение вставляем в robots.txt такую конфигурацию.
Disallow: */page
Обновленный роботс
Результат
Результат методов одинаковый. Нажимаем на любую таксономию типа page/2/, page/3/ комбинацию клавиш Ctrl+U, потом Ctrl+F, вставляем в поле ввода noindex, ищем строчку. Рядом располагается Rest API.
<meta name="robots" content="noindex,follow"/>
Правильный результат внедрения noindex для page/2/
, page/3/
и т. д.
С помощью статьи узнали, для чего помещать noindex в пагинацию на WordPress и реализовали 3 простых метода. Выбирайте!
В статье рассмотрим, как добавляется и настраивается пагинация WordPress для удобного поиска информации посетителями.
Постраничная навигация
Нужна для того, чтобы группировать и сортировать большие объемы данных.
Бывает двух видов: алфавитная и числовая. Первая — для удобного представления словаря или раздела F. A. Q. Числовая помогает пользователю ориентироваться и находить нужный контент.
Делаем алфавитную пагинацию
Alphabetic Pagination
Вывести информацию по буквам алфавита просто: с помощью .
Основные настройки
Implementation— автоматический или ручной вывод алфавита. Если выбрано первое, то разбивка встроится автоматически. Она будет показана под основным меню. Для ручного режима выведется шорткод.
Display on all lists?— выбор мест и разделов вывода алфавитной пагинации.
Hide/Show pagination if only one post available?— показать/скрыть разбивку, если на сайте один пост.
DOM Position?— место вывода. Оставьте по умолчанию.
Language selection?— язык. Выберите “русский”.
Styles— стиль алфавитного блока (горизонтальный, вертикальный, строчные или прописные буквы).
Disable Empty Alphabets?— показать/скрыть разбивку, если нет постов.
4. Установите нужные опции и нажмите кнопку Save Changes.
Если выбрана автоматическая вставка, то главная будет иметь вид:
В другом случае — вывод набора шорткодов для вставки.
5. Добавьте шорткоды в файлы шаблонов.
ABC Pagination
Самое лучшее и современное решение для алфавитной пагинации — использовать плагин ABC Pagination WPShop. С ним вывод пагинации возможен где угодно в шаблоне без каких-либо ограничений в DOM, есть настройки для красивого визуального оформления списка букв и списка постов, море других нужных пользователю опций.
Плагин
Есть несколько хороших дополнений для решения задачи. Рассмотрим на примере бесплатного .
1. Установите и активируйте.
2. В админке перейдите в раздел Настройки -> WP-PageNavi.
3. Сделайте основные настройки (шаблон, количество и диапазон страниц для показа) и нажмите кнопку Сохранить изменения.
4. В шаблонах темы добавьте код:
<?php wp_pagenavi(); ?>
Если нужно заменить/добавить постраничную навигацию для блога, используйте шаблоны index.php, archive.php, search.php.
Кастомная функция
Если установка/работа плагина не устраивает, можно создать свою функцию.
Откройте файл functions.php активной темы и вставьте код:
function wpschool_page_navi() {
global $wp_query;
$pages = '';
$maxpages = $wp_query->max_num_pages;
if ( !$currentpage = get_query_var( 'paged' ) ) {
$currentpage = 1;
}
$link['base'] = str_replace( 999999999, '%#%', get_pagenum_link( 999999999 ) );
$link['totalpages'] = $maxpages;
$link['currentpage'] = $currentpage;
$totalpages = 0; //1 - вывести "Страница N из N", 0 - не выводить
$link['mid_size'] = 3; //к-во ссылок показывать слева и справа от текущей
$link['end_size'] = 1; //к-во ссылок показывать в начале и в конце
$link['prev_text'] = 'Пред.';
$link['next_text'] = 'След.';
if ( $maxpages > 1 ) {
echo '<div class="navigation">';
}
if ( $totalpages == 1 && $maxpages > 1 ) {
$pages = '<span class="pages">Страница ' . $currentpage . ' из ' . $maxpages . '</span>'."\r\n";
}
echo $pages . paginate_links($link);
if ( $maxpages > 1 ) {
echo '
‘; } }
Измените код под свои нужды (отмечено в комментариях).
Отдельно о пагинации постов
В движке также можно разбить посты и страницы. Для этого откройте на редактирование запись, активируйте режим Текст и вставьте тег <!--nextpage-->
.
Для нового редактора WordPress Gutenberg есть блок Разрыв страницы.
Если не работает переход
Обычно в итоге выводится ошибка 404.
Ошибка 404
Это значит, что запрошенная страница сайта не существует. Способы решения:
перейдите в админке в раздел Настройки -> Постоянные ссылки и нажмите кнопку Сохранить изменения;
очистите кэш на сайте и в браузере;
проверьте корректность работы всех активных плагинов;
пересмотрите добавленный вручную код на предмет ошибок.
Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.
Вордпресс прогрессивный движок для сайтов, имеющий множество скрытых фишек, которые не все знают. Такой возможностью является тег nextpage WordPress, разбивающий одну запись на несколько мелких частей. То есть та же пагинация как в рубриках или ленте страниц на главной только для отдельного поста, если он большой и требуется его разбить на логические главы, так она выглядит.
Как выглядит разбивка на части
Как разбить статью WordPress
Нужно определить поддерживает ли шаблон выводить такую пагинацию WordPress. Если работаете в старом редакторе, то переходим в режим Текст и добавляете в место разрыва код разделителя.
<!--nextpage-->
Тег nextpage
В gutenberg, есть специальный блок, находится здесь.
Блок разрыв страницы
Нажимаем знак плюс
Ищем раздел Элементы разметки
Находим Разрыв страницы, нажимаем
Добавился новый блок
Выбрал специально шаблон где вывода данной функции нет. Сохраним обновления записи, посмотрим что получилось внутри.
Отсутствие пагинации отдельной записи
Видим что нумерация не появилась в том месте где должен быть разрыв. Нет специальной функции в коде темы.
<?php wp_link_pages(); ?>
Вставляем непосредственно после вывода инструкции wp_content в стандартном цикле WordPress. В моем шаблоне нашел в файле single, и поместил код. Так можно сделать постраничную навигацию на статических страницах, тогда ищем файл page.
Инструкция wp-link
После сохранения разрыв из тега nextpape преобразуется в такой вид. Таких адресов можно сделать несколько. Советую почитать про серверные заголовки Last modified
.
Проверка
Нужно ли разбивать запись на несколько страниц в вордпресс
Однозначный ответ нет, не нужно. Лучше пусть статья будет объемная, большая, в ней будут все ключевые фразы, LSI слова, видео, картинки, чем это будет обрывок незаконченного текста. Ранжирование в таком случае будет отдельное у всех страниц, поисковик не склеит их.
ПС будет ранжировать каждый адрес отдельно и подбирать ей релевантный запрос для выдачи, но интент одинаковый, поэтому ценность всего материала снижается
Повтор title и description на всех последующих элементах, при неправильной настройке SEO плагина
Вложенность последующих статей на уровень ниже, прибавляется /2, /3 и так далее, что является минусом
Релевантность материала падает, потому что обозревает не всю область, а только анонс, лучше писать все в одном посте
Запреты индексации в noindex, canonical, robots. Многие начинающие вебмастера делают шаблонные настройки, в которых такие урлы закрываются мета тегами от индексации, поэтому они не попадут в выдачу, а начальные страницы будут не законченными
Главная проблема разбивки на страницы
Даже если не разделять nextpage, то не значит что дублей не будет в отдельных постах. Попробуйте прописать в конце url любого поста слеш и цифру 2. В 90% случаев откроется та же страница, с аналогичным контентом и одинаковым кодом.
Проверяем canonical
Но это просто атрибут, да он работает и говорит сразу, что тут делать нечего – оригинал находится по другому адресу. Представим что каноникла нет, или произошел сбой в поисковой выдаче и этот атрибут перестал работать, тогда множество статей с одинаковым содержанием, но разным урл попадут в поиск.
Нужно действовать радикальнее, спасет полный 301 редирект на стартовую страницу. Решение есть только в плагине Clearfy PRO. Сначала покажу как должен быть поставлен процесс. Происходит переброс на основной url.
Чтобы это организовать на блоге, в плагине Clearfy включаем соответствующий пункт, обязательно проверяем работу, как на видео выше.
Включение в ClearfyPRO
Закончу описание nextpage в WordPress, рассказал для чего он нужен, как его применить и дал рекомендации по устранению ошибок индексации, чтобы удалить все дубли из выдачи.
Не все вебмастера знают, что статьи в вордпресс можно разделять на части. Это называется разрыв страницы, осуществляется с помощью команды nextpage в WordPress, похожа на постраничную навигацию в рубриках и остальных архивах. Удобная вещь если хотите разделить большой пост на несколько мелких. Не путайте с командой more для анонсов.
Но есть проблемы, распишу списком некоторые.
Не рекомендую разбивать на составляющие отдельные записи, потому что у частей одинаковый запрос, и одна из статей просто «съест» в поиске другую, не даст занять позиции, ответа на вопрос пользователя не будет.
Одинаковые title и description, тоже минус оптимизации, потому что главный метатег это title.
Большая вложенность, к основному URL добавляется /2.
Интент материала будет размазан на две итерации, обе они будут не полные по содержанию.
Если же сайт не планируется продвигать в поиске, а только в социальных сетях, то данным функционалом можете пользоваться. Советую прочитать как узнать id любой сущности в WordPress.
В новом редакторе Gutenberg есть специальный блок, нажимаете на него и вставляете в необходимое место.
Гутенберг.
В старом редакторе WordPress явной возможности нет, только вручную. Переходим в раздел Текст и вставляем в необходимое место <!--nextpage-->. В обоих случаях обновляем и смотрим, что получилось, должна появится пагинация, во всех шаблонах сделано по разному.
Как отображается пагинация на статической странице..
Показ ссылок пагинации в постах
Некоторые темы не поддерживают данный функционал, но по правилам построения должны быть. За это отвечает инструкция.
<?php wp_link_pages(); ?>
Добавляем в документ single, там где необходимо выводить нумерацию. Обычно это после инструкции the_content. Пробуем вставлять, но совет для новичков, делаем все через FTP соединение. Для примера приложу скриншот.
Вставляем wp_link_pages.
Какая опасность есть в nextpage
Независимо от того пользуетесь или нет разрывом nextpage, к url каждой отдельной статьи можно приписать /2 и откроется точно такая же, но с другим адресом. Это полный дубль, таких в индекс можно занести большое количество, могут постараться конкуренты, добавляя к каждой статье какую угодно цифру. Про эту уязвимость написано в статье про полную SEO настройку.
Дублирование.
Эту ситуацию нужно исправлять, поэтому предлагаю решения, наилучшее это редирект на оригинал.
Удаляем разделение постов в Clearfy
Разработчики Clearfy смогли предусмотреть даже такую мелочь, если планируете никогда не использовать nextpage на сайтах WordPress, то рекомендую сделать перенаправление на основной адрес. Других плагинов не нашел, только данный.
Кнопка удалить nextpage.
Canonical в SEO плагинах
Некоторые SEO плагины умеют добавлять rel=»canonical» с адресом исходной записи WordPress. Метод тоже рабочий, но действует только для поисковых систем, то есть для них это как переадресация, и они не сканируют и не берут документ в индекс. Это есть в Yoast SEO, он автоматически добавляет этот тег в код блога.
Canonocal в йоаст.
Проверяйте свои WordPress блоги на наличие данной неисправности, устраняйте любым из методов, потому что nextpage пользуются редко, а действует он всегда.
Не все вебмастера пользуются удобной функцией хлебных крошек Yoast SEO, являющийся самым популярным среди сео решений для WordPress. Почему стоит и как тонко настроить вывод breadcrumbs расскажу в статье.
Как установить хлебные крошки Yoast – проверка
Yoast популярный продукт, поэтому некоторые разработчики изначально встраивают код вывода хлебных крошек в шаблон. Поэтому сначала активируйте данную функцию в плагине и посмотрите есть ли bredcrumbs на сайте.
Проверка наличия.
Если нигде не появились крошки, то переходим к внедрению кода плагина в шаблон. Рекомендую установить для сущностей «страницы» и «записи», у остальных, например, рубрики, можно не ставить. Разберу на примере записей, хочу показать хлебные крошки под заголовком, в моем случае это h1. Разберу на шаблоне Twenty Sixteen.
Вставляем код в файлы шаблона
Открываем файл single.php или любой другой, в зависимости где нужны хлебные крошки yoast. Обязательно делам через FTP соединение, с подключенной дочерней темой.
Видим что отображение контента, заголовка h1, отрывков, миниатюр нет. Но есть подключение документа content-single в папке template-parts, открываем его.
Копирую PHP инструкцию, вижу в документе content-single есть заголовок, контента и остальных составляющих. Вставлю код под тегом header и обновлю. Перехожу на сайт и проверяю работу.
Результат
Как видим появились в том месте где хотели. Таким методом проставляем в других элементах сайта. Но завершающая крошка полностью дублирует заголовок, что считается ошибкой оптимизации и расценивается как спам, решим проблему. Не забываем очищать кэш в плагине кэширования.
Показ хлебных крошек с помощью shortcode
Создатели предусмотрели более тонкий показ хлебных крошек с помощью шорткода (shortcode). Если они нужны на отдельных составляющих, то применяем шорткод.
Вставляем его в любое место редактора записей, рубрик, меток или страниц и наблюдаем появление навигации.
Изменяем последнюю крошку в Yoast
Команда Yoast предусмотрела такую ошибку, заранее сделав возможность изменить последний элемент в списке, чтобы заголовок не дублировался. Переходим в редактирование любой записи.
Смотрим результат на блоге
Удалить последнюю крошку в Clearfy
Настройки для скрытия названия страницы не предусмотрено в плагине, но есть два способа. Первый с помощью плагина Clearfy PRO, переходим в раздел SEO и включаем соответствующую функцию, сохраняем.
Включаем Clearfy PRO.
Есть надстройка «Заменить название на title», то есть тайтл, который ввели в Yost, можно поставить взамен последнего элемента, как делали в прошлом пункте, только тут автоматически. Но сделаем одну операцию, удалим дублирование, смотрим что получилось – надпись пропала.
Отсутствие.
Много написано статей про Clearfy PRO, предлагаю всем читателям WPtamplate приобрести его с хорошей скидкой 15%, нажимайте на кнопку цена снизится автоматически.
Объяснять что означает функция не буду, копируем ее и переходим в файл function.php активной темы.
Результат работы аналогичен, но проблема в том, что администратор может не правильно сделать, либо после смены шаблона все слетит, придется восстанавливать и вспоминать что изменял.
Настройка внешнего вида хлебных крошек Yoast WordPress
Сначала заходим в глобальные настройки breadcrumbs и выставляем параметры по своему желанию.
Стандартное изменение.
Разделитель (separator) – что будет показано между ссылками
Задаем текст для главной страницы и ее ссылки
Префикс – отображается перед всей навигационной цепочной
Можно выставить префиксы для архивов, страниц поиска и 404 ошибки
Выделение конечного элемента жирным цветом
Такосномия для записей, можно выбрать что отображать в цепочке, на данный момент указано, что отображаться будет рубрика, где расположена статья. Но в WordPress статья может содержаться не только в рубриках, но в архивах дат или на странице автора, тут это можно изменить
Проверим что изменилось после сохранения изменений. Видим изменения применились.
Другой внешний вид.
Не запрещено использовать emoji, изменять внешний вид с помощью стилей и добавлением новых тегов к главному коду вывода. Более детальную документацию читайте на официальном сайте.
Shema org в хлебных крошках yoast
Ранее писал статью про application json ld, подключающая микроразметку shema для всего сайта и показывал как ее отключить. При отключении микроразметки, она пропадет и на крошках.
Если используете разметку от yoast, то в исходном коде сайта не увидите, потому что она загружается скриптом, а не методом microdata, но абсолютно валидна.
Разработчики йоаст предусмотрели связь с WooCommerce, в ХК можно вывести таксономию в адресе URL для разных видов страниц: метки товара, категория и для класса доставки. Так вы можете задать нужный путь до этих трех составляющих цепочки.
WooCommerce и yoast
В статье разобрали как настроить и вывести в вордпресс хлебные крошки с помощью плагина Yoast SEO. При дополнении напишите в комментариях.
Узнайте, как можно закрыть те или иные страницы в файле robots.txt и как создать действительно правильный robots.txt на WordPress сайте.
Считаю лучшим решением для раскрутки это плагин Yoast SEO, он включает в бесплатной версии тот минимум, необходимый для создания правильного управления поисковыми системами, что он умеет.
Много других фишек, что сделало его популярным. Вот подробный пост по настройке Yoast SEO , читайте и делайте все в соответствии с инструкцией.
XML карта сайта
Обязательный пункт в СЕО при оптимизации это XML карта. Ее может создавать йоаст, но формируется с ошибками для Яндекса. Поэтому лучше использовать отдельный модуль Google XML Sitemap , переходите и смотрите как это делать.
Robots txt
Рекомендательный файл для поисковых роботов, но поддерживается, поэтому должен присутствовать. Как создавать Robots txt для Яндекса и Google. Документ регулирует куда можно ходить роботу, с помощью команд ALLOW и DISALLOW, указанием пути к карте, в некоторых случаях адрес главного зеркала.
HTACCESS
Серверный файл для Apache, регулирующий редиректы, кэширование и остальные полезные функции. Возможно его не будет, тогда htasccess создаем и настраиваем . Не пренебрегайте рекомендациями этого файла, он может как улучшить, так и навредить ресурсу.
HTTPS и SSL сертификат
Обязательный пункт, потому что браузеры Chrome и Yandex начали помечать ресурсы без HTTPS как небезопасные со снижением трафика, поэтому покупайте сертификаты, либо пользуйтесь бесплатным Let’s Encrypt. Важно правильно настроить сам редирект с HTTP на HTTPS . Установку безопасного соединения должен делать хостер.
Дубли
Разработчики WordPress заботятся об удобстве использования, поэтому добавляют множество бесполезных функций оптимизации в ядро. Дубли создаются для сортировки статей, картинок и архивов по категориям, но часто они клонируют друг друга, создавая одинаковый контент, мешая раскрутке. Разберемся какие виды формирует WordPress.
Архивы
Архивы нужно удалять , сортируют записи более тонко. Перечислю какие виды архивов есть в WordPress:
Архивы по авторам – если много авторов и у них есть свой аккаунт, то для каждого формируется страница с пагинацией постов, написанных ими. Функция бесполезная, если на блоге один автор, то его раздел полностью повторяет главную
По датам – формируются по дням, месяцам и годам. Каждая итерация показывает посты опубликованные в данный период. Сомневаюсь, что несет в себе пользу
Остальные архивы создаваемые с помощью плагинов и шаблонов. Такие тоже бывают, но редко, за ними следим
Таксономии – рубрики и метки
По умолчанию в WordPress две таксономии это Рубрики и Метки. Считаю их отличным способом СЕО продвижения при правильной оптимизации метатегов описания. Единственное если не используете метки (теги) в написании статей, то удаляем от случайного появления повтора в выдаче. Инструкцию по категориям WordPress используем ссылку в разделе про архивы и в начале статьи в йоаст.
Вложения
При загрузке медиа объектов – картинка, анимация или видео, под каждое содается отдельная страница, абсолютно пустая, содержащая сам файл. Считается не дублем, а лишним, вложения удаляем . Данные документы хорошо работают для SEO сайтов фотографов, портфолио и других визуальных разработках, но не для блогов.
Shortlinks (шортлинки)
В коде поста в разделе HEAD формируется тег link, с коротким url, для удобства программирования и сортировки данных. У каждого элемента есть свой ID номер, параллельно создается виртуальная страница с адресом вида /?p=number-id, этот хвост полностью заменяет url самой записи, то есть:
https://site.ru/statya-pro-optimizaciu
Ей присвоен id с номером, например, 2341, тогда автоматически создается линк такого вида, который полностью дублирует основную.
https://site.ru/?p=2341
Этот полный дубль shortlink, закрываем от индексации
с помощью оптимизации каноникал или редиректа.
Пагинация постов
Не многие знают о такой возможности, чтобы разделять статью на несколько мелких с помощью тега nextpage, добавляющий пагинацию в конце поста на следующую часть материала. Но беда в том что title, h1 и description полностью дублируются с основного url.
Навигация
Так же если не пользуетесь nextpage, то угроза появления SEO дублей есть, введите в конце адреса /1/ или /2/ в 90% случаев откроется таже запись, нужно деактивировать пагинацию и nextpage
для сохранения трафика.
Очистка кода своими руками
WordPress создает мусор в исходном коде сайта. Ниже приведу список то что мешает и возможно удалить.
Json rest api
– технические скрипты для удаленного подключения
Смайлы Emoji
– с версии 4.5 в ядро WordPress встроили поддержку смайлов Emoji, которыми не пользуются, а они загружаются со стороннего сервиса и добавляют не маленький скрипт в исходный код
Удалить dns-prefetch
– указывают как загружать контент, но по замерам скорости никакой пользы от них нет, только лишнее подключение
jquery-migrate.min.js
– javascript библиотека для старых плагинов, после деактивации проверяем работу блога
– создана для оптимизации слабого интернета, чтобы можно было загружать контент с локального компьютера напрямую в WordPress. Сейчас скорость интернета большая, поэтому лишних манипуляций не делаем
WLW Manifest
– включает возможность управлять WordPress через программу live writer, в 99% не используется
Атрибуты prev и next
– посетитель не увидит этих ссылок на следующую и предыдущую запись, служат для некоторой SEO связи между статьями для поисковиков, но слабо влияют на индексирование
Стили recentcomments
– в WordPress есть виджет последние комментарии, которые нельзя перебить, располагаются напрямую в коде, удаляем их
Убираем RSS ленты
– при неиспользовании RSS каналов передачи контента, советую отключить
Удалить граватары – при ревностном отношении к оптимизации вордпресс, можно сделать комментаторов одинаковыми и убрать множество запросов к сервису gravatar. Решение есть в Clearfy, задаем картинку по умолчанию и включаем опцию
Убираем граватары
В дополнение можно скрыть виджеты: облако меток, календарь и страницы, они делают нагрузку на базу данных, давая большое количество запросов.
Выключаем лишние виджеты
Дополнительные настройки для SEO в WordPress
Конечно этими пунктами не обойдется, далее переходим к более продвинутым возможностям и технологиям, которые должны применять не только владельцы WordPress.
Минификация кода
Last Modified и If-Modified-Since
Два друга Last Modified и If-Modified-Since дают понять поисковому роботу, выкачивать ли блог и обновлять в поиске. При обновлении статьи мы нажимаем на кнопку Обновить, но роботы выкачивают страницу и сравнивают ее в любом случае, потому что им не говорят обновлен ли материал или нет.
Сервис проверки Last Modified
Эти два серверных заголовка говорят поисковикам когда обновлялся материал и пускать ли робота проверять. Робот приходит с датой последнего сканирования, а last modified, говорит что статья не изменялась – иди дальше. Тем самым уменьшаем количество запросов и скорость индексации.
Оптимизация картинок
Упущением в SEO продвижении является не оптимизированные изображения, важными пунктами являются три параметра:
Атрибут ALT он показывает, что указано на картинке, полезен для электронных читалок и версий для слабовидящих
Тайтл, он отображается при наведении
Околокартиночный текст должен соответствовать тому, что показано
Сжимать по весу и размеру
Процесс простой, но если картинок в вордпресс много, то лучше оптимизировать пошагово: сделали снимок, сразу сжали, написали к ней ALT и TITLE.
Исходящие ссылки
Часто в комментариях WordPress спамят ссылками и в имени комментатора. В итоге получаем много исходящих адресов, которые в 90% являются плохими, могут навредить, получив фильтр за ссылочный спам, поэтому их нужно закрывать от индексации.
Не забываем про статьи, при написании часто вставляем урлы на другие источники и дополнительные материалы. Не советую их оставлять в открытом виде, скрываем исходящие ссылки.
Noindex для пагинации
Noindex для пагинации это наиболее щадящий метод закрытия постраничной навигации от индексации, потому что добраться до старого материала можно только через нее. Не рекомендую пользоваться атрибутом canonical для пагинации на главной, действуем с помощью noindex и запрета в robots.
Транслитерация заголовков
По умолчанию url любой сущности формируется из заголовка, прописываемый автором. Но если домен на латинице, а адрес сущности на кириллице, то это ошибка оптимизации, давайте исправлять.
Урл можно переделать вручную при написании паста, но лучше пользоваться автоматической транслитерацией заголовков, чтобы не запоминать этот момент. Для примера такая вещь есть в нашем Clearfy PRO.
Транслитерация
Уведомления о Cookie
Обязательная вещь при продвижении в Google – США и Евросоюз решили сделать такое предупреждение, чтобы сказать посетителям что о них автоматически собирается некоторая информация. Считаю бестолковым дополнением, потому что ресурсы так или иначе собирают их, cookie надо добавлять.
Cookie
Корректировка Yoast
Не назову это ошибками, но в Yoast есть три отрицательных действия, которые следует устранить:
Микроразметка json – она не полная и содержит несколько ошибок
Добавление комментариев о начале и конце кода вставки блока от йоаст
Устранить тег <image:image> из XML карты, иначе не проходит валидацию
Это умеет клеарфай про, просто переключаете в активное положение кнопки.
Донастройка Yoast
Микроразметка
Микроразметка Shema org косвенно влияет на продвижение, но дает лучшее понятие ПС и пользователям в поисковой выдаче о чем контент, потому что снипет будет расширенным. На стадии решения нажатия на результат поиска человек оценивает визуальную и информационную составляющие. На верхний сниппет вы нажмете с более высокой вероятностью, чем на нижний – это работа микроразметки.
Снипет в выдаче
Есть автоматические решения в виде SEO плагинов, они добавляют микроразметку, но перепробовав около 10 штук понял, что не отвечают требованиям, скорее делают хуже, запутывая роботов, которые потом дают не валидный снипет в выдачу. Вижу только один выход – использовать уже оптимизированные шаблоны для WordPress, советую темы от WPShop.
Использование тега nextpage
Такая пагинация используется не часто, поэтому в стандартном WordPress редакторе (TinyMCE) нет кнопки для такой разбивки на страницы. Разбивка достигается путем вставки следующего html-кода в текстовом редакторе в нужном месте:
После вставки такого тега (кода-разделителя) на странице во фронт-энде сайта появится пагинация (вид зависит от оформления темы):
А каждая страница пагинации будет иметь следующие URL:
http://example.com/privet-mir/2/
http://example.com/privet-mir/3/
<!--nextpage-->
Не работает внутри шорткодов:
Тег не будет работать, если использовать его в коде шорткода. Например:
<p>Проверка разбиения на страницы</p>
<!--nextpage-->
[pag-test]
Разбиение на страницы ожидаемо происходит только в первом месте.
Дело тут в том, что тэг <!--nextpage--> обрабатывается в самом начале обработки данных поста, еще до выполнения каких либо хуков, а шорткоды обрабатываются на хуке. Т.е. когда шорткод встраивается в контент, теги <!--nextpage-->
в нём уже не обрабатывается, потому что они уже были обработаны ранее, подробнее см. ниже.
Добавление кнопки в визуальный редактор
Когда нужна частая вставка такого тега разбиения страницы на несколько подстраниц, удобно иметь кнопку вставки нужно тега.
Для добавления соответствующей кнопки в редактор WordPress, нужно добавить небольшой фрагмент кода в functions.php
темы:
Когда нужно проверить разбит ли пост на страницы, сколько всего страниц, получить контент конкретной страницы и т.д. Можно пользоваться глобальными переменными, которые определяются внутри цикла WordPress, функцией setup_postdata(), которая в свою очередь вызывается либо напрямую, либо через функцию the_post().
Список таких глобальных переменных внутри цикла:
$page (число)
Страница текущей записи, когда пост разделен на страницы с помощью тега <!—nextpage—>.
$pages (массив)
Контент страниц текущей записи (поста). Каждая страница тут разделяется с помощью тега <!—nextpage—>.
$multipage (логический)
Определяет разделяется ли текущая запись на страницы с помощью тега <!—nextpage—>. Содержит true или false.
$numpages (число)
Количество страниц, если запись разделена на страницы с помощью тега <!—nextpage—>.
С помощью этих глобальных переменных можно делать такие проверки, внутри цикла:
# Проверка разделения записи на страницы
Взято из описания is_paged()
$paged = $wp_query->get( 'page' );
if ( $paged < 2 ){
// Это первая страница или пост не разделен на страницы
}
else {
// Это 2,3,4 . страница разделенного поста.
}
$paged = get_query_var( 'page' ) ?: false;
if ( $paged < 2 ){
// Пост не разделен на страницы или это не первая страница.
}
else {
// Это 2,3,4 . страница разделенного поста.
}
the_post();
if( !empty($GLOBALS['multipage']) ){
// запись разделена на страницы
}
Узнаем сколько страниц у записи
the_post();
if( !empty($GLOBALS['numpages']) ){
if( $GLOBALS['numpages'] === 1 ){
// запись разделена на страницы
}
else {
// запись разделена на страницы
echo "Кол-во страниц {$GLOBALS['numpages']}";
}
}
Как получить весь контент страницы разделенной на под-страницы
Стандартные функции WP the_content() и get_the_content() возвращают только часть контента подходящую под текущую страницу пагинации.
Если несмотря на разделение текста нужно вывести весь текст, то можно воспользоваться таким хаком:
global $post;
$content = apply_filters( 'the_content', $post->post_content );
echo $content;
Как это работает
При вызове функции the_post() или setup_postdata( $post ) срабатывает метод generate_postdata( $post ). Этот метод, среди прочего, разбивает текущий контент записи ( $post->post_content) на страницы и кладет эти данные в глобальную переменную global $pages.
Затем при вызове функции the_content() или get_the_content() используется глобальная переменная global $pages из которой выбирается текущий контент (текущая страница пагинации).