ایجکس چیست و راه حل های رفع مشکل سئو در AJAX
مقدمه
حدود سال 2010 شرکت گوگل اعلام نمود برنامه ها و وب سایتهایی که از Ajax می کنند، قابل Crawl هستند. همانگونه که اغلب شما می دانید، موتورهای جستجو کدهای HTML را خیلی سریع ایندکس می نمایند اما نمی توانند محتواهای جاوا اسکریپت و اِی جکس (AJAX ) را درک کنند.هدف از این مقاله معرفی AJAX، بررسی مشکل Crawl محتواهای AJAX و ارائه راه حل های متخلف برای رفع این مشکل می باشد.
ای جکس چیست؟
ای جکس AJAX مخفف کلمات( Asynchronous JavaScript And XML)، مجموعه ای از استانداردها و فناوریهای وب است که به کمک آنها میتوان برنامههایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند.ایجکس یک تکنولوژی نیست؛ بلکه مجموعهایست از تکنولوژیهایی که هر یک در جای خود تکنولوژی کامل و موفقی هستند، و اکنون به شکل جدیدی در کنار هم قرار گرفته و ایجکس را تشکیل دادهاند. تکنولوژیهایی که در ایجکس از آنها استفاده میشود عبارتاند از:
بازیابی دادهها بصورت غیر همروند با استفاده از XMLHttpRequest.و جاوااسکریپت برای سرهمبندی همه چیز با هم.
تبادل و دستکاری داده با استفاده از XML و XSLT.
نمایش استاندارد با استفاده از XHTML و CSS نمایش پویایی و تعاملات با استفاده از Document Object Model (DOM).
ای جکس یک شیوه جهت طراحی و توسعه وبگاهها بوده که جهت بالا بردن قدرت تعامل Interface سایت با کاربر و بالا بردن کیفیت عملکرد و قابلیتهای سایت مورد استفاده قرار میگیرد Ajax.به صورت Client Side و با به کار گیری CSS و JavaScript مورد استفاده قرار میگیرد. امروزه در مبحث طراحی صفحات HTML تکنولوژی Ajax عامل حیات صفحه و ارضاء کاربر در مواجهه با Interface، تلقی میشود.
در واقع ایجکس ترکیبی از تکنولوژیهای فوق است و هیچ چیز جدیدی ارائه نمیدهد. همه شگفتی ایجکس در معماریایست که برای ساخت یک برنامه وب، با استفاده از این تکنولوژیها ارائه میدهد.
ای جکس معماری جدیدی برای وب
روش کار برنامههای کلاسیک وب چیزی شبیه این است: اکثر تعاملات کاربر با رابط کاربری باعث ارسال یک درخواست به سرور میشود. سرور پردازشهای لازم را انجام داده و سپس یک صفحه HTML به کلاینت بازمیگرداند. این مدل بر اساس هدف اصلی وب، یعنی ایفای نقش یک رسانه برای ابرمتن است.
اما آنچه وب را برای ابرمتنها مناسب میکند، الزاماً آن را برای برنامههای نرمافزاری نیز مناسب نخواهد کرد. قسمتهای مهم معماری پیشنهادی ایجکس به این قرارند . عکسالعمل برای هر رخدادی: تقریباً میتوانیم برای تمام رخدادهایی که کاربر بوجود میآورد، با سرور ارتباط برقرار کنیم. مرورگرهای مدرن اکثر رخدادهایی را که سیستمعامل اجازه میدهد دریافت میکنند.کلیک کردن موس، حرکت موس روی شی، زدن یک کلید و غیره. هر رخدادی میتواند باعث ارسال یک درخواست به صورت غیر همروند برای سرور شود.
غیر همروند بودن: درخواستهایی که به سرور ارسال میشود، باعث مسدود شدن صفحهٔ درون مرورگر کلاینت نمیشوند. کاربر میتواند به کار با قسمتهای دیگر برنامه ادامه دهد و هنگامی که پاسخی از سرور دریافت شد، با بهروز کردن رابط کاربر، به کاربر اطلاع داده میشود. رخدادهای کوچک سمت سرور: اجزای درون یک برنامه وب میتوانند، درخواستهای کوچکی برای سرور ارسال کنند،
اطلاعات مورد نیازشان را از سرور دریافت کنند، و هر قسمت از صفحه را که لازم است بر اساس DOM بهروز کنند، بدون اینکه تمام صفحه دوباره بارگذاری و ترسیم شود. بجای اینکه مرورگر در آغاز ارتباط تنها یک صفحه HTML را بارگذاری کند، یک موتور ایجکس را نیز همراه با صفحه بارگذاری میکند، که به زبان جاوااسکریپت نوشته شده و معمولاً مابین فریمهایی در صفحه پنهان شدهاست. این موتور عامل بهروز کردن رابط کاربریای که کاربر میبیند، و همچنین برقراری ارتباط با سرور در پشت پرده است. موتور Ajax امکان تعامل کاربر با برنامه را، مستقل از ارتباطات و نقل و انتقالات بین برنامه و سرور میدهد. بنابر این، کاربر دیگر شاهد یک صفحه خالی و ساعت شنی و انتظار برای انجام عملیات سمت سرور نخواهد بود.
آن دسته از فعالیتهای کاربر که باعث یک درخواست HTTP میشدند، اکنون با استفاده از جاوااسکریپت موتور ایجکس را فراخوانی میکنند. در مورد پاسخ به آن دسته از فعالیتهای کاربر که نیاز به ارسال درخواست به سرور ندارند (مانند اعتبار سنجیهای ساده دادهها، ویرایش دادههای درون حافظه سیستم کلاینت، و حتی هدایت کاربر به بخشهای مختلف برنامه در برخی موارد) موتور ایجکس خود وارد عمل میشود.
اگر موتور ایجکس برای پاسخ گویی نیاز به چیزی از سمت سرور داشته باشد، (مثلاً اطلاعاتی را از بانک اطلاعاتی بخواهد، کدهای جدیدی برای رابط کاربر لازم داشته باشد و...) بصورت غیر همروند و معمولاً در قالب XML یک درخواست به سرور ارسال میکند. ارسال این درخواست هیچ وقفهای در کار کاربر با برنامه ایجاد نخواهد کرد. همانطور که پیش از این گفته شد، ایجکس مجموعهای از چند تکنولوژی است. موتور Ajax از این تکنولوژیها برای انجام وظایف مختلفی که بعهده دارد استفاده میکند.
فناوری ای جكس جدید است و شگفت انگیز به نظر می رسد. ولی در حقیقت كل این شعبده بر اساس فناوری هایی بنا شده است كه هم اكنون موجودند: XML و جاوا اسكریپت .هر دوی این فناوری ها تا حد زیادی باز هستند و منحصر به شركت خاصی نیستند. این فناوری از یك جنبه دیگر نیز اهمیت دارد.
به دلیل عدم نیاز به بارگذاری مجدد كل یك صفحه وب، مقدار داده هایی كه لازم است برای تكمیل یك Interaction میان كاربر و سایت مبادله شود، به شدت كاهش می یابد و این به معنی افزایش محسوس سرعت نرم افزارهای تحت وب، سهولت به كارگیری اینترفیس های مبتنی بر ای جكس و كاربرپسندترشدن آن ها می شود. به همین دلیل این روزها اكثر پورتال های بزرگ (مانند یاهو) مشغول طراحی اینترفیس های مبتنی بر Ajax هستند. با این همه مزایای ای جكس به همین موارد ختم نمی شود. فرض كنید وقتی در طول شبانه روز میلیاردها بار فرآیند بارگذاری مجدد صفحات وب تعاملی در شبكه اینترنت تكرار می شود.
استفاده از ای جكس چگونه موجب آزاد شدن پهنای باند اینترنت و در نتیجه میلیاردها دلار صرفه جویی اقتصادی در این زمینه می شود و این به نوبه خود انقلابی در عرصه وب و فضای سایبر به شمار می رود. این تحول در شرایطی اتفاق می افتد كه همزمان فناوری های اینترنت پرسرعت همچون ADSL به شدت در حال رشد هستند. حال تصور كنید اگر فناوری ای جكس در مقیاس گسترده ای مورد استفاده نرم افزارهای تحت وب قرارگیرد. آنگاه افزایش سرعت كار با اینترنت چند برابر خواهد شد. چنین تحولی می تواند اینترنت را به كامپیوتر دوم كاربران تبدیل كند.
به گونه ای كه برای آن ها اجرای یك نرم افزار از روی وب تفاوت محسوسی با اجرای آن از روی كامپیوتر دسكتاپ نداشته باشد. در این صورت ممكن است واقعا بخش مهمی از توان پردازشی نرم افزارها، چه از نوع دسكتاپ و چه از نوع تحت وب به سیستم های موسوم به Web Service واگذار شود. از این رو كسانی كه مبتكر و مشوق ایده وب سرویس بوده اند، این روزها انگیزه تازه ای برای سرعت بخشیدن به این فناوری پیدا كرده اند و تلاش می كنند دو فناوری ای جكس و وب سرویس را به یكدیگر پیوند دهند و راهكارهای تازه ای بیافرینند.
استفاده درست از AJAX در طراحی سایت!؟
یکی از اشتباهات رایج در طراحی سایت استفاده از URL بی معنی برای موتورهای جستجو است که توسط برنامه نویسان ایجاد می شود . بسیاری از مهندسین نرم افزار در استفاده از Ajax هنگام طراحی سایت این اشتباه را انجام می دهند که پارامترها و مشخصات وب سایت ها را در آدرس URL بعد از # قرار می دهند و به سرور ارسال می کنند غافل از آنکه موتورهای جستجو پارامترهای بعد از # را در نظر نگرفته و از آنها چشم پوشی می کند .
با این حال می توان گفت که در تکنیکهای Ajax و فلش که از # استفاده می کنند برای URL گوگل فرندلی ، مفید نخواهند بود و برخی از آنها حتی عنوان و متن صفحه را با جاوا اسکریپت تغییر نمی دهند که استفاده از این تکنیک ها تنها هدر رفتن وقت و بی فایده خواهد بود . استفاده از کدهای جاوا اسکریپت برای گوگل فرندلی کردن سایت راه اشتباهی است.
راه صحیح برای مشکل بالا استفاده از !# خواهد بود آنهم به شرطی که کد آن بتواند پاسخگوی درخواست گوگل باشد، که تنها این کافی نیست و با وجود اینکه راههای مختلفی در طراحی وب سایت برای استفاده از AJAX وجود دارد ولی مهمترین آن این است که با استفاده از ASP,JSP,ASP، NET و .... کدی بنویسید که مطمئن باشید سرور از طرح خزنده گوگل AJAX پیروی کرده و یک URL قابل فهم برای موتورهای جستجو تولید می شود و سئو سایت بهتر می شود.
راه حل های رفع مشکل سئو در AJAX
یکی از پر طرفدارترین روشها برای رفع مشکل خزیدن AJAX ، طرح AJAX خزنده گوگل می باشد.
مشکلات خزیدن AJAX
یکی از مشکلاتی که اکثر برنامه نویسان در کدنویسی سایت خود با اسکریپت های AJAX دارند عدم بررسی صفحات سایت در موتور جستجو و بهینه نبودن آنها برای سئو است.
برای درک و شرح بهتر این مشکل به نحوه عمکرد Crawler موتور جستجوهای یا نحوه خزیدن بر روی صفحات وب می پردازیم:
1. رباتهای موتورهای جستجو ابتدا سورس صفحه مورد نظر را بررسی می کند.
2. سپس متا تگ های صفحه را می خوانند.
3. بعد از بررسی متا تگ ها و یافتن آپشن مورد نظر، در بدنه صفحه یا تگ body به دنبال لینک ها می گردد و لینکهای داخل کد href را در می آورد تا صفحات جدید راCrawl کند.
در اینجا اگر برای صفحه AJAX لینکی در نظر نگرفته باشید و با On Click نمایش دهید موتور جستجو قادر به پیدا کردن چیزی نیست که آن را باز کند، در نتیجه محتوای آن صفحه Crawl و ایندکس نمی شود. از طرفی مشکل اصلی خزیدن AJAX این است که مبتنی بر جاوا اسکریپت کار می کند. جاوا اسکریپت یک زبان برنامه نویسی سرویس گیرنده می باشد و در مروگرهای (فایرفاکس، کروم و غیره) اجرا می شود. مرورگرهای مختلف دارای ویژگی ها و توابع مختلفی هستند در نتیجه جاوا اسکریپت نیاز به منابع اضافی دارد که این برای رباتهای موتورهای جستجو هزینه بر است، در نتیجه روی سئوی سایت تأثیر منفی می گذارد. اگر یک روش خاص باعث افزایش هزینه عملیاتی موتورهای جستجو شود، وب مسترها باید بر روی روشهای با هزینه کمتر کار کنند.
طرح AJAX خزنده گوگل
در طرح AJAX خزنده گوگل URL تمام صفحات دارای محتوای AJAX با کاراکترهای خاص (!#) مشخص می شوند و هنگامی که گوگل یک لینک با AJAX URL ببیند به عنوان مثال
http://example.com/page?query#!stat
به طور اتوماتیک آن را به صورت زیر تفسیر میکند.
http://example.com/page?query&_escaped_fragment_=state
برای این منظور برنامه نویسان باید ساختار برنامه نویسی خود را تغییر دهند زیرا هنگامی که گوگل یک درخواست برای این URL می فرستد، سرور باید قادر به بازگشت کدHTML هنگام فراخوانی تابع AJAX باشد. هنگامی که گوگل AJAX URL را ببیند، پس از تفسیر آن محتواهای را Crawl و ایندکس می نماید. در نهایت زمانیکه صفحه ایندکس شده در نتایج موتورهای جستجو قرار گرفت، گوگل URL اصلی را به کاربر نمایش می دهد. در طرح AJAX خزنده گوگل، گوگل بدون اجرای جاوا اسکریپت قادر است محتوای AJAX را Crawl کند. این روش بسیار معمول تر از Hijax است اما نیاز به برنامه نویسی بیشتر دارد و در حال حاضر فقط توسط گوگل پشتیبانی می شوند.
كدام سایت ها از ای جكس استفاده كرده اند؟
دنیای برنامه نویسی وب هنوز درگیر هیجانات مربوط به آشنایی با این پدیده است و در حال بررسی مشكلات تكنیكی و هضم و جذب آن در بافت برنامه های تحت وب می باشد. به همین دلیل میزان استفاده عملی از آن چندان گسترده نیست. اما چون كارایی ای جكس دیگر برای همه ثابت شده است، حركت های بزرگی در سراسر اینترنت به سمت استفاده از این فناوری در جریان است. از جمله اینترفیس نسخه دوم Yahoo Mail كه به نسخه بتا معروف است و فعلا در دسترس كاربران سرویس غیر رایگان یاهو قراردارد، از همین فناوری استفاده می كند كه به زودی اینترفیس جدید در دسترس عموم قرار می گیرد. سرویس Gmail و Google Map نیز از این فناوری ای جكس استفاده می كنند .
نتیجه گیری :
در طراحی سایت استفاده از پارامترهای بی معنی برای موتورهای جستجو، کاری اشتباه است. استفاده از کدهای جاوا اسکریپت برای گوگل فرندلی کردن سایت مناسب نیست. بهتر است برای طراحی وب سایت از ASP,JSP,ASP.NET استفاده شود تا خزنده های موتور جستجو وب سایت را بهتر پیدا کنند و سئو سایت بهتر شود.
اشتراک گذاری در :
مقالاتی که پیشنهاد می شود بخوانید

CMS یا سیستم مدیریت محتوا چيست و چه كاربردهايی دارد؟
بازدید: 3489
به زبان ساده CMS نرمافزاری است برای طراحی وبسایتی حرفهای.به این نکته توجه داشته باشید که عبارت CMS که مخفف Content Management System است و تنها منحصر به وب نیست و به مدیریت هر نوع محتوایی برمیگردد، ولی بیشترین کاربرد را در وب دارد.نرمافزار مدیریت محتوا یا ( Content Management System) CMS برنامهای است که بطور کامل از ایجاد، مدیریت و بروزرسانی یک وبسایت پشتیبانی میکند و تمام ابزارهای مورد نیاز را برای مدیریت [...]

بهینه سازی وب سایت هایی با چند نام دامنه
بازدید: 2388
از آنجایی که موتورهای جستجو از جمله گوگل ارزش زیادی برای کلمات واقعی در مورد نام دامنه قائل هستند، بسیاری از صاحبان سایت ها و کسب و کارهای آنلاین برای حضور وب سایت شان در بهینه سازی موتور جستجو توسط خریدن نام های دامنه ای که حاوی کلمات کلیدی هدفمندی هستند، اقدام نمایند.انجام این کار شاید صدمه ای به کسب و کار وارد نکند ولی اگر بر فرض 30 نام دامنه دارای کلمات کلیدی هدفمند وجود داشته باشد ولی نام دامنه سایت اصلی [...]

طراحی وب سایت استاندارد و جلوگیری از خروج کاربران وب سایت و روش کاهش Bounce rate سایت
بازدید: 2472
ساختار استاندارد و مناسب با تکیه بر محتوای مناسب و کاربردی میتوانید میزان خروج کاربران از وب سایت قبل از بازدید تنها یک صفحه را بگیرید و بازدید کننده را ترغیب به دیدن تمامی صفحات وب سایت نماید .یک طراحی مناسب می تواند میزان خروج کاربران از وب سایت را کاهش داده و موجب افزایش فعالیت کاربران در وب سایت شود .تنها راه جلوگیری از خروج کاربران از وب سایت کاهش کاهش Bounce rate می باشد.Bounce rate چیست ؟مقیاسی است مناسب جهت بررسی [...]

الگوریتم گوگل پنگوئن چیست - بررسی الگوریتم جدید گوگل
بازدید: 2474
گوگل پنگوئن از تاریخ 24 آپریل 2012 (5 اردیبهشت ماه سال 1391) منتشر شده است. هدف از این الگوریتم حذف سایت هایی که از روش های ایجاد لینک استفاده می کنند از نتایج گوگل است. بر اساس تخمینی که گوگل ارائه داده است این نسخه جدید بر روی 3.2 درصد سایت های انگلیسی و 3 درصد سایت ها به زبان های دیگر تاثیر گذاشته است. سایت هایی که بر اثر این نسخه جدید از نتایج جستجو حذف میشوند می توانند از طریق ابزار مدیر سایت گوگل درخواست بازبینی بدهند. [...]

بازاریابی اینترنتی با موتورهای جستجو
بازدید: 2655
بازاریابی هدفمند از رویکردهای دنیای بازاریابی امروزه می باشد. در بازاریابی هدفمند قسمت خاصی از مصرف کننده به عنوان مصرف کننده مورد نظر و نیارهای آنها به طور کامل و دقیق مورد بررسی قرار می گیرد. سپس با استفاده از ابزارهای بازاریابی برای این مصرف کنندگان و جذب آنها اقدامات بازاریابی صورت می گیرد.در دنیای دیجیتال و بازاریابی الکترونیکی نیز از این روش با استراتژیهای مختلفی استفاده می شود. در تبلیغات اینترنت که [...]

وب چیست و چگونه کار میکند؟
بازدید: 37167
وب (WEB)یک سیستم مبتنی بر سرویس دهنده سرویس گیر (Client/Server) بر روی اینترنت است که با استفاده از ابزار فرامتن(HyperText) و پیوند(Link) دادن اجزای اطلاعات به یکدیگر دسترسی به منابع اطلاعاتی را تسهیل می کند .وب از ابزار فوق رسانه ای (HyperMedia) که شامل فوق متن و چند رسانه ای (MultiMedia) است بهره می گیرد. از طریق وب می توان اطلاعات را ارسال ویا دریافت نمود و متفاوت بودن سیستمهای سخت افزاری و نرم افزاری (سیستم عامل( مانع ایجاد ارتباط [...]