我通过PHP在不同的页面上调用了一个头文件。类似地,元标签也在header中被调用了一次。但为了被检测到的搜索引擎优化,我必须包括每个页面单独的元标签。我试着在我的网站的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>我在所有其他页面(比如contact.php、about.php)中都包含了'header.php‘,并且只调用了以下内容(不调用meta标签):
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>我想知道的是,这是正确的方式,或有任何其他正确的方式,以使这些元标签被检测到通过搜索引擎优化?
解决方案(最终编辑):
由于搜索引擎优化不能从不同的页面检测标签(虽然Rajesh先生给出的解决方案是正确的,但他们希望所有的元标签都在一个页面上),所以我决定应用一种不同的方法,只在'header.php‘页面上实现(解释如下)。
通过打印'$_segments‘,您将能够知道您需要的目录段(如index.php、contact.php、about.php等)。是开的,假设我的放在第三位,所以我把3放在if里面($Segments3==‘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条件中,就可以对不同的页面使用单独的meta标记。
发布于 2014-02-13 20:11:23
根据您的要求更正代码
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);
?>发布于 2014-02-13 20:17:48
在包含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 ?>">https://stackoverflow.com/questions/21753657
复制相似问题