ای‌جکس چیست و راه حل های رفع مشکل سئو در AJAXای‌جکس چیست و راه حل های رفع مشکل سئو در AJAX تاریخ انتشار : 30 فروردین، 1396

ای‌جکس چیست و راه حل های رفع مشکل سئو در 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
یکی از مشکلاتی که اکثر برنامه نویسان در کدنویسی سایت خود با اسکریپت های AJAX دارند عدم بررسی صفحات سایت در موتور جستجو و بهینه نبودن آنها برای سئو است.
برای درک و شرح بهتر این مشکل به نحوه عمکرد Crawler موتور جستجوهای یا نحوه خزیدن بر روی صفحات وب می پردازیم:
 1. رباتهای موتورهای جستجو ابتدا سورس صفحه مورد نظر را بررسی می کند.
 2. سپس متا تگ های صفحه را می خوانند.
3.  بعد از بررسی متا تگ ها و یافتن آپشن مورد نظر، در بدنه صفحه یا تگ body به دنبال لینک ها می گردد و لینکهای داخل کد href را در می آورد تا صفحات جدید راCrawl کند.
در اینجا اگر برای صفحه AJAX لینکی در نظر نگرفته باشید و با On Click نمایش دهید موتور جستجو قادر به پیدا کردن چیزی نیست که آن را باز کند، در نتیجه محتوای آن صفحه Crawl و ایندکس نمی شود. از طرفی مشکل اصلی خزیدن AJAX این است که مبتنی بر جاوا اسکریپت کار می کند. جاوا اسکریپت یک زبان برنامه نویسی سرویس گیرنده می باشد و در مروگرهای (فایرفاکس، کروم و غیره) اجرا می شود. مرورگرهای مختلف دارای ویژگی ها و توابع مختلفی هستند در نتیجه جاوا اسکریپت نیاز به منابع اضافی دارد که این برای رباتهای موتورهای جستجو هزینه بر است، در نتیجه روی سئوی سایت تأثیر منفی می گذارد. اگر یک روش خاص باعث افزایش هزینه عملیاتی موتورهای جستجو شود، وب مسترها باید بر روی روشهای با هزینه کمتر کار کنند.

مشکلات خزیدن 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 است اما نیاز به برنامه نویسی بیشتر دارد و در حال حاضر فقط توسط گوگل پشتیبانی می شوند.

طرح AJAX خزنده گوگل

 

كدام سایت ها از ای جكس استفاده كرده اند؟
دنیای برنامه نویسی وب هنوز درگیر هیجانات مربوط به آشنایی با این پدیده است و در حال بررسی مشكلات تكنیكی و هضم و جذب آن در بافت برنامه های تحت وب می باشد. به همین دلیل میزان استفاده عملی از آن چندان گسترده نیست. اما چون كارایی ای جكس دیگر برای همه ثابت شده است، حركت های بزرگی در سراسر اینترنت به سمت استفاده از این فناوری در جریان است. از جمله اینترفیس نسخه دوم Yahoo Mail كه به نسخه بتا معروف است و فعلا در دسترس كاربران سرویس غیر رایگان یاهو قراردارد، از همین فناوری استفاده می كند كه به زودی اینترفیس جدید در دسترس عموم قرار می گیرد. سرویس Gmail و Google Map نیز از این فناوری ای جكس استفاده می كنند .

كدام سایت ها از ای جكس استفاده كرده اند؟

 

نتیجه گیری :
در طراحی سایت استفاده از پارامترهای بی معنی برای موتورهای جستجو، کاری اشتباه است. استفاده از کدهای جاوا اسکریپت برای گوگل فرندلی کردن سایت مناسب نیست. بهتر است برای طراحی وب سایت از ASP,JSP,ASP.NET استفاده شود تا خزنده های موتور جستجو وب سایت را بهتر پیدا کنند و سئو سایت بهتر شود.


اشتراک گذاری در :

مقالاتی که پیشنهاد می شود بخوانید

چرا پست مهمان میتواند بسیار مفید و اهمیت داشته باشد؟
01 اردیبهشت

چرا پست مهمان میتواند بسیار مفید و اهمیت داشته باشد؟

بازدید: 512

نوشتن پست های مهمان که حاوی پیشنهاد های خوب و اطلاعاتی مفیدی باشند بهترین ‏روش برای معرفی خود به مشتریان بالقوه و شناساندن کار و تجارت شما به دیگران است و ‏همچنین اثر بسیار مثبتی روی سئو سایت می گذارد‎.‎نوشتن پست های مهمان پلی ارتباطی است بین خوانندگان مطالب و عناصر اصلی و مهم ‏سئو ‏‎ ‎پست های مهمان، برند سازی یا برندینگ‎ ‎را افزایش می دهند‎. ‎‏ ‏همان طور که در مقاله " در راه اندازی یک [...]

ابزارها و وب سایتهای برای تست وب سایتهای طراحی شده در موبایل
01 اردیبهشت

ابزارها و وب سایتهای برای تست وب سایتهای طراحی شده در موبایل

بازدید: 615

با توجه به تنوع زیاد وسایل استفاده کننده از اینترنت مثل موبایل ، تلویزیون های هوشمند ، ‏تبلت و ...  در طراحی سایت و سئو سایت سازگار با تمامی وسایل بسیار مشکل خواهد بود ‏یکی از مهمترین مشکلات عدم دسترسی به تمام وسایل و مدل ها برای تست های واقعی ‏است.‏با توجه به این چالش بزرگ شبیه سازهای بسیار مختلفی برای تست و بررسی وب سایت ها ‏در وسایل مختلف ساخته شده است. خوشبختانه شبیه سازهای موبایل انجام این کار را [...]

بهینه سازی سایت و سئو تضمینی سایت یا فروشگاه شما
31 فروردین

بهینه سازی سایت و سئو تضمینی سایت یا فروشگاه شما

بازدید: 555

سئو چیست و چگونه انجام می پذیرد؟سئو عبارت است از بهینه سازی وب سایت برای موتورهای جستجوگر که گوگل مهمترین آنهاست و تعریفی که ما برای سئو ارائه می دهیم راهنمایی کاربران به وبسایت هایی که مرتبط ترین موضوع را با کلمه کلیدی مورد جستجو آنها دارد اما چگونه به گوگل بگوییم که سایت ما مرتبط ترین سایت با کلمه کلیدی مورد جستجو می باشد ؟ پاسخ این سوال در استراتژی سئو سایت میباشد که از مهمترین آنها می توان به تولید محتوای [...]

وب سایت داینامیک چیست و نقش آن در سئو سایت
30 فروردین

وب سایت داینامیک چیست و نقش آن در سئو سایت

بازدید: 545

در طراحی سایت های داینامیک از تکنولوژی هایی مانند دات نت، Perl، JSP، ASP Cold Fusion، و PHP استفاده می شود، و پیاده سازی آن به گونه ای است که در واقعیت صفحه ای وجود ندارد و تنها با درخواست کاربر ایجاد می گردد. وب سایت هایی هستند که به کمک برنامه نویسی وب و سیستم مدیریت محتوا تولید شده و محتوای این وب سایت ها توسط صاحبان آنها قابل بروز رسانی و تغییر است. از تکنولوژی های Ajax و Silverlight نیز بهره می برند. برتری وب سایت داینامیک نسبت به [...]

اجتناب از بروز خطای 404 و پراکنده شدن بازدیدکنندگان
31 فروردین

اجتناب از بروز خطای 404 و پراکنده شدن بازدیدکنندگان

بازدید: 453

خطای ۴۰۴ یکی از کدهای وضعیت پروتکل انتقال ابرمتن می‎باشد که با عنوان خطای «یافت نشد» (Not Found) شناخته می‎شود. بدین معنی که سرور وب نمی‎تواند منبع درخواستی را پیدا کند. این خطا نباید با خطای «سرور یافت نشد» (Server Not Found) اشتباه گرفته شود. در خطای ۴۰۴ ارتباط با سرور به طور کامل برقرار شده، اما منبع درخواستی موجود نبوده است؛ در حالی که در خطای «سرور یافت نشد» امکان برقراری ارتباط با سرور میزبان وجود [...]

وظایف طراحان وب یا همان معماران وب ( مهندس معمار ) در طراحی یک وب سایت
31 فروردین

وظایف طراحان وب یا همان معماران وب ( مهندس معمار ) در طراحی یک وب سایت

بازدید: 722

موضوع اصلی این مقاله مقایسه ماهیت حرفه طراحی وب و طراح و توسعه دهنده front- end با حرفه معماری است. دلایلی وجود دارد که مشخص می کند که همه طراحان وب ذاتاً معمار، هستند. همانطورکه معماران، ساختمان های فیزیکی را طراحی و بنا می کنند، طراحان وب نیز ساختار سایت را طراحی و پیاده سازی می نمایند. طراحان وب هم به نوعی مهندس معمار هستند. طراحان معمار و آرشیتکت ها ساختمان ها را برای استفاده و راحتی مردم، برای زندگی،دفاتر و مکان [...]