我创建了一个简单的php模板。
在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个页面,其中包含机器人元标记无索引,以及许多不使用任何机器人元标记的网页。
现在我使用以下选项:
我在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"); ?>
这是一个很好的解决方案,在使用它们的网页上包含一些元标记吗?或者有更好的方法吗?
像添加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 :(得分:0)
是的,省略您在每个页面中未使用的变量。在您的头部包含中,将每个元标记包装在一个检查中以查看它是否已被使用,例如:
<?php if (isset($og_title)) {?>
<meta property="og:title" content="<?php echo htmlspecialchars($og_title);?>">
<?php }?>