How to SEO Optimize Your CodeIgniter Site

CodeIgniter is a popular PHP framework for building dynamic websites, but without proper optimization, your site may struggle to rank in search engines. Here, we will go over some best practices for optimizing your CodeIgniter site for search engines.

Dynamic Meta Titles and Descriptions

Meta titles and descriptions provide a brief summary of a web page’s content and appear in search engine results. To ensure that each of your pages has a unique and descriptive meta title and description, you can dynamically generate them based on the content of each page.

Here is an example of how to generate dynamic meta titles and descriptions in the header.php file:

if ($pagename == 'index') {
echo "Inspector Castlemaine & Bendigo | Site Name";
} elseif ($pagename == 'faq') {
echo "FAQ - Site Name, Victoria";
} elseif ($pagename == 'contact-us') {
echo "Contact Us | Site Name, Central Victoria";
} elseif ($pagename == 'services') {
echo "Services - Site Name";

<meta name="description" content="<?php 
if ($pagename == 'index') {
echo "Site Name is your trusted pool inspector serving Castlemaine and Bendigo. Contact us today for a comprehensive inspection.";
} elseif ($pagename == 'faq') {
echo "Get answers to frequently asked questions about pool inspections and Site Name services in Victoria.";
} elseif ($pagename == 'contact-us') {
echo "Get in touch with Site Name, your trusted pool inspector in central Victoria. Contact us for a comprehensive inspection.";
} elseif ($pagename == 'services') {
echo "Site Name offers comprehensive pool inspection services in Victoria. Contact us today to schedule an inspection.";

You can define the variable in the controller function that is loading the view. For example, if the view is being loaded from a controller function named Welcome, you can define the pagename variable as follows:

class Welcome extends CI_Controller {

public function index()
$data[‘pagename’] = “Index”;
$this->load->view(‘header’, $data);

public function other_page()
$data[‘pagename’] = “Other Page”;
$this->load->view(‘header’, $data);


Here, $data is an array that holds the data you want to pass to the view. In this case, it holds the pagename variable. You can access this variable in the view by using $pagename.

And then you can use this pagename function in your view files to get the current page name:

Optimize Image Alt Attributes

Image alt attributes are used to describe the content of an image to search engines and visually impaired users. Optimizing your image alt attributes can help improve your site’s visibility in search results and also improve accessibility. The following is an example of how to optimize the alt attribute for an image:

<img src="<?php if($row2->aboutus_image != ''){echo '/assets/img/'.$row2->aboutus_image;} ?>" alt="About Us Image"/> 
<img src="<?php if($row6->services1_image != ''){echo '/assets/img/'.$row6->services1_image;} ?>" alt="Service 1 Image"/> 
<img src="<?php if($row6->services2_image != ''){echo '/assets/img/'.$row6->services2_image;} ?>" alt="Service 2 Image"/> 
<img src="<?php if($row6->services3_image != ''){echo '/assets/img/'.$row6->services3_image;} ?>" alt="Service 3 Image"/> 
<img src="/assets/img/

Use descriptive and optimized images

Images can greatly enhance the user experience on your site, but they can also slow down your page speed. To optimize your images for SEO, you should use descriptive and optimized images with appropriate file names and alt tags.

Alt tags provide a textual description of an image and help search engines understand the content of the image. In CodeIgniter, you can set the alt tag for each image by using an if statement to check if an image exists, and then echo the file name and alt tag.

Use descriptive and keyword-rich URLs

By default, CodeIgniter uses URL structures that may not be SEO-friendly, such as using dynamic URL segments like index.php/welcome/index/. To make your URLs more readable and SEO-friendly, you can remove index.php from the URL and configure CodeIgniter to use “pretty URLs”. To do this, you need to edit the .htaccess file in the root directory of your site.

You can also use descriptive and keyword-rich URLs for your pages. For example, instead of using, use

Use header tags

Header tags (H1-H6) are used to structure the content on a page and to indicate the importance of each section. They also help search engines understand the structure and hierarchy of the content on your page.

In CodeIgniter, you can use header tags in the views for each page. For example, you can use an H1 tag for the main title of the page and H2 tags for subheadings.

In conclusion, optimizing your CodeIgniter site for SEO requires attention to detail and a structured approach to coding and content creation. By following the tips outlined in this article, you can improve your site’s visibility, ranking, and user experience.

Leave a Comment