انواع صفحات داینامیک
صفحات داینامیک را می توان به دو دسته کلی تقسیم کرد که در زیر شرح آنها خواهد رفت:
اسکریپت های سمت کلاینت و تولید محتوا
در این روش، به روز رسانی، با استفاده از اسکریپت های سمت کلاینت، برای تغییر در تنظیمات پنل از طریق یک صفحه از سایت، که با کمک ماوس یا صفحه کلید و یا برخی از وقایع زمانی صورت می گیرد.
چنین صفحاتی از تکنولوژی هایی استفاده می کنند و به نام های پنل کاربری پیشرفته مشهور می باشند. زبان های اسکریپت نویسی سمت کلاینت، نظیر جاوا اسکریپت و اکشن اسکریپت، به ترتیب برای html داینامیک یا DHTML استفاده می شوند و تکنولوژی فلش نیز هم در مالتی مدیا ها و هم در صفحات وب، استفاده می شوند. البته استفاده از فلش در حال حاضر منسوخ شده است. آنها همچنین برای روح بخشیدن بیشتر به صفحات، نظیر بخش افکت های صوتی یا انیمیشن، تغییرات روی متن و غیره، مورد استفاده قرار می گیرند. چنین اسکریپت هایی همچنین می توانند با استفاده از تکنولوژی برنامه نویسی سمت سرور، که به تکنولوژی صفحات DHTML مشهور است، برای درخواست اطلاعات از سمت سرور است، استفاده شوند. این کار معمولا با بهره گیری از Frame های مخفی، XMLHttpRequest ها یا Web Service ها صورت می گیرد.
محتوا سمت کلاینت، بر روی کامپیوتر کاربر تولید می شود. مرورگر صفحه ای را از سرور می خواند و سپس کدهای درونی آن را تحلیل می کند (که اغلب با جاوا اسکریپت نوشته شده اند) و سپس آن ها را بر روی صفحه به کاربر نمایش می دهد.
مشخصه innerHTML (از جاوا اسکریپت) می تواند ساخت صفحات داینامیک سمت کلاینت را به تصویر بکشد: دو صفحه جداگانه A و B از سایت می توانند به صورت:
document.innerHTML = B
یا در هنگام لود داینامیک به صورت به صورت:
document.write(B)
ساخته شوند.
همچنین ابزارها و محیط هایی برای تبدیل فایل های HTML به فایل های جاوا اسکریپت وجود دارد. برای مثال، webJS از مشخصه innerHTML برای رندرینگ صفحات از کدهای html تبدیل شده روی کامپیوتر کاربر استفاده می کند.
اولین نسخه ای از جاوا اسکریپت که به صورت عمومی استفاده شد، به سال 1996 میلادی بر می گردد (همراه با Netscape که نام جاوا اسکریپت در آن زمان، استاندارد ECMAscript بود).
اسکریپت های سمت سرور و تولید محتوا
از برنامه ای که روی سرور اجرا می شود (اسکریپت سمت سرور) برای تغییر در محتویات صفحات مختلف سایت می توان استفاده کرد یا از آن می توان برای تغییر در مراحل یا بارگذاری صفحات سایت استفاده کرد. پاسخ های سرور که ممکن است از آنها برای تولید محتوا استفاده کرد، به صورت های مختلفی نظیر کدهای HTML، پارامترهای آدرس URL، نوع مرورگر استفاده شده، زمان غیر فعال بودن، یا یک دیتابیس یا یک وضعیت، از سرور می باشند.
چنین صفحاتی غالبا با کمک زبان های برنامه نویسی نظیر ASP، ColdFusion، Perl، PHP، و دیگر زبان های برنامه نویسی، نوشته می شوند. زبان های برنامه تحت سرور، غالبا از پوسته ورودی مشترکی به نام CGI، برای تولید صفحات داینامیک استفاده می کنند. دو نمونه از استثناهای بزرگ، ASP.NET، و JSP هستند که از مفهوم CGI، در API های خود استفاده می کنند ولی تمامی درخواست های سرور را درون ماشینی مجازی مشترکی اجرا می کنند.
صفحات داینامیک سمت سرور، همچنین می توانند از تکنولوژی سمت کلاینت نیز برای تولید محتوا استفاده نمایند.
در حالی که زبان های برنامه نویسی سمت سرور که تحت ماشینی مجازی اجرا می شوند و همچنین CGI، برای طراحی و توسعه سایت مناسب می باشند، ولی برخی از وب سرورها همچنین از include تحت سرور (نوعا با پسوندی نظیر .shtml) پشتیبانی می کنند و Jhtml که تکنولوژی جاوا سمت سرور می باشد پیش از ظهور JSP، وجود داشت.
ترکیب کلاینت و سرور
Ajax، تکنولوژی تحت وبی می باشد که برای به روز رسانی داینامیک محتوا با کمک سرور استفاده می شود بدون آنکه صفحه بارگذاری مجدد شود. Google Maps، مثالی از برنامه های تحت وبی می باشد که از تکنولوژی های Ajax و دیتابیس، استفاده می کند.
معایب ساخت صفحات داینامیک
موتورهای جستجوگر، با تولید ایندکس هایی از صفحاتی که در اینترنت وجود دارند، کار می کنند و در آغاز کار، آنها تنها با صفحات استاتیک سر و کار داشتند. با ظهور صفحات داینامیک، که غالبا با استفاده از دیتابیس های محرمانه ای تولید می شوند، محتویات، برای آنها مخفی می باشد. تا زمانی که محتویات داینامیک، به طریقی، کپی نشوند (به عنوان مثال، با یکسری از صفحات استاتیک روی همان سایت)، موتورهای جستجوگر، ممکن است اطلاعاتی را که به دنبال آن هستند را نیابند.
خیلی غیر منطقی است که توقع داشت تا موتورهای جستجوگر قادر باشند از ساختارهای پیچیده دیتابیس سایت ها سر در آورند و در برخی از اوقات، حتی به دلیل امنیت سایت، دسترسی ها حتی سخت تر خواهد شد.
تاثیر صفحات داینامیک بر رتبه سایت شما
یک سایت داینامیک به کندی و به سختی بیشتری نسبت به یک سایت استاتیک ایندکس می شود. حتی مدت زمان بسیار طولانی تری نیز لازم است تا یک سایت داینامیک در کلمات کلیدی خود رتبه بگیرد. این رتبه گیری بعضا تا سال ها به طول می انجامد تا صفحات داینامیک به طور کامل ایندکس شوند و رتبه های آنها محاسبه شود (در مقایسه با یک سایت استاتیک که ممکن است ماه الی 6 ماه زمان لازم داشته باشد).
مشکل گوگل با سایت های داینامیک چیست؟
صفحات داینامیک می توانند به طور اتوماتیک ساخته شوند و حتی مطالبی را به طور خودکار از اینترنت جمع آوری کنند. یک سایت داینامیک می توانند بی نهایت صفحه داشته باشد که قطعا یک کابوس وحشتناک برای موتورهای جستجوگر است. آنها نمی خواهند بازی بخورند و فضای دیسک سرور خود را با بی نهایت صفحه کپی یا بی معنا پر کنند. برای این منظور آنها به طور خیلی آهسته سایت های داینامیک را ایندکس و رتبه بندی می کنند.
راه حل مشکل صفحات داینامیک چیست؟
معمولا صفحات داینامیک و آدرس آنها به گونه ساخته می شوند که شباهتی به داینامیک بودن نداشته باشند. یک آدرس داینامیک به صورت زیر است:
www.abc.com/page/?pid=11
و یک آدرس استاتیک به صورت زیر است:
www.abc.com/page/christina-alvarez/
سعی کنید برای ایندکس بهتر و سریعتر سایت خود، آدرس صفحات داینامیک خود را به صورت یک سایت استاتیک نمایش دهید تا با گوگل مشکلی نداشته باشید.