2014年08月14日 web関連WordPressphpSEO対策

重複しないWordPressのdescriptionのコードを書いてみました。
おおまかな確認はしていますが、細かいチェックは出来てません・・・m(_ _)m

Gistはこちら
<?php

//descriptionの設定
function set_description(){
	global $post;
	$content = $post->post_content;
	
	//トップページ
	if ( is_front_page() ) {
		$desc = get_bloginfo('name').":".get_bloginfo('description');
	}else{
		if(is_page() or is_single()){ //固定ページ、記事ページ
			//phpタグを除去
			$content = preg_replace("/<\?php[^>]+\>/i"," ",$content);
			//htmlタグを除去
			$desc = wp_title('',false)." | ".strip_tags($content);
		}elseif( is_category()){ //カテゴリページ
			if(get_query_var('paged')){
				$desc = get_query_var('paged')."ページ目:";
			}
			$desc .= wp_title('',false)."カテゴリの記事一覧";
		}elseif( is_archive()){ //アーカイブページ
			if(is_date()){ //日付ベースのアーカイブページ
				if(is_day()){ //日別アーカイブ
					if(get_query_var('paged')){
						$desc = get_query_var('paged')."ページ目:";
					}
					$desc.= get_the_time('Y'). '年';
					$desc.= get_the_time('m') .'月';
					$desc.= get_the_time('d'). '日';
				}elseif(is_month()){ //月別アーカイブ
					if(get_query_var('paged')){
						$desc = get_query_var('paged')."ページ目:";
					}
					$desc.= get_the_time('Y') .'年';
					$desc.= get_the_time('m'). '月';
				}else { //年別アーカイブ
					if(get_query_var('paged')){
						$desc = get_query_var('paged')."ページ目:";
					}
					$desc.= get_the_time('Y') .'年';
				}
			}elseif(is_author()){ //投稿者アーカイブ	
				if(get_query_var('paged')){
					$desc = get_query_var('paged')."ページ目:";
				}
				$desc .='[投稿者:'. get_the_author_meta('display_name', get_query_var('author'))."]";
			}elseif(is_tag()){	//タグアーカイブ
				if(get_query_var('paged')){
					$desc = get_query_var('paged')."ページ目:";
				}
				$desc.='[タグ:'. single_tag_title( '' , false )."]";
			}else{				
				if(get_query_var('paged')){
					$desc = get_query_var('paged')."ページ目:";
				}
				$desc .= wp_title('',false);		
			}
			$desc .= "の記事一覧";
		}elseif(is_search()) {	//検索結果
			if(get_query_var('paged')){
				$desc = get_query_var('paged')."ページ目:";
			}
			$desc.= '['. get_search_query() .']の検索結果一覧';

		}else{
			if(get_query_var('paged')){
				$desc = get_query_var('paged')."ページ目:";
			}
			$desc .= wp_title('',false);
		}
		
		//descriptionが短すぎる場合はサイト概要、サイト名追加
		if(mb_strlen($desc)<=30){
			$desc .= " ".get_bloginfo('description')."【".get_bloginfo('name')."】";
		}
	
	}
	//固定ページ、記事ページの本文抜粋の改行削除
	$desc = str_replace(array("\r\n","\r","\n"), '', $desc);
	echo '<meta name="description" content="'.esc_html($desc).'">';
}
//descriptionの設定

?>

この投稿へのコメント

コメントはまだありません。

ピックアップ記事

ZenCartのパンくずリストをトップページのみ非表示にする

2012年02月11日 zencartphp
変更する箇所 includes/classes/breadcrumb.php の60行目付近 [php] } else { $trail_string .= $this->_trail[$i]['title']; } [/php] 上記のコードを以下に変更します。 [php] } else { if ($this->…
「ZenCartのパンくずリストをトップページのみ非表示にする」をはてなブックマークに追加

Google Web Designer って・・・

2013年10月08日 web関連HTML5・CSS3
Google Web Designer って・・・
Google Web Designerってツールのβ版が公開されたようなので、触ってみました。Web Designerって名前が現在の私のイメージとは合わないのですが、Google的には、このツールでサイト一式作れるぜってことなのでしょうか(・・;) Google Web Designerとは 以下、Googleによる、このツールの説明です。Google Web Designer は、…
「Google Web Designer って・・・」をはてなブックマークに追加

IE6で透過pngを表示させる。DD_belatedPNG

2012年02月14日 web関連jQuery・javascript
DD_belatedPNG 先日、でも触れましたが、DD_belatedPNGというjavascriptを使って、IE6で透過pngを表示させてみました。 DD_belatedPNGの入手 以下のサイトにいって、DD_belatedPNGをダウンロードします。以下のサイト内を下へスクロールしていくと、左のサイドバーにDD_belatedPNG 0.0.8a releasedというリンクがあり…
「IE6で透過pngを表示させる。DD_belatedPNG」をはてなブックマークに追加

DREAMWEAVER CS6でSCSSを使うための準備

2015年03月03日 web関連
dreamweaver CS6では、scss,sassなどが使えません。使えないというか、コードヒントやコードカラーリングが適用されず、テキスト扱いと同様になってしまいます。 検索すれば、多くのサイトで説明されていますが、以下の作業をすればコードヒントが使えるようになります。 scssを追加する手順 1.DWの環境設定>ファイルタイプ/エディター内の「コードビューで開く」の箇所に「.scss」を追加します。(sassも使いたい場合は.sassも追加) 2. アプリケーション ▸ Adobe Dreamweaver CS6 ▸ Configuration 内の「Extensions.txt」とアプリケーション ▸ Adobe Dreamweaver CS6 ▸ Configuration ▸ DocumentTypes内の「MMDocumentTypes.xml」を編集 …
「DREAMWEAVER CS6でSCSSを使うための準備」をはてなブックマークに追加

Twitter API を使わずにプロフィール画像を取得する

2011年07月29日 web関連twitter API
Twitter APIを使っていると、プロフィール画像の取得だけで、さくさく利用限度が減って行きます。 公式のAPIを使わず、もっと簡単に画像を取得出来る方法があるようなので、ご紹介。 …
「Twitter API を使わずにプロフィール画像を取得する」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy