小金井にあるWEB制作会社の備忘録

MEMORANDUM

WordPress(ワードプレス)でページごとのタイトル、ディスクリプションを変更する

WordPress(ワードプレス)でページごとにタイトル(title)やディスクリプション(description)タグを変更する場合、「all in one seo」等のプラグインを使用されることが多いのだけれど、プラグインの多用はサイト遅延の原因にもなるので、phpを使用して直接記載する方法をメモ。

function.php(PHP)

//タイトルタグの設定
function custom_document_title($title) {
	if(is_home() || is_front_page()) {
		$title = get_bloginfo('name');
	}elseif(is_single()) {
		$title = get_the_title().'|'.get_bloginfo('name');
	}elseif(is_page()) {
		$title = get_the_title().'|'.get_bloginfo('name');
	}elseif(is_category()) {
		$title = single_cat_title('', false).'|'.get_bloginfo('name');
	}elseif(is_tag()) {
		$title = single_tag_title('', false).'|'.get_bloginfo('name');
	}else if(is_archive()){
		$title = '投稿一覧|'.get_bloginfo('name');
	}else{
		$title = get_bloginfo('name');
	}
	return $title;
}
add_filter('pre_get_document_title', 'custom_document_title');

//ディスクリプションタグの設定
function custom_meta_description() {
	global $post;
	$description = '';

	if(is_home() || is_front_page()) {
		$description = 'カスタムホームページディスクリプションを記載';
	}elseif(is_single() || is_page()) {
		// 抜粋がある場合
		if(has_excerpt($post->ID)) {	
			$description = strip_tags(get_the_excerpt($post->ID));
		}else{
			$description = 'カスタムホームページディスクリプションを記載';
		}
	}elseif(is_category()) {
		$description = 'カテゴリー: '.single_cat_title('', false).'に関する記事一覧ページです。';
	}elseif(is_tag()) {
		$description = 'タグ: '.single_tag_title('', false).'に関連する記事一覧ページです。';
	}elseif(is_archive()) {
		$description = '投稿記事一覧ページです。';
	}else{
		$description = 'カスタムホームページディスクリプションを記載';
	}

	// ディスクリプションタグを出力
	echo('<meta name="description" content="'.esc_attr($description) .'">')."\n";
}
add_action('wp_head', 'custom_meta_description');

「header.php」内に既に「title」タグが記載されている場合は、「title」タグの削除が必要です。

同一カテゴリーの記事