2016-07-24 78 views
0

我創建了一個簡單的php模板。在PHP模板的頭部包含meta標籤的最佳方式是什麼?

在header.php中我有下面幾行代碼:

<!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=""> 

不使用此頁面和頁面。

我有2個頁面,機器人meta標籤noindex跟隨和許多頁面誰不使用任何機器人元標記。

現在,我使用下面的選項:

我已經添加了下面一行的header.php

<?php echo $meta_tags ?> 

例子:

<!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 ?> 

而以下頁面上的行(並非全部使用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"); ?> 

這是一個很好的解決方案,包括對那些使用他們的網頁上有meta標籤?或者,還有更好的方法?

像添加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

是的,省去你不是在每個頁面上,使用的變量。在你的頭腦中,將每個元標記包裹在一張支票中以查看它是否被使用,例如,:

<?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

好的。然後,我將忽略那些我不需要的線路。謝謝。 – Mickel

相關問題