通过php调用meta标签

时间:2014-02-13 11:59:58

标签: php html

我通过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条件中,就可以为不同的页面设置分隔元标记。

2 个答案:

答案 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 ?>">