همه چیز درباره SEO و Javascript
-
سئو سایت های مبتنی بر فریم ورک های جاوااسکریپت چگونه است؟
-
چه مستندات و اصولی برای بهینه سازی و سئو فرندلی کردن سایت های جاوااسکریپتی وجود داره؟
-
SPA ها رو چطور سئو کنیم؟
توی این ویدیو، در عرض 15 دقیقه بهینه سازی سایت های مبتنی بر فریمورک های مبتنی بر جاوااسکریپت مثل Angular, Vuw.js, React, Node JS و هر فریمورکی در آینده رو یاد می گیرید! اگر دولوپر هستید، چند تا اصول خیلی ساده هست که باید حواستون باشه که اولیش مربوط به Request به URL ها و وجود URL های یکتایی که سمت سرور تولید و Route شدند و دیگری بحث اینکه وقتی جاوااسکریپت غیر فعاله، یا در View Source (نه Dom) چه محتوایی داره تو Head و Body هر صفحه لود میشه.
همچنین به بحث Dynamic Rendering و Hybrid Rendering و Server Side Rendering و CSR Rendering و موج اول و دوم کراول از سمت گوگل و نحوه Crawl کردن گوگل و اجرای جاوااسکریپت از سمت بات های گوگل، می پردازم.
اگر دوست دارید در سئو حرفه ای باشید یا حرفه ای تر از اینی که هستید بشید، این ویدئو رو ببینید. ویدیو سئو سایت های جاوااسکریپتی که من(محسن طاوسی) ضبط کردم، به درد روابطتتون با تیم های فنی میخوره. باعث میشه تیم سئو و فنی راحت تر حرف هم رو بفهمند! این ویدیو حاصل سال ها مشاوره و اجرای من و ارتباط با تیم های فنی شرکت های بزرگ ایران و بعضی از شرکت های خارج از ایران هست. اگر فکر می کنید نیاز هست که از پایه تا پیشرفته ترین آموزش های مرتبط با سئو سایت های جاوااسکریپتی رو ببینید، مثل بخش فیلتر جستجو فروشگاه ها که کاملا با JS هست یا VOD ها، اشتراک ویدیو ها یا سایت های پخش زنده و هر نوع سایت غیر وردپرسی، توصیه می کنم حتما دوره سئو رو تهیه کنید. اگر فقط به بخش های تکنیکال علاقه دارید و هیچ چیز جز تکنیکال رو نیازی ندارید(که چنین چیزی امکان نداره البته) می تونید دوره سئو تکنیکال رو تهیه کنید.
پلاگینی که برای کروم در ویدیو گفتم، Quick JS Switcher هست. یادتون نره همونطور که تو ویدیو گفتم، رندر در موج اول مهم نیست. اگر در ویو سورس(Ctrl + U) محتوای اصلی head و body لود میشد، یعنی مشکلی نیست.
Server Side Rendering، سرور ساید رندرینگ یعنی چه؟
یعنی محتوای وب سایت(اینجا منظور محتوای اصلی مورد نیاز کاربر)، از سمت سرور بدون نیاز به جاوااسکریپت یا هرگونه اجرایی در سمت Client (اینجا مرورگر)، بارگزاری بشه. اگر Ctrl + U رو بزنید و View-Source رو ببینید، عنوان و متاها و محتوای اصلی اون صفحه، داخل سورس وجود داشته باشه.
آیا SSR یا سرور ساید رندرینگ، سرعت سایت رو کند نمی کنه؟
خیلی بستگی به تیم توسعه دهنده داره. اما لازم نیست حتما همه محتوا رو از سمت سرور لود کنید و از JS سمت کلاینت کمک نگیرید!
Hybrid Rendering یعنی چی؟
لازم نیست حتما همه محتوا رو از سمت سرور لود کنید و از JS سمت کلاینت کمک نگیرید! می تونید فقط محتوای اصلی رو سرورساید لود کنید و بقیه رو کلاینت ساید. این میشه هایبرید رندرینگ.
Dynamic Rendering یعنی چی؟
یعنی برای گوگل، SSR یا سرور ساید رندر کنید. برای کاربر انسان، هر جور که دوست دارید. یعنی وابسته به جاوااسکریپت مرورگر یا CSR. اما گوگل که سال 2019 مدام داینامیک رندرینگ رو توصیه می کرد و به عنوان راه حل ارائه می داد، مسیرش رو عوض کرد و گفت توصیه نمی کنم! در حالی که قبلا توصیه می کرد. حتما ویدیو داینامیک رندرینگ مسنوخ شد رو ببینید!
Static Rendering یعنی چی؟
یعنی محتوای اصلی و اولیه رو به صورت cache شده درجا بارگزاری کنیم. یعنی به ازای هر URL یک نسخه Cache شده اولیه از اون صفحه، بدون اینکه بره از بانک اطلاعات بخونه، سریع نمایش بدیم. این عملا در آخر همون Server Side Rendering هست اما با سرعت بالاتر و عملا حتی Dynamic Rendering هم هست چون نسخه اولیه اصلی از محتوای صفحه رو لود می کنه.
Client Side Rendering یعنی چی؟
این همون روش رندرینگ مشکل ساز برای سئو هست. این همه توضیح دادیم که از این فرار کنیم! برای بعد از لاگین کردن کاربر، مهم نیست از این روش استفاده شه و حتی خوب هم هست و سرعت بهتری داره و بار کمتری روی دوش سرور هست. رندرینگ سمت مشتری یا کلاینت ساید رندرینگ یعنی محتوای صفحه بعد از لود در مرورگر کاربر از طریق جاوااسکریپت از سرور فراخوانی بشه. یعنی نیاز به مرورگری هست که جاوااسکریپتش فعال باشه. البته که همه مرورگر ها جاوااسکریپت فعال دارند. اما ربات های گوگل نه! اینجاست که راه های قبلی پیشنهاد میشه.
مگه میشه توی این عصر تکنولوژی و هوش مصنوعی، گوگل نتونه جاوااسکریپت رو اجرا کنه؟
ساده لوح نباش! شاید جزو همون دسته ای هستی که وقتی مشخص میشه یه محصولی ضرر داره برای سلامت، میگی چرا جمع نمی کنند؟ مگه به همین سادگیه؟ انقدر خوشبین هستی به دنیا؟
گوگل می تونه جاوااسکریپت رو بخونه. از اول هم میتونست. اما نمی صرفه! همه چیز درباره پول هست! برای اجرای جاوااسکریپت روی هر صفحه، نیاز به دانلود و اجرا هست. یعنی فضای ذخیره سازی و حافظه موقت یا رم، و پردازنده یعنی CPU درگیر میشه. شبکه و پهنای باند هم همینطور. این یعنی هزینه چند برابری گوگل برای خزیدن در صفحات و دریافت اطلاعاتشون! به جز پلتفرم ها و سیستم های سازمانی، بالای 99 درصد وب سایت ها اصلا نیاز به CSR یا جاوااسکریپت برای لود کردن محتوای اصلی صفحات ندارند! چرا گوگل باید هزینه های جاری خودش رو چند برابر کنه بخاطر کمتر از یک درصدی ها؟ به جاش به اون ها دستور العمل میده! برای بعد از لاگین کاربر هم که اصلا نیاز نیست سئوفرندلی باشه. گوگل که نمیتونه لاگین کنه. به همین سادگی! بحث پول هست. نه توانایی. بحث صرفیدن هست. نه امکان داشتن. مثل چپ های ووک، ساده نباش!
با قسمت های جاوااسکریپتی سایتمون مثل Tab ها یا کلید مشاهده بیشتر یا صفحه بندی ها چیکار کنیم؟
پایین همین صفحه، کلی آموزش درباره این موارد به صورت رایگان گذاشتم. حتما ببین. فصل تکنیکل پیشرفته دوره هم (تکنیکال 3) درباره همین موارد مفصل آموزش دادم. صفحه بندی های Ajax و جاوااسکریپتی، کلید مشاهده بیشتر، تب ها و… که بدون جاوااسکریپت لود نمیشن. خلاصه بگم، محتوای اصلیت اگر در ویو سورس( نه DOM) هست مشکلی نیست. به شرطی که به ازای کلمات کلیدیت، صفحه منحصر به فرد داری و صفحاتت URL منحصر به فرد و مجزا دارند و SPA نیستند. حالا که صحبت از SPA شد بد نیست آموزش بهینه سازی و سئو Single Page Application رو ببینی.