2016-07-24 12 views
0

私は簡単なPHPテンプレートを作成しました。 header.phpので PHPテンプレートのheadセクションにメタタグを含める最も良い方法は何ですか?

私は次のコードの行があります。ここに

<!DOCTYPE HTML> 
<html lang="en"><head> 
<meta charset="utf-8"> 
<title><?php echo $title ?></title> 
<meta name="description" content="<?php echo $description ?>"> 
<link rel="canonical" href="<?php echo $canonical ?>"> 
</head><body> 

コードの残りの部分(ヘッダー、メニューなどを...)私が持っているすべてのページに


上部に次のコード行:

<?php 
$title=""; 
$description=""; 
$canonical=""; 
$page_schema="http://schema.org/WebPage"; 
$INC_DIR = $_SERVER["DOCUMENT_ROOT"]. "/includes/"; 
require($INC_DIR. "header.php"); ?> 

Open Graphメタタグを持つページと、Open Graphメタタグを持たないページがあります。

私はこれを使用していない

<link rel="alternate" hreflang="nl" href=""> 

とページとページを持っています。

私はロボットメタタグnoindexと2ページあり、ロボットメタタグを使用していないページが多数あります。

<!DOCTYPE HTML> 
<html lang="en"><head> 
<meta charset="utf-8"> 
<title><?php echo $title ?></title> 
<meta name="description" content="<?php echo $description ?>"> 
<link rel="canonical" href="<?php echo $canonical ?>"> 
<?php echo $meta_tags ?> 

そして:私はheader.phpの

<?php echo $meta_tags ?> 

例に以下の行を追加しました

:私は、次のオプションを使用しています今

ページの次の行(hreflangタグをすべて使用するわけではありません):

$meta_tags='<link rel="alternate" hreflang="nl" href=""> 
<meta property="og:image" content=""> 
<meta property="og:title" content=""> 
<meta property="og:description" content=""> 
<meta property="og:url" content="">'; 

例:

<?php 
$title=""; 
$description=""; 
$canonical=""; 
$meta_tags='<link rel="alternate" hreflang="nl" href=""> 
<meta property="og:image" content=""> 
<meta property="og:title" content=""> 
<meta property="og:description" content=""> 
<meta property="og:url" content="">'; 
$page_schema="http://schema.org/WebPage"; 
$INC_DIR = $_SERVER["DOCUMENT_ROOT"]. "/includes/"; 
require($INC_DIR. "header.php"); ?> 

これは、それらを使用しないページ上のいくつかのメタタグを含めるために良い解決策ですか?それとも良い方法がありますか?

空の変数にNULL(引用符は不要)を追加すると便利です。$ title = NULL;

例(opengraphを使用していないいくつかのページのための):

header.phpの:(オープングラフタグを使用していない)ページ

<meta property="og:title" content="<?php echo $og_title ?>"> 
<meta property="og:description" content="<?php echo $og_description ?>"> 
<meta property="og:url" content="<?php echo $og_url ?>">'; 

$og_title=NULL; 
$og_description=NULL; 
$og_url=NULL; 

最適なソリューションは何ですか?より良い解決策はありますか?

ところで...私はここにこのチュートリアルの手順を実行しました。http://www.heliomedia.com/tutorials/html5-template-with-seo-friendly-variables/

答えて

0

はい、あなたはそれぞれのページで使用していない変数を省略します。頭文字のincludeには、各メタタグを小切手に入れて、それが使用されているかどうかを確認します。:

<?php if (isset($og_title)) {?> 
    <meta property="og:title" content="<?php echo htmlspecialchars($og_title);?>"> 
<?php }?> 
+0

Thnx。したがって、私が開いたグラフを使用しないページでは、次の行を使用することができます。 $ og_title = NULL; $ og_description = NULL; $ og_image = NULL; $ og_url = NULL; – Mickel

+0

あなたが望むなら、あなたはそうすることができます、またはあなたはそれらの行を完全に除外することができます。 'isset'は、変数が存在するかどうかを最初に調べるので、変数がなければエラーは発生しません。 – Walf

+0

OK。それから私は、私が必要としない行を除外します。ありがとうございました。 – Mickel

関連する問題