CakePHP 2.1.3个人页面的SEO元描述与default.ctp

时间:2014-11-20 00:16:15

标签: php html cakephp seo cakephp-2.1

目前,我的元描述和关键字包含在位于default.ctp的{​​{1}}文件中。这似乎导致我网站上每个页面的元描述相同。希望这没关系。

我正在向我的网站添加新网页,并希望能够针对这些特定网页自定义元描述和关键字。因此,对于大多数网站,请保留相同的通用元描述,但对于少数或页面,请使用自定义元描述。

例如,我是否可以将代码添加到位于\app\View\Layouts的单个.ctp文件中,然后覆盖app\View\Pages中的元描述?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不是搜索引擎优化专家,所以我不能告诉你关于页面排名和内容的重复描述有多好或多坏,但是,根据我的经验,谷歌例如倾向于选择页面内容而不是元素如果描述在许多页面上重复,则更经常进行描述,但当然不一定必须是相关性。

话虽这么说,我建议使用视图块,它们可以从模板中的任何位置覆盖。

<强>布局

<!DOCTYPE html>
<html>
    <head>
        <!-- ... -->
        <?php 
        $this->startIfEmpty('description');
        echo $this->Html->meta('description', 'Default description');
        $this->end();
        echo $this->fetch('description');
        ?>
        <!-- ... -->
    </head>

更新:CakePHP 2.3引入了startIfEmpty(),在早期版本中,需要手动测试现有块,例如

$description = $this->fetch('description');
if(empty($description)) {
    echo $this->Html->meta('description', 'Default description');
}
echo $description;

特定页面模板

$this->assign('description', $this->Html->meta('description', 'Specific description'));

有关详细信息,请参阅 http://book.cakephp.org/2.0/en/views.html#view-blocks