سلام من میثمم 😊
اگه متخصص سئو هستید، احتمالا شما هم گاهی از اینکه دونه دونه لینک هارو بردارید ببرید توی ابزارها و وضعیت پرفورمنسشون رو چک کنید خسته میشید.توی این مقاله میخوام در مورد این صحبت کنم که چطور دیتای پرفورمنس صفحات سایت رو به صورت انبوه از Lighthouse استخراج کنیم و بتونیم تحلیلهای دقیقتر و جذابتری از وضعیت شاخصهای Lighthouse در صفحات سایت داشته باشیم.
همین اول لازمه بگم ما این کار رو با کمک Node JS و پکیج lighthouse-batch که توسط Mike Stead نوشته شده انجام میدیم، پس credit این کار میرسه به این داداشمون و ازش ممنونیم.
خب دیگه مقدمه چینی بسه.
تو مرحله اول نیازه که ما Node JS رو روی سیستم عامل نصب کنیم.اینجا ما مراحل رو روی سیستم عامل ویندوز پیش میبریم.
دانلود و نصب Node JS:
https://nodejs.org/en/download/package-manager
برای اطمینان از اینکه Node JS به درستی روی سیستم شما نصب شده باشه وارد Windows PowerShell بشید و دستور node -v رو وارد کنید. اگه ورژن رو به شما نشون داد یعنی با موفقیت نصب شده:
حالا وقتشه که پکیج lighthouse-batch رو نصب کنیم.برای این کار دوباره توی محیط Windows PowerShell دستور زیر رو وارد کنید:
npm install lighthouse-batch -g
برای اینکه مطمئن بشید lighthouse-batch به درستی نصب شده باشه دستور زیر رو توی خط فرمان اجرا کنید:
npm list -g | findstr lighthouse-batch
بعدش میبینید چه npm ای روی سیستم شما نصب شده و اگه lighthouse-batch رو دیدید پس همه چی اوکیه:
حالا بیاید لیست صفحاتی که میخوایم گزارششون رو داشته باشیم رو درست کنیم.
صفحاتی که میخواید گزارش Lighthouse اونها رو داشته باشید رو داخل یک فایل notepad قرار بدید و اسم فایل رو urls بذارید:
بعد از اینکه فایل notepad رو ایجاد کردید اون رو توی مسیر زیر کپی کنید:
C:\Users\m.salimi\report\lighthouse\
نکته:قاعدتا به جای قسمت m.salimi اسم اکانت خودتون باید باشه.
خب یه مروری داشته باشیم؛ تا اینجا ما Node JS و پکیج lighthouse-batch رو نصب کردیم و اومدیم لیست URLهای سایتمون که میخوایم گزارش پرفورمنس اونها رو داشته باشیم رو داخل یه فایل notepad وارد کردیم و اون فایل رو توی مسیری که گفتم قرار دادیم.
بریم واسه ادامه کار:
دوباره Windows PowerShell رو باز کنید و دستور زیر رو در اون اجرا کنید (توجه کنید که به جای m.salimi یوزرنیم خودتون رو بذارید):
lighthouse-batch -f C:\Users\m.salimi\report\lighthouse\urls.txt
کاری که با این دستور انجام میدیم اینه که پکیج lighthouse-batch رو فراخوانی میکنیم و میگیم برو این فایلی که مشخص کردم رو پیدا کن و وضعیت شاخصهای پرفورمنس URLهای داخلش رو بررسی کن و بهمون گزارش بده.اونم شروع میکنه دونه دونه URLهای داخل فایل رو بررسی میکنه:
نکته1: هرچقدر تعداد URLها بیشتر باشه مدت زمان بیشتری برای پردازش و دریافت گزارش نیازه.معمولا برای هر URL زمانی بین 15 تا 20 ثانیه نیازه.
نکته2: بسته به تعداد URLها ، فضایی که از سیستم شما اشغال میشه هم متفاوت خواهد بود پس باید به اینم توجه کنید که سیستم شما به اندازه کافی فضا برای ذخیره گزارشها داشته باشه.
در نهایت وقتی پروسه تکمیل شد برای هر URL یک فایل JSON خواهید داشت. این فایلها در مسیری که قبلا گفتیم ذخیره میشن:
C:\Users\m.salimi\report\lighthouse\
آیا لازمه بازم بگم که به جای m.salimi یوزرنیم خودتون میاد؟ :دی
بعد از این پروسه، وقتی به این مسیر برید باید با یه همچین لیستی مواجه بشید:
حالا ما گزارش Lighthouse تمامی URLهایی که میخواستیم رو با فرمت JSON داریم، وقتشه که این گزارشهارو ببریم روی گوگل شیت و خیلی شیک و منظم ازشون بهره برداری کنیم.
قبلش بیاید مطمئن شیم که فایلهایی که گرفتیم درست کار میکنن؛ واسه این کار یکی از فایلهای JSON رو توی لینک زیر آپلود کنید:
https://googlechrome.github.io/lighthouse/viewer
بعدش باید با همچین صحنهای مواجه بشید و دیتای مربوط به اون فایل (در واقع اون صفحه) رو ببینید:
خب حالا که مطمئن شدیم داریم مسیر رو درست میریم بیاید ادامه بدیم.
از اینجا به بعد به این موارد نیاز داریم:
تمامی فایل های JSON که دریافت کردید رو به یک فایل فشرده (zip) تبدیل کنید و داخل یک ساب دامنه یا ساب فولدر آپلود کنید.(مهم نیست کجا آپلود میکنید ما فقط میخوایم اون فایل های JSON که گرفتیم رو بیاریم توی فضای وب تا هر کدوم از این فایلها از طریق یک URL مشخص قابل دسترسی باشن، اما اگه این گزارش رو برای یه شرکت تهیه میکنید بهتره که از تیم فنی بخواید براتون توی سرور خود اون شرکت آپلود کنه)
بعد از اینکه فایل zip رو روی هاست آپلود کردید از حالت فشرده خارج کنید.مثلا من برای تست توی هاست یکی از سایتهای شخصی خودم آپلود کردم و اگه به مسیر زیر برید میتونید کاملا متوجه بشید داستان چیه:
پس کاری که انجام شده اینه که ما فایلهای JSON رو آوردیم توی فضای وب و الان هرکدوم یه URL دارن و از طریق وب قابل دسترس هستن.
حالا وقتشه بریم روی فضای گوگل شیت و دیتای استخراج شده رو ببینیم.
روی لینک زیر کلیک کنید و از داکیومنتی که میبینید یه کپی بگیرید و توی اکانت خودتون داشته باشید:
https://docs.google.com/spreadsheets/d/1BmkzIhROSD_7nY08iffmchfP3Alick7aYf9KE95BVgE/edit?usp=sharing
بعد از اینکه کپی گرفتید فقط کافیه URL فایل هایی که آپلود کردید رو با مثالهایی که داخل ستون B هستند جایگزین کنید.وقتی این کارو کنید دیتای ستون C و همچنین اعداد و ارقام مربوط به شاخصها در ستونهای D-E-F-G-H-I تغییر میکنن و گزارش شما آماده میشه.
(وقتی از sheet کپی بگیرید همه مقادیر ERROR نشون میدن چون لینکی توی شیت نیست ولی وقتی لینک هارو به درستی و طبق توضیحات وارد کنید ارورها رفع میشن و با همچین چیزی مواجه میشید):
به به!
حالا شما گزارش Lighthouse صفحات وبسایت رو به صورت انبوه به دست آوردید و میتونید تحلیلهای دقیق و جالبی روشون انجام بدید.
مثلا میتونید به این شیت ستونهای دیگهای مثل دسته بندی اضافه کنید (مثلا فلان URL محصول هستش یا دسته بندی) بعد این شیت رو به Looker Studio متصل کنید و دیتا رو خوشگلتر کنید.
نکته تکمیلی: اگه تعداد URLهای شما از تعداد URLهای موجود در شیتی که کپی کردید بیشتر بود فقط کافیه ستون های D-E-F-G-H-I به مقدار مورد نیاز بگیرید و پایین بکشید تا فرمول روی بقیه URLهایی که وارد کردید هم اعمال بشه.
سوال احتمالی: خب ما گزارشهارو آوردیم روی فضای وب آپلود کردیم حالا باید بریم دونه دونه URLهاشون رو برداریم توی شیت جایگزین کنیم؟
جواب: نیازی نیست دستی این کارو بکنید. میتونید توی اکسل با استفاده از فرمول concatenate این کار رو انجام بدید و URLهارو به صورت یکجا کپی و توی شیت paste کنید.
مثلا توی مثالی که من زدم گفتم فایلهارو توی آدرس https://prymie.com/sites آپلود کردم درسته؟ پس خیلی راحت با فرمول concatenate توی اکسل این آدرس رو به اول اسم فایلهام اضافه میکنم و حالا همه URLهارو یکجا دارم:
تمام.اگه تا اینجا اومدید دمتون گرم، امیدوارم مفید بوده باشه.
احتمالا باید روشهای دیگهای هم برای این کار وجود داشته باشه.اگه شما میدونید بگید که یاد بگیریم.