Обычно я делаю сайты на CMS MODX Revolution, и там есть удобное дополнение Collections, а котором можно быстро редактировать поля страниц в виде таблицы.
К сожалению, для Wordpress ничего похожего я не нашел. По умолчанию поле Title не выводится в форме быстрого редактирования в таблице постов. Да и сама по себе таблица постов мне не очень нравится. Но наверное это дело вкуса.
Исходя из этого, я реализовал для себя удобный способ быстро обновить заголовки и Title постов в Excel. При этом составил функцию автопроверки Title, которая контролирует количество символов и стоп-символы, которые нельзя использовать в Title.
Хочу отметить, что на этих сайтах установлен плагин Yoast SEO, и инструкция, в частности запросы к базе данных, написаны под этот плагин. Также перед внесением любых изменений этим способом делайте бэкап базы данных. Я разбираюсь в разработке сайтов и даже не очень хорошо зная Wordpress, хорошо разбираюсь в SQL и могу исправить ошибки быстро самостоятельно. Если у вас нет рядом специалиста — позаботьтесь о себе и сделайте бэкап.
Шаг 1 — SQL запрос для выборки
На этом этапе нам нужно выгрузить все опубликованные записи из базы данных сайта в Excel. Удобнее всего это будет сделать через PHPMyAdmin. Посмотрите на сайте вашего хостинга, как зайти в PHPMyAdmin — способ может отличаться в зависимости от панели управления хостингом.
В PHPMyAdmin нужно выполнить SQL запрос на выборку постов из базы данных:
SELECT `p`.`ID`, `p`.`post_title`, `seo`.`meta_value` AS `meta_title`, `yoast`.`permalink` AS `URL`, 'wp' AS `prefix` FROM `wp_posts` `p`
LEFT JOIN `wp_postmeta` `seo`
ON `p`.`ID` = `seo`.`post_id` AND `seo`.`meta_key` = '_yoast_wpseo_title'
LEFT JOIN `wp_yoast_indexable` `yoast`
ON `p`.`ID` = `yoast`.`object_id` AND `yoast`.`object_sub_type` = 'post'
WHERE `p`.`post_type` = 'post' AND `p`.`post_status` = 'publish'
Обратите внимание — я указал стандартный префикс таблиц wp_
, на вашем сайте он может быть изменен в целях безопасности. Посмотреть его можно в PHPMyAdmin.
Здесь мы выбираем посты из таблицы wp_posts, присоединяем к ней таблицу wp_postmeta, в которой хранятся дополнительные поля к постам, одно из которых — это Yoast Meta Title. Также присоединяем таблицу wp_yoast_indexable чтобы в Excel таблице у нас были актуальные URL адреса.
Дополнительно выбираем префикс таблиц как строку. Это нужно чтобы потом упростить создание SQL запросов в формулах Excel.
Шаг 2 — Экспорт данных
Теперь нужно экспортировать полученные данные в CSV файл (его можно открывать в виде Excel таблицы). Нажмите «Экспорт» в панели под таблицей результатов запроса.

Выберите пункт «Обычный экспорт», чтобы увидеть дополнительные настройки. Выберите в меню «Формат» значение «CSV for MS Excel».

Кодировка файла для кириллических символов должна быть «windows-1251». Компрессию можно оставить, особенно для больших данных. Но для небольшого объема (до 5000 строк) можно выключить, чтобы не распаковывать архив.

Нажмите «Вперед» — начнется загрузка файла.
Шаг 3 — Подготовка таблицы
Открываем скачанный файл. Теперь нужно подготовить таблицу для удобного редактирования и последующего обновления данных в базе данных.
Выделите любую ячейку с данными. Преобразуем диапазон в форматированную таблицу горячими клавишами «Ctrl+T». Чекбокс «Таблица с заголовками» должен быть активен.
Скопируйте код ниже и вставьте в любую ячейку пустого столбца справа от нашей таблицы. Он должен автоматически добавиться к форматированной таблице, а формула заполнить весь столбец.
="("&ДЛСТР([@[meta_title]])&") "&ЕСЛИ(ДЛСТР([@[meta_title]])<70;"Короткий Title;";"")&ЕСЛИ(ДЛСТР([@[meta_title]])>150;"Длинный Title;";"")&ЕСЛИ(ЕОШИБКА(ПОИСК("!";[@[meta_title]];1));"";"Содержит '!';")&ЕСЛИ(ЕОШИБКА(ПОИСК(".";[@[meta_title]];1));"";"Содержит '.';")&ЕСЛИ(ЕОШИБКА(ПОИСК("~?";[@[meta_title]];1));"";"Содержит '?';")&ЕСЛИ(ЕОШИБКА(ПОИСК(":";[@[meta_title]];1));"";"Содержит ':';")&ЕСЛИ(ЕОШИБКА(ПОИСК("_";[@[meta_title]];1));"";"Содержит '_';")&ЕСЛИ(ЕОШИБКА(ПОИСК("(";[@[meta_title]];1));"";"Содержит '(';")&ЕСЛИ(ЕОШИБКА(ПОИСК(")";[@[meta_title]];1));"";"Содержит ')';")&ЕСЛИ(ЕОШИБКА(ПОИСК("[";[@[meta_title]];1));"";"Содержит '[';")&ЕСЛИ(ЕОШИБКА(ПОИСК("]";[@[meta_title]];1));"";"Содержит ']';")&ЕСЛИ(ЕОШИБКА(ПОИСК("{";[@[meta_title]];1));"";"Содержит '{';")&ЕСЛИ(ЕОШИБКА(ПОИСК("}";[@[meta_title]];1));"";"Содержит '}';")&ЕСЛИ(ЕОШИБКА(ПОИСК("/";[@[meta_title]];1));"";"Содержит '/';")
Эта формула нужна для проверки корректности написания Title страницы. Содержит следующие правила:
- Длина
- не менее 70 символов
- не более 150 символов
- Стоп-символы
- точки
- восклицательные знаки
- вопросительные знаки
- двоеточия
- нижнее подчеркивание
- скобки круглые
- скобки фигурные
- скобки квадратные
- слэши
Вы можете скорректировать длину Title в зависимости от вашей SEO стратегии. Для меня именно эти цифры кажутся оптимальными. Поисковые системы отображают первые 50-60 символов, в которые нужно вписать ключевой запрос. Все остальное мы можем использовать для повышения релевантности страницы.
Стоп-слова в Title мешают поисковой системе корректно его оценивать. Например, символ точки разбивает заголовок на два «пассажа». Это две независимые части, которые поисковая система оценивает отдельно.
Формула проверяет эти ошибки и выводит уведомление. Также в начале она выводит количество символов в Title.
В следующий свободный столбец добавляем формулу генерации SQL запросов для обновления заголовков H1.
="UPDATE `"&[@[prefix]]&"_posts` SET `post_title` = '"&[@[post_title]]&"' WHERE `ID` = "&[@ID]&";"
В следующий столбец — формулу генерации SQL запросов на изменение Meta Title в двух таблицах.
=ЕСЛИ([@[meta_title]]<>"NULL";"UPDATE `"&[@prefix]&"_yoast_indexable` SET `title` = '"&[@[meta_title]]&"' WHERE `object_id` = "&[@ID]&" AND `object_type` = 'post'; UPDATE `"&[@prefix]&"_postmeta` SET `meta_value` = '"&[@[meta_title]]&"' WHERE `meta_key` = '_yoast_wpseo_title' AND `post_id` = "&[@ID]&";";"")
Теперь можете править заголовки и Title прямо в Excel, выделять актуальные цветом. Страницы можно открывать из столбца с URL адресом.

Если у вас есть централизованная таблица для SEO оптимизации сайта — можно адаптировать формулы под нее и также быстро обновлять данные на сайте, сэкономив время на ручном редактировании в панели администратора.
Шаг 4 — Обновление данных
Выделите и скопируйте ячейки из тех строк и столбцов, в которых поменяли значения. Вернитесь в окно выполнения SQL запросов в PHPMyAdmin, вставьте скопированные запросы и выполните. Проверьте изменения на сайте. Если что-то сломалось — восстановите бэкап.
Комментарии (0)