امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش ساخت نقشه سایت برای موتورهای جستجو با PHP و MySQL
نویسنده پیام
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #1
آموزش ساخت نقشه سایت برای موتورهای جستجو با PHP و MySQL
نقشه سایت (Sitemap) یک سند xml میباشد که لینک های مطالب شما را با آخرین تاریخ ویرایش و اهمیت لینک و … فهرست میکند. این فایل در شاخه اصلی وبسایت (ROOT) با نام sitemap.xml ذخیره میشود و هدف از آن آگاه سازی سریع موتورهای جستجو برای فهرست کردن این لینکها در نتایج جستجویشان است. در این مطلب نحوه ساختن نقشه سایت به وسیله php و mysql را توضیح خواهیم داد.

نقشه سایت چیست؟
راهی برای معرفی صفحات سایت شما به موتورهای جستجو است. نقشه سایت که xml Sitemap نام دارد معمولا با نام Sitemap (با S بزرگ) به کار برده میشود، که تمام صفحاتی را که میخواهید قابل دسترس باشد را لیست میکند. ایجاد و ثبت نقشه سایت در موتورهای جستجو به شما این اطمینان را میدهد که تمام صفحات سایت شما در موتورهای جستجو لیست شود. همچنین شما میتوانید از این طریق صفحاتی را که فکر میکنید پیدا کردن آن برای موتورهای جستجو مشکل خواهد بود را نیز معرفی کنید.

نقشه سایت زمانی با اهمیت تر میشود که:

سایت شما از مطالب داینامیک استفاده کند.
سایت شما دارای صفحاتی میباشد که به راحتی توسط روبات موتورهای جستجو قابل دسترسی نیست. مانند صفحاتی که محتویات آن با تکنولوژی Ajax بارگذاری میشود.
سایت شما جدید است و به خوبی در وب لینک دهی نشده است.
سایت شما دارای محتویات حجیم چند صفحه ای است و به خوبی به یک دیگر لینک دهی نشده است
گوگل فهرست کردن تمام صفحات شما را تضمین نمیکند و اظهار میکند که نقشه سایت فقط یک راهنما برای فهرست کردن درست صفحه های وب است.
گوگل از پروتکل استاندارد نقشه سایت که توسط sitemaps.org طراحی شده است استفاده میکند و در حالت کلی نقشه سایت ساخته شده برای تمام موتورهای جستجوی استاندارد قابل فهم است.

فرمت فایل:

کد php:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
                <loc>http://example.com/</loc>
                <lastmod>2006-11-18</lastmod>
                <changefreq>daily</changefreq>
                <priority>0.8</priority>
        </url>
</urlset> 
برای آشنایی با المانهای کد بالا میتوانید به لینک تعریف المانها در ویکی پدیا مراجعه کنید.

ایجاد فایل نقشه سایت توسط PHP:
برای ساختن نقشه سایت نیاز به ایجاد اسکلت اولیه آن دایم. برای این کار یک فایل با نام sitemap.php ایجاد کرده و کد زیر را در آن ذخیره کنید:
کد php:
$host "localhost"// host name
$user "user"// database user name
$pass "password"// database password
$database "dbname"// database name
// connecting to database
$connect = @mysql_connect($host,$user,$pass)or die (@mysql_error());
// selecting database
@mysql_select_db($database,$connect) or die (@mysql_error()); 
ایجاد کدهای xml:
کد زیر را در فایل sitemap.xml بعد از کدهای اتصال به پایگاه داده ذخیره کنید:

کد php:
// default header(don't delete)
header("Content-Type: text/xml;charset=iso-8859-1");
echo 
'<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'


اضافه کردن url ها در xml:
در کد زیر یک جدول پایگاه داده با نام mytable با فیلدهای url و date برای مطالب در نظر گرفته ایم. کد زیر را بعد از کد بالا در فایل sitemap.xml ذخیره کنید:

کد php:
// selecting data from "mytable"
// mytable = your article table name
$query = @mysql_query("SELECT * FROM mytable");
 
while(
$row = @mysql_fetch_array($query)){
// [url] = article url
$url $row['url'];
// [time] = article date
$date date("Y-m-d"$row['time']);
 
// NO CHANGES BELOW
    
echo
    
'<url>
     <loc>' 
$url .'</loc>
     <lastmod>'
$date .'</lastmod>
     <changefreq>daily</changefreq>
     <priority>0.8</priority>
     </url>
    '
;
}
echo 
'</urlset>';?>
همین! در کل فایل به صورت زیر است:


کد php:
<?php
$host 
"localhost"// host name
$user "user"// database user name
$pass "password"// database password
$database "dbname"// database name
// connecting to database
$connect = @mysql_connect($host,$user,$pass)or die (@mysql_error());
// selecting database
@mysql_select_db($database,$connect) or die (@mysql_error());
 
// default header(don't delete)
header("Content-Type: text/xml;charset=iso-8859-1");
    echo 
'<?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
;
 
// mytable = your content table name
$query = @mysql_query("SELECT * FROM mytable");
while(
$row = @mysql_fetch_array($query)){
// [url] = content url
$url $row['url'];
// [time] = content date
$date date("Y-m-d"$row['time']);
 
// NO CHANGES BELOW
    
echo
    
'<url>
     <loc>' 
$url .'</loc>
     <lastmod>'
$date .'</lastmod>
     <changefreq>daily</changefreq>
     <priority>0.8</priority>
     </url>
    '
;
}

    echo 
'</urlset>';?>


اگر دقت کرده باشید فایل ما به صورت sitemap.php است و ما میخواهیم به فایل sitemap.xml برسیم. برای این کار کد زیر را در فایل htaccess. در شاخه اصلی وبسایت ذخیره کنید:

کد php:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule 
(.*)\.xml(.*) $1.php$[nocase]
</
IfModule
بعد از اضافه کردن کد بالا در فایل htaccess. آدرس نقشه سایت شما هنگام فراخوانی، از www.example.com/sitemap.php به www.example.com/sitemap.xml تبدیل میشود. یعنی شما آدرس نقشه سایت را با فرمت xml در موتورهای جستجو ثبت خواهید کرد.

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۰۱-دى-۱۳۹۲, ۱۸:۴۷:۱۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, babyy, behzady


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [ایرانویجی] سوالات مربوط به آموزش راه اندازی سایت A.P-H@ck3r 6 3,222 ۲۸-فروردین-۱۳۹۹, ۱۸:۰۹:۳۴
آخرین ارسال: Ambassador
  [پروژه] راهنمایی در مورد ساخت یک سایت ثبت نام آنلاین ayat2006 6 2,883 ۲۳-تير-۱۳۹۴, ۱۸:۳۶:۱۱
آخرین ارسال: kimiafars
  [آموزشی] آموزش راه اندازی سایت A.P-H@ck3r 6 4,729 ۰۶-اسفند-۱۳۹۲, ۰۱:۲۷:۵۶
آخرین ارسال: Loyal
Question [سوال] آموزش ساخت وب سرور با Soap و wsdl crafcrab 1 3,438 ۱۱-بهمن-۱۳۹۲, ۱۳:۱۴:۵۵
آخرین ارسال: crafcrab
  آموزش برقراری ارتباط PHP و MySQL Ghoghnus 1 2,961 ۰۵-دى-۱۳۹۲, ۱۸:۱۹:۱۳
آخرین ارسال: lord_viper
  آموزش ساخت فرم ثبت نام با php Ghoghnus 0 2,578 ۳۰-آذر-۱۳۹۲, ۱۷:۵۴:۵۴
آخرین ارسال: Ghoghnus
  [سوال] امکان دانلود فایل فقط برای کاربران سایت crafcrab 11 6,176 ۱۸-آبان-۱۳۹۲, ۰۹:۵۵:۵۳
آخرین ارسال: kimiafars
  [آموزشی] ذخیره و بازیابی صحیح در mysql lord_viper 0 1,553 ۲۹-خرداد-۱۳۹۲, ۲۰:۲۶:۳۱
آخرین ارسال: lord_viper
  پرامپت mysql مرد یخی 1 2,238 ۰۶-اسفند-۱۳۹۱, ۱۴:۲۴:۳۵
آخرین ارسال: NabiKAZ
Smile ذخیره تصاویر در MySQL و نمایش آنها با PHP قسمت اول P.H.P 2 14,890 ۱۰-شهریور-۱۳۹۰, ۱۸:۳۶:۳۱
آخرین ارسال: Y.P.Y

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS