Wordpressでページごとにtitleタグとmetaタグ(descripion,keywords)を自動化 | デジカメスナップ

デジカメスナップ
デジカメスナップ > サイト管理 > WordPress > WordPressでページごとにtitleタグとmetaタグ(descripion,keywords)を自動化

WordPressでページごとにtitleタグとmetaタグ(descripion,keywords)を自動化

SEO的にはtitleタグやdescriptionが同じなのは好ましくないので、
titleタグとmetaタグ(descripion,keywords)を
ページごとに自動で変更するようにheader.phpを修正しました。

修正したコードは以下のとおりです。
※一部全角化されていますので、そのままコピーしないでください。

<?php if ( is_single() ) { // 単独記事ページの場合 ?>
<title><?php single_post_title(); ?> | <?php bloginfo(‘name’); ?></title>
<?php if ($post->post_excerpt){ ?>
<meta name=”description” content=”<? echo $post->post_excerpt; ?>” />
<?php } else {
$summary = strip_tags($post->post_content);
$summary = str_replace(“n”, “”, $summary);
$summary = mb_substr($summary, 0, 80). “…”; ?>
<meta name=”description” content=”<?php echo $summary; ?>” />
<?php } ?>
<?php } elseif( is_page() ) { // 固定ページの場合 ?>
<title><?php wp_title(”) ?> | <?php bloginfo(‘name’); ?></title>
<?php } elseif( is_category() ) { // カテゴリページの場合 ?>
<title>カテゴリ:<?php single_cat_title(); ?><?php if($paged>0) echo’ Vol.’.$paged;else ?> | <?php bloginfo(‘name’); ?></title>
<meta name=”description” content=”デジカメブログ『<?php bloginfo(‘name’); ?>』のカテゴリ「<?php single_cat_title(); ?>」の記事一覧を表示しています。” />
<meta name=”keywords” content=”<?php single_cat_title(); ?>,デジカメ,スナップ,写真,ブログ” />
<?php } elseif( is_tag() ) { // タグページの場合 ?>
<title>タグ:<?php single_tag_title(); ?><?php if($paged>0) echo’ Vol.’.$paged;else ?> | <?php bloginfo(‘name’); ?></title>
<meta name=”description” content=”デジカメブログ『<?php bloginfo(‘name’); ?>』のタグ「<?php single_tag_title(); ?>」の記事一覧を表示しています。” />
<meta name=”keywords” content=”<?php single_tag_title(); ?>,デジカメ,スナップ,写真,ブログ” />
<?php } elseif( is_month() ) { // 月ページの場合 ?>
<title><?php echo get_the_time(‘Y年n月’); ?>の記事一覧<?php if($paged>0) echo’ Vol.’.$paged;else ?> | <?php bloginfo(‘name’); ?></title>
<meta name=”description” content=”デジカメブログ『<?php bloginfo(‘name’); ?>』の<?php echo get_the_time(‘Y年n月’); ?>の記事一覧を表示しています。” />
<meta name=”keywords” content=”<?php echo get_the_time(‘Y年n月’); ?>,記事一覧,デジカメ,スナップ,写真,ブログ” />
<?php } elseif( is_year() ) { // 年ページの場合 ?>
<title><?php echo get_the_time(‘Y年’); ?>の記事一覧<?php if($paged>0) echo’ Vol.’.$paged;else ?> | <?php bloginfo(‘name’); ?></title>
<meta name=”description” content=”デジカメブログ『<?php bloginfo(‘name’); ?>』の<?php echo get_the_time(‘Y年’); ?>の記事一覧を表示しています。” />
<meta name=”keywords” content=”<?php echo get_the_time(‘Y年’); ?>,記事一覧,デジカメ,スナップ,写真,ブログ” />
<?php } elseif( is_search() ) { // 検索ページの場合 ?>
<title><?php echo $s; ?>の検索結果<?php if($paged>0) echo’ Vol.’.$paged;else ?> | <?php bloginfo(‘name’); ?></title>
<meta name=”description” content=”<?php echo $s; ?>の検索結果を表示しています。” />
<meta name=”keywords” content=”<?php echo $s; ?>,記事一覧,デジカメ,スナップ,写真,ブログ” />
<?php } elseif( is_404() ) { // 404ページの場合 ?>
<title>Error 404 – Not Found | <?php bloginfo(‘name’); ?></title>
<meta name=”description” content=”検索で見つからない、または、お探しのページはありません。” />
<meta name=”keywords” content=”404,検索結果” />
<?php } else { // メインページの場合、上記ページ以外の場合 ?>
<title><?php bloginfo(‘name’); ?></title>
<meta name=”description” content=”<?php bloginfo(‘description’); ?>” />
<meta name=”keywords” content=”デジカメ,スナップ,写真,ブログ” />
<? } ?>

非常に長く分かりづらいコードになってます(爆
PHP初心者が作ったので勘弁してください。
一応問題なく動作しています。
作成に当たってはこちらのサイト参考にしました。

WordPressで全てのページを違うタイトルにする
WordPress で、各ページごとにmeta name=”description” を自動に設置する方法(記述)

カテゴリなどのアーカイブページが複数ページになる場合も
2ページ以降にページ数を付くようにしていますので、
検索エンジンも別ページと認識してくれるのではないかと思います。

PHPがなかなか理解できず苦労しましたが、
なんとか思い通りに表示するようになりました。
これでSEO的にも少しはよくなったはずです。

投稿日 : 2010/09/09
カテゴリ : サイト管理, WordPress
タグ : ,
«
Top
»
この記事へのコメント

現在、この記事へのコメントはありません。

コメントをどうぞ




CAPTCHA


この記事へのトラックバックとピンバック

現在、この記事へのトラックバックはありません。

トラックバックURL