May 10, 2026 2 min read

SEO Friendly URLs kwa PHP — Jinsi Nilivyobadilisha Website Yangu Kutoka blog_viewer.php?id=1015 kwenda /post-title-1015 Bila Kuharibu Website Live

Jifunze jinsi ya kutengeneza professional SEO friendly URLs kwa PHP na MySQL bila kuharibu website yako live. Badilisha links zako kutoka blog_viewer.php?id=1015 kwenda /post-title-1015 kwa kutumia slug, .htaccess, canonical tags na 301 redirects.

Utangulizi

Moja ya vitu vinavyofanya website ionekane professional ni structure ya URLs zake.

Kwa muda mrefu websites nyingi za PHP zilikuwa zinatumia links kama:

blog_viewer.php?id=1015

Link hizi zinafanya kazi vizuri, lakini zina matatizo makubwa upande wa:

SEO
user experience
social sharing
branding
professionalism

Kwa mfano mtu akiona:

https://faulink.com/blog_viewer.php?id=1015

hawezi kuelewa post inahusu nini.

Lakini akiona:

https://faulink.com/simple-complete-blog-system-1277

anaelewa instantly content ya page.

Katika tutorial hii tutajifunza step by step jinsi ya kutengeneza mfumo huu kwa PHP na MySQL bila kuharibu website live yenye posts nyingi.

Tatizo Kubwa la Old URLs

Old URLs kama:

blog_viewer.php?id=1015

zina matatizo yafuatayo:

hazina keywords
hazionekani professional
Google haielewi page haraka
sharing inaonekana mbaya
click-through rate huwa ndogo
SEO URL ni Nini?

SEO URL ni URL yenye maneno yanayoelezea content ya page.

Mfano:

/how-to-create-login-system-1277

au:

/best-cybersecurity-tools-2026-1280
Faida za SEO Friendly URLs
1. Google Inaelewa Content Haraka

URL yenye:

/php-login-system-with-bootstrap-1277

inaonyesha Google kwamba page inahusu:

PHP
Login System
Bootstrap
2. Visitors Wanabofya Zaidi

Mtu akiona:

https://faulink.com/how-to-build-school-management-system-900

anaelewa content kabla hata hajafungua.

3. Website Inaonekana Professional

SEO URLs hufanya website ionekane kama:

Medium
TechCrunch
Dev.to
WordPress blogs kubwa
4. Better Social Sharing

Links zinaonekana vizuri kwenye:

WhatsApp
Facebook
Telegram
Twitter/X
Mfumo Tunaotumia

Tutatumia:

PHP
MySQL
PDO
.htaccess
Apache Rewrite Rules
Step 1 — Database Table

Table yetu ya posts:

id
user_id
title
content
image_path
video_link
downloadable_file
created_at
author
category
file_path
youtube_link
tags
views
slug
meta_description

Muhimu hapa ni:

slug
Step 2 — Generate Slugs

Run SQL hii:

UPDATE posts
SET slug = CONCAT(
LOWER(
TRIM(BOTH '-' FROM
REGEXP_REPLACE(title, '[^a-zA-Z0-9]+', '-')
)
),
'-',
id
)
WHERE (slug IS NULL OR slug = '')
AND title IS NOT NULL
AND title <> '';
Kwa Nini Tunaongeza ID?

Posts mbili zinaweza kuwa na title moja.

Mfano:

How To Learn PHP

Kwa hiyo tunapata:

how-to-learn-php-1015

na:

how-to-learn-php-1200

Hii huzuia duplicate URLs.

Step 3 — Create postUrl() Function

Kwenye PHP:

function postUrl(array $post): string {

if (!empty($post['slug'])) {
return '/' . urlencode((string)$post['slug']);
}

return '/blog_viewer.php?id=' . (int)$post['id'];
}
Step 4 — Replace Old Links

Badala ya:

<a href="blog_viewer.php?id=<?= (int)$post['id'] ?>">

tumia:

<a href="<?= e(postUrl($post)) ?>">
Step 5 — .htaccess

Kwenye root folder:

public_html

tengeneza:

.htaccess

Weka code hii:

RewriteEngine On

DirectoryIndex index.php index.html

# Usiguse homepage
RewriteRule ^$ - [L]

# Usiguse files na folders halisi
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

# Usiguse important pages
RewriteRule ^(admin|login|register|dashboard|about|contact|profile|assets|uploads|images|css|js)(/.*)?$ - [L]

# SEO blog URLs only
RewriteRule ^([a-zA-Z0-9-]+-[0-9]+)/?$ blog_viewer.php?slug=$1 [L,QSA]
Rewrite Rule Inafanya Nini?

Inabadilisha:

/simple-complete-blog-system-1277

kuwa:

blog_viewer.php?slug=simple-complete-blog-system-1277

lakini visitor haoni hiyo internally.

Step 6 — Read Slug kwenye PHP
$postSlug = trim($_GET['slug'] ?? '');
Fetch Current Post
$stmt = $pdo->prepare("
SELECT * FROM posts
WHERE slug = ?
LIMIT 1
");

$stmt->execute([$postSlug]);

$currentPost = $stmt->fetch(PDO::FETCH_ASSOC);
Step 7 — Redirect Old URLs

Google bado inaweza kuwa imeindex:

blog_viewer.php?id=1015

Tumia 301 redirect.

if ($currentPost && $postId > 0 && $postSlug === '' && !empty($currentPost['slug'])) {

header(
"Location: /" . urlencode((string)$currentPost['slug']),
true,
301
);

exit;
}
Step 8 — Canonical Tag

Kwenye <head>:

<?php if ($currentPost && !empty($currentPost['slug'])): ?>
<link rel="canonical"
href="https://faulink.com/&lt;?= e((string)$currentPost['slug']) ?>">
<?php endif; ?>
Canonical Inasaidia Nini?

Google itaelewa official URL ni:

https://faulink.com/simple-complete-blog-system-1277

siyo:

https://www.faulink.com/blog_viewer.php?id=1277
Final Result

Kutoka:

https://www.faulink.com/blog_viewer.php?id=1277

Kwenda:

https://faulink.com/simple-complete-blog-system-1277
Je Hii Inaongeza SEO Kweli?

Ndiyo.

Kwa sababu:

URL ina keywords
Google inaelewa topic haraka
users wanabofya zaidi
links zinaonekana professional
sharing inaonekana vizuri
Lakini SEO URL Pekee Haitoshi

Bado unahitaji:

quality content
good titles
meta descriptions
internal links
mobile responsive design
fast loading
optimized images
Mfumo Huu ni Salama kwa Website Live?

Ndiyo.

Kwa sababu:

old links bado zinafanya kazi
hakuna kuvunja database
hakuna kuvunja comments
hakuna kuvunja pagination
hakuna kuvunja admin system
SEO Keywords
SEO friendly URLs
PHP slug tutorial
clean URLs PHP
PHP blog SEO
MySQL slug system
Apache rewrite rules
canonical tag tutorial
PHP SEO optimization
.htaccess tutorial
blog URL optimization
Official Website

Kwa tutorials zaidi, coding guides na web development resources:

https://faulink.com

Conclusion

Kubadilisha links zako kutoka:

blog_viewer.php?id=1015

kwenda:

/simple-complete-blog-system-1277

kunafanya website yako:

ionekane professional
iwe nzuri kwa Google SEO
iwe rahisi kushare
iwe trusted zaidi
ipate click-through rate nzuri

Na sehemu nzuri zaidi ni kwamba unaweza kufanya haya yote bila kuharibu website yako live yenye posts nyingi.

🚀 Unahitaji mfumo au website ya biashara?

Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.

Share this post

Comments

0
No comments yet. Be the first to comment.

Continue Reading

Subscribe

Get new updates

Jiunge upokee posts mpya, tutorials, na updates za mifumo moja kwa moja kwenye email yako.

Faulink Support