article

آموزش ساخت نقشه XML سایت (Sitemap) با PHP و MySQL

php-sitemap

یکی از ملزومات مورد نیاز مدیران وب معرفی اطلاعات آدرس های URL وبسایت، وبلاگ و... به صورت دستی بندی شده و دقیق به موتورهای جستجو است تا این موتورها به راحتی و با دقت بیشتر بتوانند کل صفحات موجود در یک آدرس اینترنتی را پیدا کرده و پوشش دهند، بدین منظور پروتکلی تعریف شده تحت عنوان Sitemap که در آدرس رسمی sitemaps.org با جزئیات در دسترس است، این پروتکل به وبمسترها اجازه می دهد تا آدرس های URL خود را در یک فایل XML قرار داده و به تناوب محتوای آن را به روزرسانی نمایند، با توجه به اینکه معمولا تعداد صفحات یک پایگاه اینترنتی همواره در حال تغییر و به روزرسانی است، ثبت دستی این تغییرات در فایل XML عملا گزینه مناسبی نبوده و بسیار وقتگیر و خسته کننده خواهد بود، ضمن اینکه احتمال بروز اشتباه نیز بالا خواهد رفت، از این رو در آموزش پیش رو ضمن ارائه اطلاعاتی در خصوص نقشه XML سایت، نحوه ساخت و به روزرسانی داینامیک آن با کدهای PHP و پرس و جوی MySQL را نیز به صورت نمونه توضیح خواهیم داد.

XML چیست و چرا در نقشه سایت استفاده می شود؟


XML (مخفف eXtensible Markup Language) زبان نشانه گذاری برای انتقال اطلاعات بین دستگاه های مختلف و یک استاندارد فراگیر است، XML قابل استفاده برای ماشین و قابل خواندن و درک توسط انسان است و این قابلیت وجود دارد تا با ساده ترین متد ممکن در تگ های مختلف نقشه XML سایت مواردی مانند آدرس صفحه، دوره به روزرسانی، تاریخ آخرین تغییرات، اولویت آدرس ها و... را برای هر URL به صورت جداگانه مشخص کنیم، لذا پروتکل Sitemap این زبان را برای ایجاد نقشه سایت مناسب دیده و در نظر گرفته است.

شیوه نگارش (Syntax) نقشه XML سایت


شیوه نگارش (Syntax) یک نقشه XML سایت در حالت کلی و برای نمونه به شکل زیر است:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com</loc>
</url>
<url>
<loc>http://www.example.com/?link=2</loc>
</url>
</urlset>
توضیح:
- رمزگذاری (encoding) نقشه XML سایت باید به صورت UTF-8 باشد که در خط اول دستورات آن را تنظیم می کنیم.
- sitemaps.org آدرس سایت رسمی پروتکل نقشه XML سایت است، در شروع تگ urlset آن را به عنوان پروتکل مرجع قرار می دهیم.
- هر نقشه XML سایت باید با یک تگ urlset شروع و پایان یابد، در واقع تگ urlset برای هر نقشه سایت، تنها یک بار تکرار می شود.
- لینک ها و اطلاعات آنها در تگ url و به تعداد مورد نیاز قرار می گیرند، ترجیحا لینک ها را از بالاترین سطح تا پائین ترین سطح در تگ های url مرتب کنید، به طور مثال بخش ها را ابتدا و زیرمجموعه ها را در سطح های پائین تر قرار دهید.
- برای آدرس هایی که در سایت شما به اسلش (/) ختم می شوند، در نقشه سایت نیز باید حتما اسلش را در پایان آدرس URL قرار دهید، در غیر اینصورت نیازی به این کار نیست و توصیه نیز نمی شود، در واقع باید آدرس ها را به همان شکلی وارد کنید که در سایتتان استفاده می کنید.
- از به کار بردن کاراکترهای &, ', ", > و < در آدرس لینک ها خودداری کنید و به جای آنها از جایگزین HTML استفاده نمائید، در PHP با توابعی مانند htmlspecialchars می توان کاراکترهای خاص را به مقادیر HTML آنها تبدیل کرد.

ایجاد نقشه XML سایت به صورت داینامیک با PHP و MySQL


معمولا تعداد لینک های سایت های امروزی به چند مورد محدود نیست و همواره با تغییراتی افزایشی همراه است، از این جهت به روزرسانی دستی فایل XML امری بسیار زمانبر و با ضریب بروز اشتباه بالا خواهد بود و به همین جهت برای مدیریت و به روزرسانی نقشه XML سایتمان باید از زبان های سمت سرور و از جمله PHP و سیستم مدیریت پایگاه داده MySQL استفاده کنیم، در کد زیر ما اطلاعات فرضی را از پایگاه داده فراخوانی کرده و برای هر مطلب، لینک آن را به نقشه سایتمان اضافه و در پایان لینک ها را در یک فایل با نام sitemap.xml کپی می کنیم:
<?php
//ابتدا یک فایل با نام sitemap.xml بسازید.
//فایل را دریافت کرده و یک بار محتویات آن را پاک می کنیم
$file = "sitemap.xml";
//تنظیم مجوز های ویرایش
chmod($file, 0755);
//استفاده از متد w+
$file_handle = fopen($file, 'w+')
or die("خطا: سطح دسترسی برای ویرایش فایل در سرور تنظیم نیست!");
//متغیر با مقادیر خالی
$empty = "";
//نوشتن در فایل
$string_data = $empty;
fwrite($file_handle, $string_data);
fclose($file_handle);

//باز کردن مجدد فایل
$file = "sitemap.xml";
chmod($file, 0755);
//این بار با متد a
$file_handle = fopen($file, 'a') or die("خطا: سطح دسترسی برای ویرایش فایل در سرور تنظیم نیست!");
    
$start = "<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
//نوشتن فایل با متد a
$string_data = $start;
fwrite($file_handle, $string_data);

//صفحه نخست
$home = "<url><loc>http://example.com</loc></url>\n";
//نوشتن
$string_data = $home;
fwrite($file_handle, $string_data);

//قبل از اتصال به پایگاه داده باید اطلاعات اتصال را تعریف کنید
$conn = mysqli_connect("localhost", "db_user", "db_pass", "db_name");
if(!$conn){
    echo "Error!: " . mysqli_connect_errno() . ' - ' . mysqli_connect_error();
} else{
    //دریافت اطلاعات پست ها از دیتابیس و تبدیل به لینک
    $result = mysqli_query($conn, "SELECT * FROM posts ORDER BY rank ASC") or die(mysqli_error($conn));
    while($row = mysqli_fetch_array($result)){
        $id = $row['id'];
        $url = "<url><loc>http://example.com/?id=$id</loc></url>\n";
        //نوشتن
        $string_data = $url;
        fwrite($file_handle, $string_data);
    }
}

//بستن نقشه سایت
$end = "</urlset>";
//نوشتن
$string_data = $end;
fwrite($file_handle, $string_data);
fclose($file_handle);
//پایان اتصال
mysqli_close($conn);
?>
توضیح:
- فایلی با نام sitemap.xml ترجیحا در ریشه سایت بسازید.
- در کد بالا ابتدا بعد از فراخوانی فایل یک بار با متد +w محتویات آن را پاک سازی می کنیم (این کار برای جلوگیری از تکرار لینک ها در هر بار به روزرسانی نقشه XML سایتمان است).
- مجدد فایل را این بار با متد a فراخوانی کرده و اطلاعات جدید را در آن می نویسیم (فرق متد a و +w در این است که متد a به محتویات کنونی فایل خللی وارد نمی کند و در انتهای مقادیر موجود، مقادیر جدید را اضافه می کند اما متد +w فایل را خالی کرده و مجدد می نویسد).
- در نمونه کد بالا اطلاعات را از جدولی فرضی به نام posts دریافت کرده و برای هر مطلب یک لینک به خروجی می دهیم، توجه داشته باشید که اکستنشن استفاده شده در کد mysqli است که قاعدتا می تواند بر اساس نیاز خود از PDO نیز استفاده کنید.
- لینک های ما باید استاندارد HTML باشند و لذا استفاده از کارکترهای خاص &, ', ", > و < در آدرس لینک ها مجاز نمی باشد، توابعی مانند htmlspecialchars در PHP در این مورد کاربرد دارند.
- برای آپدیت مرتب نقشه XML سایت می توانیم به عنوان مثال آن را به کدهای صفحه ای که مطالبمان را از آن ارسال می کنیم اضافه کرده تا با هر بار ارسال مطلب جدید، اطلاعات فایل sitemap.xml نیز به روز رسانی شود، قاعدتا برای اعمال این حالت باید کمی برنامه نویسی سمت سرور (مانند PHP) مرتبط با CMS مورد استفاده بلد باشیم.
استفاده از نقشه XML سایت به لینک های معمول محدود نمی شود، محتویات دیگر صفحات وب از جمله تصاویر، ویدئوها، اخبار و... را نیز می توان در Sitemap گنجاند:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.sitemaps.org/schemas/sitemap-image/1.1"
        xmlns:video="http://www.sitemaps.org/schemas/sitemap-video/1.1">
<url>
<loc>http://www.example.com/</loc>
<image:image>
<image:loc>http://example.com/imagename.jpg</image:loc>
</image:image>
<video:video>     
<video:content_loc>http://www.example.com/videofilename.flv</video:content_loc>
<video:player_loc allow_embed="yes" autoplay="ap=1">http://www.example.com/videoplayer.swf?video=videofilename</video:player_loc>
<video:thumbnail_loc>http://www.example.com/thumbs/videofilename.jpg</video:thumbnail_loc>
<video:title>عنوان ویدئو</video:title>  
<video:description>توصیف ویدئو</video:description>
</video:video>
</url>
<url>
<loc>http://www.example.com/?link=2</loc>
</url>
</urlset>

افزودن تاریخ و اطلاعات بیشتر به Sitemap


علاوه بر تگ <loc> که آدرس لینک ها را در آن قرار می دهیم، از چند تگ (اختیاری) دیگر نیز می توانیم در نقشه XML سایت خود استفاده کنیم، از جمله <lastmod> برای نمایش تاریخ ایجاد یا به روز رسانی لینک، <changefreq> که دوره تغییر یک لینک را مشخص می کند و <priority> که میزان اهمیت آن را نسبت به سایر لینک ها نشان می دهد.
<?xml version="1.0" encoding="UTF-8"?> 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com</loc>
<lastmod>2012-03-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.example.com/?link=2</loc>
<lastmod>2012-02-18T21:45:19+03:30</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
</urlset>
توضیح:
- فرمت مقادیر تگ <lastmod> می تواند به صورت تاریخ ساده یا تاریخ همراه زمان و اختلاف زمانی باشد (در مثال بالا از هر دو روش استفاده کرده ایم).
- تگ <changefreq> می تواند مقادیری مانند ماهیانه (monthly)، هفتگی (weekly)، ساعت به ساعت (hourly)، روزانه (daily)، سالیانه (yearly)، همیشگی (always) و یا هرگز (never) داشته باشد که نشان دهنده چرخه حدودی تغییرات آن لینک است.
- تگ <priority> میزان اهمیت لینک را مشخص می کند، این مقدار می تواند به ترتیب از کم اهمیت ترین (0.0) تا پراهمیت ترین (1.0) در نوسان باشد.
اطلاعات تکمیلی در خصوص نقشه XML سایت را می توانید در سایت رسمی آن مشاهده کنید:
sitemaps.org
sectionدسته بندی: آموزش کاربردی » PHP
related مطالب بیشتر:
» ساخت فید خوان آر اس اس (RSS Feed Reader) با PHP
» ساخت منوی هوشمند با PHP و CSS
» ارسال پارامتر به URL و دریافت مقادیر با PHP
» نحوه نمایش متن و تصاویر اتفاقی در PHP و MySQL
» محدود کردن لینک دانلود مستقیم فایل ها با PHP و htaccess
commentنظرات (۵۵ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: وحید
زمان: ۲۱:۳۹:۴۷ - تاریخ: ۱۳۹۵/۰۱/۱۸
سلام. اگه با نرم افزار نقشه سایت بسازیم به خوبی روش شما میشه؟
پاسخ: 
هدف از نقشه XML سایت، ایجاد یک ساختار مشخص از لینک های موجود است که عمدتا برای معرفی به موتورهای جستجو استفاده می شود، حال اگر برنامه شما بتواند به درستی این ساختار را ایجاد کند، تفاوتی بین روش ها نخواهد بود (در نهایت وجود لینک ها با توضیحات گفته شده در آموزش در خروجی XML ملاک است).
نویسنده: مجتبی
زمان: ۱۰:۱۱:۳۸ - تاریخ: ۱۳۹۵/۰۱/۲۷
سلام من سایت مپم سایتو اینطوری نوشتم
$url = "<url>";
$url. = htmlspecialchars("<loc>http://www.badeiean.com/page/view.php?id=$PostId&cat = $CatId&$PageTitle</loc>");
$url. = "</url>\n";
اما میگه تو وبمستر گوگل که تگ loc و url رو نمیشناسه
پاسخ: 
استفاده از تابع htmlspecialchars برای کاراکترهایی مانند & و... است، لذا نباید تگ ها را نیز داخل این تابع قرار دهید، در کد شما تگ loc با این تابع به معادل HTML تبدیل می شود که صحیح نیست، به خروجی XML نهایی توجه کنید!
نویسنده: مجتبی
زمان: ۱۰:۰۴:۵۸ - تاریخ: ۱۳۹۵/۰۱/۲۹
مرسی مهندس اما چطور باید تغییرش بدم
$url = "<url>\n<loc>";
$url .= htmlspecialchars("http://www.badeiean.com/page/view.php?id=$PostId&cat=$CatId&$PageTitle");
$url .= "</loc>\n</url>\n";
که به جای & از / استفاده کنم که دیگه نیازی به تابع html نباشه ممنون میشم کمکم کنید واقعا نیارش دارم
پاسخ: 
عدم استفاده از علامت های مربوط به لینک های داینامیک نیازمند آشنایی شما با بحث دوباره نویسی آدرس ها یا URL Rewrite در htaccess است که خود نیازمند آموزش های جداگانه است، به هر صورت کد بالا ویرایش شد.
نویسنده: seyed8
زمان: ۱۰:۰۶:۲۸ - تاریخ: ۱۳۹۵/۰۳/۰۸
منون خيلي بهم كمك كرد
نویسنده: محمد رضا
زمان: ۱۵:۳۷:۵۰ - تاریخ: ۱۳۹۵/۰۳/۱۹
سلام ، همانطور که مطلع هستید هر فایل sitemap قادر به 50000 رکورد هست و برای اینکه واسه سایت sitemap های مختلف به صورت پویا بسازیم باید چکار کنیم
پاسخ: 
برای این موضوع نمی توان راه حل یکسانی ارائه کرد، اما در کل باید بخش مربوط به به روزرسانی فایل sitemap خود را ویرایش و فایل XML جدیدی (نام جدید) بسازید تا زمانی که تعداد URL ها به حداکثر سقف مجاز برسد و همین روند همچنان ادامه خواهد داشت، قاعدتا تمام این فرآیند می تواند به صورت سیستماتیک نیز انجام شود که نیاز به کدنویسی پیشرفته دارد، در نهایت می توانید فایل جدید را در ابزار وبمستر موتورهای جستجو (از جمله گوگل) ثبت کنید.
نویسنده: ایرانی
زمان: ۱۲:۱۹:۳۳ - تاریخ: ۱۳۹۵/۰۶/۲۴
سلام. وقت سخیر
اگر بخوایم نقشه سایت xml رو از کاربران و سایت های رقیب مخفی کنیم اما از موتورهای جستجو نه، باید چیکار کنیم ، آیا باید نام نقشه تغییر بدیم؟ چگونه؟
منظورم اینه که با وارد کردن آدرس مثلا http://example.com/sitemap.xml در مرورگر ها کسی نتونه نقشه رو ببینه و آیا این کار در سئو تاثیر مثبت یا منفی داره؟
لطفا راهنمایی کنید
ممنون
پاسخ: 
اصولا چنین کاری ضروری نیست و توصیه نیز نمی شود، نقشه سایت مجموعه لینک های عمومی هستند و حاوی اطلاعات حساسی نیستند که برای مدیران سایت های رقیب اهمیت خاصی داشته باشد (در واقع نقشه سایت همان لینک هایی هستند که در ساختار و صفحات سایت شما وجود دارد!) از طرفی محدود کردن این فایل ها به طوری که صرفا برای موتورهای جستجو قابل تشخیص باشد از طریق بررسی اطلاعات User Agent ممکن است که این اطلاعات را یک کاربر حرفه ای می تواند به راحتی تغییر دهد (جعل کند)!
نویسنده: pardis
زمان: ۱۱:۵۷:۱۵ - تاریخ: ۱۳۹۵/۱۱/۰۹
سلام با تشکر از سایت خوبتون
ببخشید چطور میشه وقتی اسم سایتمو سرچ میکنم تو گوگل علاوه بر اینکه ادرس و نقشه سمت راست نشون میده قبلش یه توضیح داشته باشه ؟ سایت های زیادی دیدم که دارن ذهنم درگیر شده لطفا راهنمایی کنید؟
پاسخ: 
لطفا یک اسکرین شات از حالت مد نظرتان تهیه کنید تا راهنمایی دقیقتر میسر باشد!
نویسنده: عادل
زمان: ۲۳:۲۸:۴۶ - تاریخ: ۱۳۹۶/۰۲/۱۳
خسته نباشی.
آقا در مورد مثال اول "نقشه سایت معمولی" من اگه همه لینکهایی که میخوام رو به صورت دستی و به ترتیب اولویت بنویسم در نهایت باید با چه اسم و پسوندی ذخیره کنم؟ در مورد php گفته بودی اما در مورد اولین مورد که سوال منه هیچی نگفتی. در ضمن یک بار نوشتم کلا شد پانزده خط که خیلی ساده و کم حجمه، مشکلی که نداره؟ در مورد این نقشه معمولی به غیر از این ده پانزده خط هیچ کد و مورد دیگری نمیخواد؟
پاسخ: 
چه به روش دستی و چه سیستمی در نهایت، خروجی فایلی با نام sitemap.xml است که در ریشه سایت باید قرار دهید، استفاده از PHP صرفا برای ایجاد نقشه به روش داینامیک است چون برای سایت های بزرگ معمولا نمی توان تمام لینک ها را به صورت دستی در فایل XML قرار داد، در حالت معمول پارامترهایی که در نمونه کد می بینید کفایت می کند اما می توانید آموزش را کامل مطالعه کرده و مواردی مانند تاریخ آخرین ویرایش و... را نیز به اطلاعات نقشه سایت اضافه کنید، حجم فایل نیز می تواند حداکثر تا 10 مگابایت باشد.
نویسنده: نیکنام نصیری
زمان: ۱۹:۴۴:۱۷ - تاریخ: ۱۳۹۶/۰۲/۲۹
ممنون بابت توضیحات کاملتون . انشالله همیشه موفق باشید .
نویسنده: محمدی
زمان: ۱۰:۲۹:۰۴ - تاریخ: ۱۳۹۶/۰۳/۲۰
با سلام
سایت مپ را چگونه باید به روز رسانی کنیم؟ یعنی اگر بعد از مدتی صفحات دیگری به سایت اضافه شد باید دوباره سایت مپ بسازیم؟ یا می توان همان سایت مپ اولیه را به روز رسانی کرد و صفحات جدید سایت را به گوگل معرفی نمود؟
با تشکر
پاسخ: 
نقشه سایت را هم می توانید به صورت دستی (معمولا برای سایت های استاتیک) و هم به صورت سیستمی به روزرسانی کنید، نیازی نیست که برای افزودن هر لینک یک فایل جدید بسازید بلکه باید اطلاعات مربوط به لینک های جدید را در فایل نقشه سایت موجود اضافه نمائید، ربات گوگل به تناوب و به صورت خودکار نقشه سایت شما را کاوش می کند.
paged صفحه 4 از 4
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ خاصی داده نخواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لذا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.




5 × 2
 refresh
نکته:
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشند که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.
آخرین دیدگاه ها
form مهسا
در:
سلام وقت بخیر من یک فرم طراحی کردم input ها به صورت دو ستونه گذاشتم. میخواستم با زدن تب از input اولی در...
۱۳:۰۱:۴۶ ۱۳۹۸/۰۶/۰۲

form behzad
در:
مرسی خوب بود
۱۲:۱۵:۱۴ ۱۳۹۸/۰۶/۰۲

form zeynab
در:
سلام یه سوال دارم برای اینکه بتونم رنگ رو ذخیره کنم تو جدولم در قسمت پایگاه داده چیکار باید کنم ؟؟ من...
۱۷:۰۶:۳۵ ۱۳۹۸/۰۵/۲۸

form علی
در:
سلام من میخوام تو صفحه html همچین طرحی رو بندازم میشه راهنماییم کنید (به صورت جداگانه یعنی هر کدوم توی یه صفحه) ***** ...
۱۶:۴۶:۳۶ ۱۳۹۸/۰۵/۲۷

form Zeynab
در:
سلام . وقت بخیر . من از کدهای htaccess برای سایت استفاده کردم . روی لوکال هاست مشکلی ندارم اجرا میشن . ...
۲۲:۴۲:۵۴ ۱۳۹۸/۰۵/۲۳

form bahman
در:
عالی
۲۲:۱۵:۵۰ ۱۳۹۸/۰۵/۲۳

form Abbas rahmati
در:
سلام همه چی توی قسمت اینکه اس اس ال چطور کار میکنه درست بود فقط اخرشو درست نگفتید
۱۴:۱۶:۴۰ ۱۳۹۸/۰۵/۲۳

form مهدی فراهانی
در:
در آکولاد if، می خواهم پس از صحت پرداخت کاربر، کاربر به یک صفحه html برای دانلود فایل لینک شود. چه دستوری در حلقه if...
۱۲:۰۸:۳۲ ۱۳۹۸/۰۵/۲۳

form احسایدر
در:
شما از چه روشی برای لینک دادن به قسمت‌های نوشته استفاده کردید که با کلیک کردن چیزی به آدرس نوشته اضافه نمیشه؟
۱۸:۵۷:۰۵ ۱۳۹۸/۰۵/۲۲

form Mahyar
در:
سلام خسته نباشید اگه بخواهیم که یک pop up با کلیک به خارج از کادر pop up یا کلیک به روی دکمه esc...
۱۱:۴۸:۵۶ ۱۳۹۸/۰۵/۱۹

form بینهایت
در:
سلام. میخواستم بپرسم اگر به اینترنت جایی وصل باشیم کسی که ادرس IP رو میدونه ایا امکان داره از طریق همین اتصال به سیستم ما...
۱۰:۲۶:۱۵ ۱۳۹۸/۰۵/۱۵

form کیهان
در:
سلام دوستان من یک صفحه درست کردم که از طریق یک فرم اطلاعات رو میفرسته به این صفحه برای ذخیره در دیتابیس ولی...
۱۱:۰۰:۲۳ ۱۳۹۸/۰۵/۱۴

form مجتبی
در:
هر وقت این سایت رو می بینم سریع ازش رد میشم حالم از این سایت بهم میخوره هیچ طراحی جذابی نداره مطالبش هم بدرد نخوره
۰۹:۵۳:۴۹ ۱۳۹۸/۰۵/۱۴

form بهزاد
در:
سلام من وبلاگ درست کردم عمل هم کرده ولی الان اخطار میده که وبلاگ شما در وضعیت عدم نمایش قرار دارد. برای فعال سازیش چکار...
۱۷:۲۰:۳۷ ۱۳۹۸/۰۵/۱۳

form امیر
در:
مرسی مقاله بسیار عالی بود . فوق العاده این.
۱۰:۵۰:۳۵ ۱۳۹۸/۰۵/۰۹
49 . 1 %
در حال برنامه نویسی و آماده سازی نسخه جدید «وبگو» هستیم، در این نسخه قابلیت ها و ظاهر سایت متفاوت و کاملتر خواهد بود، این فرآیند زمانبر است و روند پیشرفت پروژه در این قسمت به صورت درصدی نمایش و به تناوب به روزرسانی می شود. Webgoo.ir