
Using search engine-friendly URLs creates more readable and understandable links for both search engines and users. In this article, we'll explore how to create clean and optimized URLs using PHP and .htaccess.
1. What is an SEO-Friendly URL?
A regular dynamic URL usually looks like this:
https://www.site.com/page.php?id=15&category=tech
When optimized for SEO, the URL becomes:
https://www.site.com/tech/web-development
This format improves user experience and helps search engines index the content better. Key advantages include:
- Higher Click-Through Rates (CTR): Users are more likely to click on meaningful and readable URLs.
- Improved Search Engine Optimization: Clean URLs rank better on platforms like Google.
- Enhanced User Experience: Short, descriptive links help users anticipate page content.
2. URL Rewriting with .htaccess
To create SEO-friendly URLs, use Apache's mod_rewrite module. Create a .htaccess
file with the following rules:
RewriteEngine On
RewriteBase /
RewriteRule ^blog/([a-zA-Z0-9_-]+)/?$ blog.php?post=$1 [L,QSA]
RewriteRule ^category/([a-zA-Z0-9_-]+)/?$ category.php?name=$1 [L,QSA]
This configuration means:
/blog/seo-optimization
→blog.php?post=seo-optimization
/category/technology
→category.php?name=technology
Important: Ensure mod_rewrite
is enabled on your server. Add this to your Apache config if needed:
LoadModule rewrite_module modules/mod_rewrite.so
3. Handling SEO-Friendly URLs in PHP
To retrieve parameters from rewritten URLs, use:
if (isset($_GET['post'])) {
$postSlug = htmlspecialchars($_GET['post']);
echo 'Currently viewing blog post: ' . $postSlug;
}
You can use this to securely retrieve and display content based on the URL.
To convert a title into an SEO-friendly slug:
function seoFriendlyUrl($string) {
$string = strtolower($string);
$string = preg_replace('/[ğüşıöç]/u', 'gusioc', $string);
$string = preg_replace('/[^a-z0-9]+/', '-', $string);
return trim($string, '-');
}
echo seoFriendlyUrl('Using SEO-Friendly URLs in PHP');
Output: using-seo-friendly-urls-in-php
Summary
- Use short and meaningful URLs: Prefer
/tech/php
over/tech/php-tutorial
. - Include keywords: Make sure your URLs reflect the page content.
- Avoid unnecessary parameters: Replace
?id=123
with descriptive slugs. - Use lowercase: Stick to lowercase for consistency.
- Remove spaces and special characters: Use hyphens
-
or underscores_
instead.
Related Articles
