cakephp logo

Basic search engine optimisation (SEO) under CakePHP 1.2

This article covers the basics of search engine optimisation or SEO for those who like acronyms. I' ve separated this into three sections namely; Inbound Links, Page Optimisation, and Sitemap.

Inbound Links

This requires getting external highly ranked content related site(s) to link to your web page(s). This improves your page index ranking and can help to get your site index more quickly.

This is not easily achieved for most of us, however what you have the most control over is the content of your site. Your sites pages can be key word optimised along with making your pages more easily accessible to search engines through a sitemap.

Page Optimisation

To optimise your page you need to implement :-

  • A unique and effective keyword based descriptive title for each page. In CakePHP terms this is your view's page title i.e. $this->pageTitle.
  • Then a different meta tag description and keyword list for each page. This article discusses one way if implementing this under CakePHP.

    It should be noted that search engines may or may not use the meta description you provide, basically they do what they want.
  • Lastly try and create SEO friendly URLs for your “Key” content portions.


A sitemap can assist search engines to crawl your site more effectively, currently Google, Yahoo and MSN support XML UTF-8 encoded sitemaps (as of November 2006). To read more about setting up a sitemap under Cakephp 1.2 you can go to this article.

Filed under: Cakephp  Tags: Seo

0 Responses to “Basic search engine optimisation (SEO) under CakePHP 1.2”

Sorry, comments have been closed for this post.
(default) 16 queries took 9 ms
NrQueryErrorAffectedNum. rowsTook (ms)
1DESCRIBE `posts`17171
2DESCRIBE `comments`11111
3DESCRIBE `tags`221
4DESCRIBE `categories`220
5DESCRIBE `posts_tags`220
6DESCRIBE `categories_posts`221
7SELECT `Post`.`id`, `Post`.`url`, `Post`.`title`, `Post`.`icon`, `Post`.`metadesc`, `Post`.`metakeys`, `Post`.`categories`, `Post`.`tease`, `Post`.`body`, `Post`.`private_body`, `Post`.`created`, `Post`.`modified`, `Post`.`status`, `Post`.`allow_comments`, `Post`.`tags`, `Post`.`hitcount`, `Post`.`hitcount_rss` FROM `posts` AS `Post` WHERE `Post`.`url` = 'basic-search-engine-optimisation-seo-under-cakephp-1-2' LIMIT 1111
8SELECT `Comment`.`id`, `Comment`.`post_id`, `Comment`.`body`, `Comment`.`author`, `Comment`.`url`, `Comment`.`email`, `Comment`.`ip`, `Comment`.`status`, `Comment`.`junk_score`, `Comment`.`created`, `Comment`.`modified` FROM `comments` AS `Comment` WHERE `Comment`.`status` = 2 AND `Comment`.`post_id` = (23) 000
9SELECT `Tag`.`id`, `Tag`.`tag`, `PostsTag`.`post_id`, `PostsTag`.`tag_id` FROM `tags` AS `Tag` JOIN `posts_tags` AS `PostsTag` ON (`PostsTag`.`post_id` = 23 AND `PostsTag`.`tag_id` = `Tag`.`id`) 111
10SELECT `Category`.`id`, `Category`.`category`, `CategoriesPost`.`post_id`, `CategoriesPost`.`category_id` FROM `categories` AS `Category` JOIN `categories_posts` AS `CategoriesPost` ON (`CategoriesPost`.`post_id` = 23 AND `CategoriesPost`.`category_id` = `Category`.`id`) 110
11UPDATE `posts` AS `Post` SET `Post`.`hitcount` = Post.hitcount + 1 WHERE `Post`.`id` = 2310
12SELECT category, COUNT(*) AS cat_cnt FROM categories_posts c2p INNER JOIN categories Cat ON c2p.category_id = GROUP BY category15151
13SELECT COUNT(*) AS `count` FROM `posts` AS `Post` WHERE `Post`.`status` = 1 110
14SELECT `Post`.`id`, `Post`.`url`, `Post`.`title`, `Post`.`icon`, `Post`.`metadesc`, `Post`.`metakeys`, `Post`.`categories`, `Post`.`tease`, `Post`.`body`, `Post`.`private_body`, `Post`.`created`, `Post`.`modified`, `Post`.`status`, `Post`.`allow_comments`, `Post`.`tags`, `Post`.`hitcount`, `Post`.`hitcount_rss` FROM `posts` AS `Post` WHERE `Post`.`status` = 1 ORDER BY `Post`.`created` desc LIMIT 1010101
15SELECT COUNT(*) AS `count` FROM `posts` AS `Post` WHERE `Post`.`status` = 1 110
16SELECT `Post`.`id`, `Post`.`url`, `Post`.`title`, `Post`.`icon`, `Post`.`metadesc`, `Post`.`metakeys`, `Post`.`categories`, `Post`.`tease`, `Post`.`body`, `Post`.`private_body`, `Post`.`created`, `Post`.`modified`, `Post`.`status`, `Post`.`allow_comments`, `Post`.`tags`, `Post`.`hitcount`, `Post`.`hitcount_rss` FROM `posts` AS `Post` WHERE `Post`.`status` = 1 ORDER BY `Post`.`hitcount` desc LIMIT 1010101