【发布时间】:2011-07-14 09:52:40
【问题描述】:
目前我的网站页脚中有标题标签。 这是因为标题是动态的,如果我把它放在头部,那么它就是空白的,因为标题内容直到正文才会加载。
我的问题是,对于 SEO 而言,标题标签位于页脚而不是页眉中是否重要?
【问题讨论】:
标签: php html header title footer
目前我的网站页脚中有标题标签。 这是因为标题是动态的,如果我把它放在头部,那么它就是空白的,因为标题内容直到正文才会加载。
我的问题是,对于 SEO 而言,标题标签位于页脚而不是页眉中是否重要?
【问题讨论】:
标签: php html header title footer
目前我的网站页脚中有标题标签。
这是无效的。标题标签must be in the <head> section:
每个 HTML 文档必须在
HEAD部分有一个TITLE元素。
此外,它可能会给现实世界带来问题。我从未见过页面页脚中使用title 标签,我希望它们会被那里的搜索引擎忽略。
您应该更改 PHP 脚本的底层架构,以便在页面启动时知道标题。
参考:
【讨论】:
"if I place it in the head then it's blank, as the title content doesn't get loaded until the body." - 这意味着您的网站设计错误
您应该使用模板和正确的页面布局。
实际上,您的页面代码应该输出nothing,但只输出所需的数据,然后抛出错误或调用模板
一个简洁的例子:
页面调用links.php:
<?
//include our settings, connect to database etc.
include dirname($_SERVER['DOCUMENT_ROOT']).'/cfg/settings.php';
//getting required data
$DATA=dbgetarr("SELECT * FROM links");
$pagetitle = "Links to friend sites";
//etc
//and then call a template:
$tpl = "links.php";
include "template.php";
?>
现在template.php 是您的主要网站模板,由您的页眉和页脚组成:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My site. <?=$pagetitle?></title>
</head>
<body>
<div id="page">
<? include $tpl ?>
</div>
</body>
</html>
而links.php 是实际的页面模板:
<h2><?=$pagetitle?></h2>
<ul>
<? foreach($DATA as $row): ?>
<li><a href="<?=$row['link']?>" target="_blank"><?=$row['name']?></a></li>
<? endforeach ?>
<ul>
简单、干净且可维护。
【讨论】:
我对 Col. 使用了一种类似的方法,但是这个方法会采用您的文件名,即 (my_contact_form.php) 并将其更改为“我的联系表”作为您的页面标题。不完全是你需要的,但我只是想给你另一种选择。
我有一个名为 config.php 的文件,其中包含我的函数等。
<?php
// dynamic page titles
$page = basename($_SERVER['SCRIPT_FILENAME']);
$page = str_replace('_',' ',$page);
$page = str_replace('.php','',$page);
$page = ucwords($page);
?>
现在我只是将页面包含在我想要替换标题的任何页面上
<?php require("config.php") ?>
并使用如下标题
<title>Your Site Name » <?php echo $page; ?></title>
【讨论】: