شنبه ۲۱ مرداد ۰۲

حداقل دانش قابل استفاده شما براي كار با JavaScript & SEO امروز

۶۷ بازديد

اگر كار شما شامل SEO در مقطعي است ، شما به احتمال زياد بيشتر در مورد JavaScript و پيامدهاي آن در خزيدن و ايندكس كردن شنيده ايد. صادقانه بگويم ، Googlebot با آن دست و پنجه نرم مي كند ، و بسياري از وب سايت ها از جاوا اسكريپت مدرن براي بارگيري مطالب مهم امروز استفاده مي كنند. به همين دليل ما بايد در بحث اين موضوع مجهز شويم كه وقتي مطرح شد تا اثربخش باشد.

هدف از ارسال اين مقاله ، تجهيز شما به حداقل دانش عملي است كه براي انجام اين كار لازم است. اين پست به جزئيات ريز و درشت نخواهد پرداخت ، تاريخ را توصيف مي كند ، يا جزئيات خاصي را به شما مي دهد. بسياري از نوشتن هاي باورنكردني وجود دارد كه قبلاً اين كار را انجام مي دهند - من پيشنهاد مي كنم اگر علاقه مند هستيد كه عميق تر غواص شويد ، به خواندن آنها بخوانيد ( در پايين به موارد مورد علاقه خود پيوند خواهم داد).

براي اينكه بتوانيم در بحث جاوا اسكريپت و سئو مشاوره موثري باشيم ، بايد بتوانيم به سه سؤال پاسخ دهيم:

    آيا دامنه / صفحه مورد نظر براي بارگيري / تغيير محتواي صفحه يا پيوندها ، به JavaScript سمت مشتري متكي است؟
    اگر بله ، آيا Googlebot محتوا را كه از طريق JavaScript بارگذاري شده است به درستي مي بيند؟
    اگر نه ، راه حل ايده آل چيست؟

با جستجوي سريع ، توانستم سه نمونه از صفحات فرود را پيدا كنم كه از JavaScript براي بارگذاري مطالب مهم استفاده مي كنند.

    صفحه سمپوزيوم Sitecore
    صفحه فرود Hulu براي "مسير"
    صفحه اصلي L'Oréal

من قصد دارم از صفحه فرود Symposium Sitecore از طريق هر يك از اين نقاط گفتگو استفاده كنم تا نحوه پاسخ به سؤالات فوق را براي شما نشان دهم.

ابتدا جنبه «چگونه اين كار را مي كنم» را پوشش خواهيم داد و در پايان چند مفهوم اصلي را گسترش مي دهم و به منابع ديگر پيوند مي زنم.
سؤال 1: آيا دامنه مورد نظر براي بارگيري / تغيير محتواي صفحه يا پيوندها ، به JavaScript سمت مشتري متكي است؟

اولين قدم براي تشخيص مشكلات مربوط به جاوا اسكريپت ، بررسي اينكه دامنه از آن براي بارگيري محتواي مهم كه مي تواند روي SEO تأثير بگذارد ، استفاده مي كند يا خير. در حالت ايده آل ، هر زمان مشتري جديدي بدست مي آوريد (در حين بررسي فني اوليه) يا هر زمان كه مشتري شما ويژگي هاي جديد سايت را طراحي و راه اندازي كند ، اتفاق مي افتد.

چگونه مي توانيم اين كار را انجام دهيم؟
از مشتري بپرسيد

بپرسيد ، و شما دريافت خواهيد كرد! هرچند جدي ، يكي از سريعترين / آسانترين كارهايي كه مي توانيد به عنوان مشاور انجام دهيد ، تماس با POC (يا برنامه نويسان در حساب) است و از آنها بخواهيد. از اين گذشته ، اين افراد هستند كه بصورت روزانه و روزانه در وب سايت كار مي كنند!

    "سلام [مشتري] ، ما در حال حاضر در حال انجام كار فني در سايت هستيم. يك مورد كه بررسي مي كنيم اين است كه آيا محتواي مهم (پيوندها ، محتواي صفحه) از طريق JavaScript بارگيري مي شود. ما چند تست دستي انجام خواهيم داد ، اما يك روش آسان براي تأييد اين سؤال است! آيا مي توانيد (يا تيم) به موارد زير پاسخ دهيد ، لطفا؟

    1. آيا ما از JavaScript سمت مشتري براي بارگذاري مطالب مهم استفاده مي كنيم؟
    2. اگر بله ، مي توانيم ليستي از بولتن تهيه كنيم كه از كجا / چه محتوا از طريق جاوا اسكريپت بارگيري مي شود؟ "

دستي بررسي كنيد

حتي در يك وب سايت بزرگ تجارت الكترونيكي با ميليون ها صفحه ، معمولاً فقط تعداد انگشت شماري از الگوهاي مهم صفحه وجود دارد. در تجربه من ، فقط يك ساعت حداكثر طول مي كشد تا به صورت دستي بررسي شود. من از افزونه Chrome Web Developers استفاده مي كنم ، جاوا اسكريپت را از آنجا غيرفعال مي كنم و الگوهاي مهم سايت (صفحه اصلي ، صفحه دسته بندي ، صفحه محصول ، پست وبلاگ و غيره) را به صورت دستي بررسي مي كنم.

در مثال بالا ، هنگامي كه جاوا اسكريپت را خاموش كرده و صفحه را بارگذاري مجدد مي كنيم ، مي توانيم مشاهده كنيم كه به دنبال صفحه خالي هستيم.

وقتي پيشرفت مي كنيد ، يادداشتهايي راجع به محتوا كه بارگيري نمي شود ، اشتباه گرفته مي شود يا پيوند داخلي كه به درستي كار نمي كند بارگيري مي شود.

در پايان اين مرحله بايد بدانيم كه آيا دامنه مورد نظر براي بارگيري / تغيير محتواي صفحه يا پيوندها به JavaScript متكي است. اگر جواب مثبت است ، ما همچنين بايد بدانيم كه اين اتفاق كجا مي افتد (صفحه اصلي ، صفحات دسته بندي ، ماژول هاي خاص و غيره)
خزيدن

همچنين مي توانيد سايت (با ابزاري مانند Screaming Frog يا Sitebulb) را خاموش كنيد و رندر جاوا اسكريپت خاموش شود ، و سپس همان خزيدن را با JavaScript روشن اجرا كنيد و تفاوت ها را با لينك هاي داخلي و عناصر صفحه مقايسه كنيد.

به عنوان مثال ، ممكن است هنگامي كه سايت را با خاموش كردن رندر جاوا اسكريپت خاموش مي كنيد ، برچسب هاي عنوان ظاهر نمي شوند. به نظر من اين امر باعث مي شود كه سايت براي خزيدن سايت با رندر جاوا اسكريپت روشن شود تا ببيند آيا برچسب هاي عنوان ظاهر مي شوند (و همچنين بررسي دستي).
مثال

براي مثال ما جلوتر رفتم و يك چك دستي را انجام دادم. همانطور كه از تصوير زير مي بينيم ، هنگام غيرفعال كردن JavaScript ، محتواي بارگيري نمي شود.

به عبارت ديگر ، پاسخ اولين سؤال ما براي اين صفحات "بله ، جاوا اسكريپت براي بارگيري در قسمتهاي مهم سايت استفاده مي شود."
سوال 2: اگر بله ، آيا Googlebot محتوا را كه از طريق جاوا اسكريپت وارد شده است به درستي مي بيند؟

اگر مشتري شما به قسمتهاي خاصي از وب سايت خود به JavaScript تكيه كرده است (در مثال ما اين است) ، وظيفه ما اين است كه چطور Google واقعاً صفحه (هاي) را مشاهده مي كند. ما مي خواهيم به اين سؤال پاسخ دهيم ، "آيا گوگل صفحه / سايت را به روشي كه مي خواهيم آن را ببينيم؟"

براي به تصوير كشيدن دقيق تر از آنچه Googlebot را مشاهده مي كند ، ما بايد سعي كنيم از نحوه خزنده صفحه تقليد كنيم.

چگونه ما آن را انجام دهيم؟
از ابزار جديد آزمايش سازگار با تلفن همراه Google استفاده كنيد

در حال حاضر ، سريعترين و دقيق ترين راه براي تكرار آنچه Googlebot در يك سايت مشاهده مي كند ، استفاده از ابزار جديد دوستي موبايل در گوگل است. همكار من Dom اخيراً يك پست عميق را با مقايسه جستجوي كنسول Fetch و Render ، Googlebot و ابزار دوستي تلفن همراه نوشت . يافته هاي او اين بود كه بيشتر اوقات ، Googlebot و ابزار دوستي تلفن همراه نتيجه مشابهي داشتند.

در ابزار دوستي موبايل Google ، كافيست URL خود را وارد كنيد ، "run run" را بزنيد و پس از اتمام آزمايش ، روي "كد منبع" در سمت راست پنجره كليك كنيد. مي توانيد از آن كد استفاده كرده و هرگونه محتواي درون صفحه (برچسب هاي عنوان ، مقررات ، و غيره) يا پيوندها را جستجو كنيد. اگر در اينجا ظاهر شوند ، Google به احتمال زياد محتوا را مشاهده مي كند.

جستجوي محتواي قابل مشاهده در Google

هميشه خوب است كه بررسي كنيد. يكي ديگر از راه هاي سريع براي بررسي اينكه GoogleBot محتواي شما را در صفحه شما نمايه كرده است ، با انتخاب متن قابل مشاهده در صفحه خود و انجام يك سايت است: جستجوي آن در Google با نقل قول هاي متن مورد نظر.

در مثال ما متن قابل مشاهده در صفحه وجود دارد كه مي خواند ...

"چه در بازاريابي ، چه در توسعه تجارت و چه در فناوري اطلاعات ، شما يك احساس فوريت احساس مي كنيد. يا ممكن است فرصت؟"

هنگامي كه ما يك سايت انجام مي دهيم: اين عبارت دقيق را جستجو كنيد ، براي اين صفحه دقيق ، هيچ چيزي را پيدا نمي كنيم. اين بدان معني است كه Google محتوا را ايندكس نكرده است.
خزيدن با يك ابزار

بيشتر ابزارهاي خزنده قابليت خزيدن JavaScript را دارند. به عنوان مثال ، در Screaming Frog مي توانيد به پيكربندي> عنكبوت> رندر> برويد و سپس "جاوا اسكريپت" را از قسمت كشويي انتخاب كنيد و ضربه را ذخيره كنيد. DeepCrawl و SiteBulb هر دو اين ويژگي را دارند.

از اينجا مي توانيد دامنه / URL خود را وارد كنيد و هنگامي كه ابزار مورد نظر شما خزيدن را تمام كرد ، صفحه / كد ارائه شده را مشاهده كنيد.
مثال:

هنگام تلاش براي پاسخ به اين سؤال ، اولويت من اين است كه با وارد كردن دامنه به ابزار دوستي تلفن همراه Google ، كپي كردن كد منبع و جستجوي عناصر مهم در صفحه (شروع به كار كنيد. فكر كنيد برچسب عنوان ،

، كپي بدن و غيره) همچنين استفاده از ابزاري مانند diff checker براي مقايسه HTML ارائه شده با HTML اصلي بسيار مفيد است (Screaming Frog همچنين تابعي دارد كه مي توانيد اين كار را در كنار هم انجام دهيد).

براي مثال ما ، آنچه را كه خروجي ابزار دوستي موبايل ارائه مي دهد ، به ما نشان مي دهد.

پس از چند جستجو ، مشخص مي شود كه عناصر مهم صفحه در اينجا مفقود شده اند.

ما همچنين آزمايش دوم را انجام داديم و تأييد كرديم كه Google محتواي بدنه موجود در اين صفحه را ايندكس نكرده است.

دلالت در اين مرحله اين است كه Googlebot محتواي ما را به روشي كه مي خواهيم آن را نبينيم ، كه اين يك مشكل است.

بياييد جلو برويم و ببينيم چه چيزي مي توانيم مشتري را توصيه كنيم.
سؤال 3: اگر اطمينان داريم Googlebot محتواي خود را به درستي نمي بيند ، چه پيشنهادي داريم؟

اكنون مي دانيم كه دامنه از JavaScript براي بارگذاري مطالب مهم استفاده مي كند و مي دانيم كه Googlebot به احتمال زياد آن محتوا را مشاهده نمي كند ، مرحله آخر توصيه يك راه حل ايده آل براي مشتري است. كليد كليد: پيشنهاد شود ، اجرا نشود. اين 100٪ كار ماست كه موضوع را به مشتري خود پرچم گذاري كنيم ، دليل مهم بودن آن (و همچنين پيامدهاي احتمالي) را توضيح دهيم و يك راه حل ايده آل را برجسته كنيم. اين 100٪ كار ما نيست كه سعي در انجام كار توسعه دهنده براي يافتن راه حل ايده آل با پشته / منابع منحصر به فرد خود و غيره داشته باشيم.

چگونه ما آن را انجام دهيم؟
شما مي خواهيد از سمت سرور ارائه دهيد

دليل اصلي چرا Google در ديدن صفحه فرود Sitecore در حال حاضر مشكل دارد ، به اين دليل است كه صفحه فرود Sitecore از كاربر (ما ، Googlebot) مي خواهد كه كارهاي سنگين بارگذاري JavaScript را در صفحه خود انجام دهد. به عبارت ديگر ، آنها از JavaScript در سمت مشتري استفاده مي كنند.

Googlebot به معناي واقعي كلمه در صفحه قرار دارد ، سعي مي كند تا حد ممكن جاوا اسكريپت را اجرا كند ، و پس از آنكه نياز به ترك داشته باشد ، قبل از اينكه فرصتي براي ديدن هر محتوا داشته باشد ، نياز به ترك دارد

مشكل در اينجا اينست كه در عوض بار صفحه صفحه Sitecore را روي سرور خود بارگذاري كنيد. به عبارت ديگر ، ما مي خواهيم از سنگين وزن Googlebot خارج شويم ، و آن را در سرورهاي Sitecore قرار دهيم. اين اطمينان حاصل مي كند كه وقتي Googlebot به صفحه مي آيد ، ديگر نيازي به انجام وزنه برداري نيست و در عوض مي تواند HTML رندر شده را خزنده كند.

در اين سناريو ، Googlebot روي صفحه قرار مي گيرد و HTML را (و تمام محتوا) از قبل مشاهده مي كند.
گزينه هاي خاص تري وجود دارد (مانند تنظيمات ايزومورفيك)

اين جايي است كه در علفهاي هرز كمي مي شود ، اما راه حل هاي تركيبي نيز وجود دارد. بهترين آن در حال حاضر ايزومورفيك ناميده مي شود.

در اين مدل ، ما از مشتري مي خواهيم كه اولين درخواست را روي سرور خود بارگذاري كند ، و سپس هرگونه درخواست آينده به سمت مشتري انجام شود.

بنابراين Googlebot به صفحه مي آيد ، سرور مشتري قبلاً جاوا اسكريپت اوليه مورد نياز براي صفحه را اجرا كرده است ، HTML رندر شده را به مرورگر ارسال مي كند و هر كاري بعد از آن در سمت مشتري انجام مي شود.

اگر مي خواهيد اين مسئله را به عنوان راه حل پيشنهاد كنيد ، لطفاً اين پست را از تيم AirBNB كه تنظيمات ايزومورفيك را به طور كامل پوشش مي دهد بخوانيد .
AJAX خزنده = بدون رفتن

من در اين باره به جزئيات نخواهم پرداخت ، اما فقط مي دانم كه راه حل خزنده AJAX قبلي گوگل براي JavaScript از اين زمان قطع شده است و در نهايت كار نخواهد كرد. ما نبايد اين روش را توصيه كنيم.

(با اين حال ، من علاقه مند هستم كه از هر كسي كه اخيراً اين راه حل را پياده سازي كرده است ، مطالب موردي را بشنوم. Google چگونه پاسخ داده است؟
خلاصه

در معرض خطر بسيار زياد توضيح دادن ، در اينجا كارهايي را كه بايد انجام دهيد براي شروع كار با JavaScript و SEO در سال 2018 آورده شده است:

    بدانيد كه دامنه مشتري شما از چه زماني از JavaScript در سمت مشتري استفاده مي كند تا محتواي يا پيوندهاي صفحه را بارگيري كند.
        از توسعه دهندگان بپرسيد.
        جاوا اسكريپت را خاموش كنيد و برخي از آزمايش هاي دستي را بر اساس الگوي صفحه انجام دهيد.
        با استفاده از يك خزنده JavaScript خزيدن.
    بررسي كنيد كه آيا GoogleBot به روشي كه قصد آن را داريم محتوا را مشاهده مي كند يا نه.
        جستجوگر دوستي تلفن همراه Google.
        انجام يك سايت: جستجوي محتواي قابل مشاهده در صفحه.
        با استفاده از يك خزنده JavaScript خزيدن.
    يك توصيه ايده آل به مشتري بدهيد.
        ارائه سمت سرور.
        محلول هاي تركيبي (ايزومورفيك).
        نه AJAX خزنده است.

منابع بيشتر

    راهنماي نهايي SEO JavaScript
    JavaScript و SEO: تفاوت بين خزيدن و ايندكس كردن
    اصول اصلي SEO براي JavaScript
    نحوه حسابرسي JavaScript براي SEO
    منابع SEO JavaScript
    مشاهده منبع: چرا هنوز اهميت دارد و چگونه مي توان سريع آنرا با DOM ارائه شده مقايسه كرد

من واقعاً علاقه مندم درباره تجربيات شما در مورد جاوا اسكريپت و سئو بشنوم. نمونه هايي از مواردي كه براي شما خوب بوده اند چيست؟ در مورد چيزهايي كه تا اين حد خوب كار نكرده اند چطور؟ اگر راه اندازي ايزومورفيك را پياده سازي كرده ايد ، من كنجكاو هستم كه بفهمم اين چه تاثيري در چگونگي ديدن Googlebot سايت شما دارد.

درباره sergeystefoglo -

زندگي در سياتل ، WA. مشاور در تقطير . من يك زن و شوهر از فشار جانبي دارم ، يعني بازاريابي SGLO و خلاء مركزي سياتل . با من در توييتر و لينكدين ارتباط برقرار كنيد!

تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در رویا بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.