我通过PHP在不同页面上调用了一个标头。类似地,元标记也在标题中被称为单个时间。但为了检测到SEO,我必须为每个页面包含单独的元标记。我试图在我的网站的header.php上以下列方式工作:
的header.php
<head>
<?php
$pgKeywords="lorem ipsum dolor sit amet";
$pgDesc="lorem ipsum dolor sit amet";
?>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="keywords" content="<?php echo $pgKeywords ?>">
<meta name="description" content="<?php echo $pgDesc ?>">
</head>
我在所有其他页面上包含了'header.php'(比如contact.php,about.php)并且只调用了以下内容(不是元标记):
about.php
<?php
$pgKeywords="lorem ipsum dolor sit amet lorem ipsum dolor sit amet";
$pgDesc="lorem ipsum dolor sit amet lorem ipsum dolor sit amet";
include 'header.php';
?>
<div class="cntner_24">
<a href="contact.php" class="cntct" title="Contact us.">
<img src="img/button.png" width="18" height="109" class="center_align">
<img src="img/hover_button.png" width="22" height="21" class="center_align">
</a>
<a href="about.php" class="abt" title="Get to know us better.">
<img src="img/button.png" width="14" height="78" class="center_align">
<img src="img/hover_button.png" width="22" height="21" class="center_align">
</a>
</div>
我想知道的是这是正确的方法,还是有其他正确的方法可以通过SEO检测这些元标记?
解决方案(最终编辑):
由于SEO无法检测来自不同页面的标签(尽管Rajesh先生给出的解决方案是正确的,但他们想要在单个页面上使用所有元标记)所以我决定采用不同的方法并实施它全部只在'header.php'页面上(如下所述)。
通过prinitng'$ _segments',您将能够知道您所需的目录(如index.php,contact.php,about.php等)在哪个段上,说我的第三个位置,所以我把[ 3]里面if($ segments [3] =='index.php')
<head>
<?php
$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', $_SERVER['REQUEST_URI_PATH']);
print_r($segments);
if($segments[3]=='index.php')
{
?>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="keywords" content=" lorem ipsum dolor sit amet ">
<meta name="description" content=" lorem ipsum dolor sit amet ">
<?php
}
elseif($segments[3]=='about.php')
{
?>
<meta name="keywords" content=" some different meta tag keywords ">
<meta name="description" content=" some different meta tag description ">
<?php
}
?>
</head>
因此,通过这种方式,只需将页面名称放在if-else条件中,就可以为不同的页面设置分隔元标记。
答案 0 :(得分:2)
根据您的要求修正代码
<强> meta.php 强>
<?php
function meta($pgKeywords,$pgDesc)
{?>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="keywords" content="<?php echo $pgKeywords ?>">
<meta name="description" content="<?php echo $pgDesc ?>"><?php
}?>
<强> contact.php 强>
<?php
include('meta.php');
$pgKeywords="Contact us ";
$pgDesc="lorem ipsum dolor sit amet";
meta($pgKeywords,$pgDesc);
?>
<强> about.php 强>
<?php
include('meta.php');
$pgKeywords="About us ";
$pgDesc="lorem ipsum dolor sit amet";
meta($pgKeywords,$pgDesc);
?>
答案 1 :(得分:0)
在包含header.php之前,在page1.php,page2.php等上定义关键字和描述。所以你的page1.php就像
$pgKeywords="lorem ipsum dolor sit amet lorem ipsum dolor sit amet";
$pgDesc="lorem ipsum dolor sit amet lorem ipsum dolor sit amet";
include "header.php";
其中header.php就像
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="keywords" content="<?php echo $pgKeywords ?>">
<meta name="description" content="<?php echo $pgDesc ?>">