Как добавить Meta Description странице WordPress используя functions.php без плагинов

от 2018 - 07 - 15

Представляю вашему вниманию перевод статьи некого Zac Gordon, которая помогла мне решить задачу добавления мета тэга description к страницам, генерируемым автоматически, к которым у плагина All-in-One-SEO доступ отсутствует. Мне требовалось добавить на сайт описания для страниц login, register и lostpassword, которых не видит All-in-One-SEO.

Итак оригинальная статья

А теперь адаптированный под мою задачу перевод:

В процессе работы над курсом СЕО (SEO — search engine optimization) для WordPress недавно я искал способ добавить мета описание (meta description) к страницам в ручную, из файла functions.php.

Немного поигравшись, я придумал это решение:

// Meta description set where empty
function custom_add_meta_description_tag() {
?>
<meta name="description" content="<?php if ( !is_single() || !is_page() ) {
		global $wp;
		switch ($wp->request) {
			case 'register':
				echo 'Регистрация на сайте inf-o.ru позволит вам получить доступ в личный кабинет и писать сообщения в чат и форум';
				break;
			case 'lostpassword':
				echo 'Восстановление пароля для сайта inf-o.ru - возврат доступа к личному кабинету';
				break;
			case 'login':
				echo 'Авторизация на сайте inf-o.ru, введите свои логин и пароль';
				break;
		}		
	} ?>" />
<?php 
}

add_action('wp_head', 'custom_add_meta_description_tag', 1); 

(В данном случае решение Зака сокращено и заменено моим. Исходное, если интересно, смотрите в первоисточнике)

Это, конечно, порождает большой вопрос: почему ты хочешь использовать такое решение вместо плагинов вроде SEO by Yoast или All in One SEO. Я не думаю, что действительно следует так делать :Р Я просто хотел продемонстрировать как это делается.

Если у вас есть более элегантное решение, пожалуйста предлагайте!