همه چیز درباره سئو و پایتون (Python)

اصل مطلب:
فهرست مطالب

زبان برنامه نویسی پایتون (Python) در هر سوراخی انگشت می کند، حتی سئو و بهینه سازی سایت!

پایتون، این زبان دوست داشتنی، قدرتمند و پرطرفدار به طرز عجیبی می تواند سئو و فرآیندهای آن را متحول کرده و کمک دست ما باشد.

به جرات می گویم این پست، کامل ترین مطلبی خواهد بود که درباره ارتباط میان سئو و پایتون خوانده اید.

مطلبی شامل بررسی اولیه، مفهوم و منطق، معرفی ابزار و تکه کدهایی که تسک های سئو را برایتان ساده تر می کند.

پس بزن بریم 🙂

این پست همواره آپدیت می شود. [آخرین آپدیت: 29 اردیبهشت ۱۴۰۱]

نگاهی به زبان برنامه نویسی پایتون (Python)

امیدوارم دوستان فرهنگستان زبان و ادب فارسی هیچوقت وارد زبان حوزه تک نشوند چرا که در این صورت مجبوریم به زبان پایتون بگوییم زبان مار افعی! که خب خیلی دوست داشتنی نیست. بگذریم..

اینجا وبسایت آموزش برنامه نویسی نیست و شما که این پست را می خوانید، احتمالا برنامه نویس حرفه ای نیستید. بنابراین بگذارید عامیانه تر صحبت کنیم.

زبان برنامه نویسی پایتون (Python) یک زبان فوق العاده قدرتمند و پرطرفدار است.

قدرتمند از این لحاظ که تقریبا هر کاری می توانید با آن بکنید، یعنی حتی می توانید کدی بنویسید که برایتان از سر کوچه نان بگیرد!

پرطرفدار از این لحاظ که در تمامی آمار و ارقام ها، رتبه 1 یا نهایتا 2 محبوب ترین زبان برنامه نویسی را به خود اختصاص داده است:

زبان برنامه نویسی پایتون

بد نیست درباره پایتون به چند گزاره زیر هم توجه کنید:

  • از تکنولوژی پایتون در سرویس هایی مثل؛ اینستاگرام، پینترست، اوبر، اسپاتیفای، یوتیوب و حتی سرچ گوگل استفاده شده است.
  • طبق گزارش Stackoverflow، پایتون محبوب ترین زبان برنامه نویسی بک‌اند است.
  • محبوب‌ترین زبان برنامه نویسی برای دیتاساینس و یادگیری ماشین است.

این موارد و کلی دیتا و فکت جالب دیگر درباره پایتون، نشان می دهد که این زبان بسیار پتانسیل خوبی دارد و بسیار قدرتمند است، چرا که اگر قدرتمند نبود، تا این حد مورد استفاده قرار نمی گرفت.

مورد بسیار مهم دیگری که باید راجع به پایتون بدانید، این است که یادگیری این زبان بشدت ساده است و مخصوصا برای افرادی که در اول مسیر برنامه نویسی هستند، فوق العاده می تواند راحت و دلنشین باشد.

اما خب، چه ارتباطی میان سئو و پایتون وجود دارد؟!

بخش بعدی را بخوانید…

چرا سئو و پایتون؟

ارتباط میان سئو و پایتون، آنقدر نتیجه دوست داشتنی و جذابی دارد که بعد از یک اسباب کشی سخت (اگر پیج اینستاگرام من را فالو کرده باشید، در جریان هستید!) مشتاقانه آمدم تا فقط در این باره بنویسم 🙂

همانطور که گفتیم، زبان پایتون یک زبان چندمنظوره است و تقریبا در هر کاری می توان از آن استفاده کرد. جدای از این موضوع، استفاده اصلی پایتون در تحلیل و آنالیز داده است و خب بخش زیادی از استراتژی های سئو، نیازمند تحلیل و آنالیز دیتا هستند.

بنابراین واضحا می توان از پایتون در سئو استفاده کرد و تسک های فوق العاده زمان‌بر و طاقت فرسا را به کمک پایتون، ساده‌سازی کرد.

البته یک نکته مهمی که باید به آن توجه کنید این است که پایتون قرار نیست کار یک متخصص سئو را به صورت تمام و کمال انجام دهد، بلکه صرفا فرآیندهای روتین و تکراری را برایتان به صورت اتومات انجام می دهد.

با توجه به این موضوع، احتمالا ترکیب سئو و پایتون بیشتر درد وبسایت هایی را دوا می کند که بزرگ هستند و تعداد صفحات زیادی دارند. اگر دنبال عدد هستید، مثلا بیشتر از 10 هزار صفحه! اما این بدین معنی نیست که پایتون کلا به درد وبسایت های کوچک نمی خورد!

پایتون در چه زمینه‌هایی به سئو کمک می کند؟

پایتون از آنجایی که یک زبان چندمنظوره است، در بخش های مختلفی از تسک های سئو می تواند به کمک ما بیاید و من می خواهم اینجا یک تقسیم بندی بر روی این موارد داشته باشم.

جا دارد ذکر کنم که این تقسیم بندی و کلا این بخش از پستم را از وبینار «اتومیشن در سئو میلاد شولی» قرض گرفته ام. وبیناری که شاید برای اولین بار من را با اهمیت و نحوه استفاده از پایتون در سئو آشنا کرد.

پایتون در زمینه های زیر می تواند به کمک سئو و بهینه سازی سایت بشتابد:

1) هشداردهی (Alerting)

از مهم ترین کارهایی که می توانیم با پایتون آن را ساده تر کنیم، فرآیند هشداردهی یا اصطلاحا Alerting است. یعنی چه؟

یعنی به عنوان مثال برنامه ای بنویسیم که به طور خودکار سایت ما را از لحاظ یکسری موارد بررسی کند و هر زمان مشکلی رخ داد، به ما اطلاع دهد.

مثلا؛

  • سایت را از نظر وجود صفحات 404 چک کند و به ما اطلاع دهد.
  • سایت را از نظر پایداری و خطاهای احتمالی سرور (5xx) بررسی کرده و در صورت بروز مشکل، اطلاع دهد.

همین 2 مورد را اگر بتوانیم به کمک پایتون پیاده سازی کنیم، کمک فوق العاده زیادی می تواند به ما بکند. البته که به کمک خلاقیت و نیاز خود، می توانید فرآیندهای دیگری را هم به کمک پایتون ساده سازی کنید و باری را از دوش خودتان بردارید.

2) نظارت (Monitoring)

مانیتورینگ و نظارت بر عملکرد صحیح وبسایتتان، یکی دیگر از زمینه هایی است که پایتون می تواند به کمک شما بیاید.

به عنوان مثال؛

  • می توانید رتبه سایت خود را بر روی کیوردهای مختلف، به صورت روزانه رصد کنید.
  • می توانید در کلمه های دشوار و پررقابت، صفحه رقبا را رصد کنید تا ببینید چه اقداماتی بر روی صفحه خود انجام می دهند.
  • می توانید بر وضعیت ایندکس صفحات سایت خود نظارت داشته باشید و به عنوان مثال اطلاعات Coverage آن را به صورت مداوم رصد کنید.

و طبیعتا کلی موارد دیگر که باز به خلاقیت و استفاده و نیاز شما بر می گردد.

اگر کمی در فرآیند پروژه های خود دقت کنید، موارد مختلفی را پیدا خواهید کرد که دارید به صورت دستی برآن نظارت می کنید. همین موارد را به کمک پایتون، بهینه سازی کرده و کاری کنید که به صورت خودکار انجام شود.

3) مصورسازی (Visualization)

مصورسازی و شفاف سازی دیتاها می تواند یکی دیگر از فواید پایتون در سئو باشد. مثلا بگذارید یکی از مواردی که ذهن خودم را درگیر کرده است، با شما مطرح کنم.

من در پست «آموزش لینک سازی داخلی» یک فرضیه را مطرح کردم که کاش می توانستیم 10 نتیجه اول SERP در کلمه کلیدی مدنظرمان را آنالیز کنیم و ببینیم به طور میانگین هر کدام از چند لینک داخلی استفاده کرده اند.

یا در پست «درصد چگالی کلمه کلیدی» گفتم که ای کاش ابزاری بود که به کمک آن، درصد چگالی کلمه کلیدی در 10 نتیجه اول SERP کلمه کلیدی مدنظر خودمان را رصد می کردیم و ما هم مطابق با میانگین درصد چگالی، محتوای‌مان را می نوشتیم.

و مواردی از این دست که می تواند به کمک زبان برنامه نویسی پایتون رصد، آنالیز و مصورسازی شود. سپس می توان به کمک این دیتا، خیلی بهتر و شفاف تر تصمیم گیری کرد و استراتژی فعالیت خود را ترسیم کرد.

4) خزش کردن (Crawling)

اکثر ابزارهای سئو، کراولر مخصوص به خود را دارند و از آن برای استخراج دیتا استفاده می کنند. چطور است که ما کراولر مخصوص به خود را داشته باشیم و به کمک آن دیتاهایی که نیاز داریم را بدست بیاوریم؟

تقریبا در تمامی مواردی که تا به اینجا گفته شد، مثل آلرتینگ، مانیتورینگ و ویژوالیزیشن، نیاز به چنین کراولری داریم.

پیاده سازی این ابزار به کمک پایتون بسیار راحت تر از هر زبان برنامه نویسی دیگری انجام می شود.

کافیست کمی برای آن وقت بگذاریم و سپس هر استفاده ای می توانیم از آن داشته باشیم.

5) داده‌های قدیمی (Historical Data)

برخلاف عقیده شخصی من در زندگی واقعی، که می گویم هیچوقت نباید به گذشته فکر کرد، در سئو بد نیست گاهی اوقات نیم‌نگاهی به گذشته داشته باشیم.

به عنوان مثال بعد از گذشت عمری از سرچ کنسول سایت ما، اطلاعات زیادی در آن وجود خواهد داشت که بشدت ارزشمند است. منتهی ما معمولا تایم فریم آن را روی 3 ماه گذشته قرار می دهیم!

گاهی اوقات بد نیست اگر دیتاهای قدیمی‌تر، مثلا دیتاهای مربوط به 16 ماه گذشته را استخراج کنیم و به کمک پایتون بر روی آن آنالیزهای مختلفی بزنیم. حرکتی که تقریبا تخصص اصلی پایتون است.

این دیتاهای قدیمی به شدت می تواند برای تعیین استراتژی ما در آینده، به ما کمک کند.

چند ایده و ابزار پایتونی

من خودم چند ایده برای ترکیب سئو با پایتون داشتم که بعضی از آنها را کم و بیش اجرا کردم و برخی هم در حد ایده باقی مانده اند.

در این بخش هم ایده‌ها را مطرح کردم و هم سورس‌کد ابزارهایی که ساخته ام را به اشتراک خواهم گذاشت.

ممکن است در حال حاضر که دارید این پست را مطالعه می کنید، این بخش ناقص باشد، اما سعی می کنم هر هفته آن را کامل تر کرده و ابزارها و ایده های مختلف را بارگزاری کنم.

لطفا و خواهشا، اگر شما هم ایده ای دارید، در بخش کامنت به اشتراک بگذارید و یا اگر ابزار ارزشمندی ایجاد کرده اید، در تلگرام برای من بفرستید تا اینجا به نام و کپی رایت خودتان درج شود و دیگران بتوانند استفاده کنند.

بزن بریم:)

1. بررسی خودکار Coverage Stats به کمک Inspect Url سرچ کنسول

اولین ایده که تا 80% آن را پیش رفتم، استفاده از api گوگل برای Inspectگیری خودکار تعداد زیادی از صفحات و استخراج گزارش و دیتای Coverage آن صفحات بود.

فرآیند کار به این شکل است که؛

  • api گوگل را دریافت و تنظیم می کنیم.
  • لیست urlهای مدنظر را در یک فایل .csv به ابزار می دهیم.
  • سپس منتظر می مانیم تا ابزار یک خروجی اکسل شامل 8 ستون دیتا به ما بدهد.

تصویر زیر نمونه ای از نتیجه‌ایست که ابزار به ما می دهد:

ابزار ترکیبی سئو و پایتون

سورس‌کد این ابزار هم خدمت شما:

# Import neccesary library
from google.oauth2 import service_account
from googleapiclient.discovery import build
import csv
from xlwt import Workbook


# ---------------------------------- Main code
# -------------------- Define smth 

creds = "credentials.json" #فایل کلید ای‌پی‌آی گوگل را با این نام سیو کنید و در همان پوشه ای که فایل کد وجود دارد، بگذارید.
scopes = [
    'https://www.googleapis.com/auth/webmasters',
    'https://www.googleapis.com/auth/webmasters.readonly'
    ]
credentials = service_account.Credentials.from_service_account_file(creds, scopes=scopes)
service = build('searchconsole','v1',credentials=credentials)
site_exact_address = 'https://example.com/' #دامین خود را دقیقا با همین فرمول جایگذاری کنید.
wb = Workbook()
sheet1 = wb.add_sheet('report', cell_overwrite_ok=True)
sheet1.write(0, 0, 'URL')
sheet1.write(0, 1, 'Coverage State')
sheet1.write(0, 2, 'robots.txt State')
sheet1.write(0, 3, 'Index State')
sheet1.write(0, 4, 'Last Crawl')
sheet1.write(0, 5, 'Fetch Possible?')
sheet1.write(0, 6, 'Google Canonical')
sheet1.write(0, 7, 'User Canonical')
sheet1.write(0, 8, 'Sitemap?')
sheet1.write(0, 9, 'Found in url?')
ri= 0
ci = 0

# -------------------- Loop and building our Report
with open('list.csv', newline='') as csvfile: #لیست آدرس صفحات خود را در یک فایل csv با نام list ذخیره کنید و در همان پوشه فایل کد قرار دهید.
    my_csv_file = csv.reader(csvfile, delimiter=' ', quotechar='|')
    for row in my_csv_file:
        url = (', '.join(row))
        print(url)
        ci = 0
        ri +=1
        sheet1.write(ri, ci, url)
        request = {
             'inspectionUrl': url,
             'siteUrl': 'sc-domain:example.com' #اگر سرچ کنسول شما دامین پراپرتی است، در همین فرمول دامنه را جایگذاری کنید. در غیر اینصورت، sc-domain: را پاک کرده و آدرس اگزکت دامنه را وارد کنید.
        }
        response = service.urlInspection().index().inspect(body=request).execute()
        inspectionResult = response['inspectionResult']

        # ---- write stats in Excel file
        sheet1.write(ri, ci+1, (inspectionResult['indexStatusResult']['coverageState']))
        sheet1.write(ri, ci+2, (inspectionResult['indexStatusResult']['robotsTxtState']))
        sheet1.write(ri, ci+3, (inspectionResult['indexStatusResult']['indexingState']))
        sheet1.write(ri, ci+4, (inspectionResult['indexStatusResult']['lastCrawlTime']))
        sheet1.write(ri, ci+5, (inspectionResult['indexStatusResult']['pageFetchState']))
        sheet1.write(ri, ci+6, (inspectionResult['indexStatusResult']['googleCanonical']))
        sheet1.write(ri, ci+7, (inspectionResult['indexStatusResult']['userCanonical']))
        sheet1.write(ri, ci+8, (inspectionResult['indexStatusResult']['sitemap']))
        #sheet1.write(ri, ci+9, (inspectionResult['indexStatusResult']['referringUrls'])) این خط ارور می داد، هنوز نتونستم بفهمم چرا :)
        wb.save('Report.xls') 
# --------------------- Save excel and enjoy :)
# در نهایت در همان پوشه، فایل اکسلی به نام report برای شما ایجاد می شود.
#به خوشی استفاده کنید :)
#وبمسترخاکستری
# niiimahz.com

2. بزودی 🙂

هنوز فرصت نکرده ام پست را کامل کنم. بزودی در چندروز آینده 🙂

ختم کلام

عقیده شخصی من این است که سئو اصلا چیز سخت و دشوار و پیچیده ای نیست. 80% آن یک روند ثابت و مشخص است و خلاقیت در آن نسبتا حد و مرز دارد.

بنابراین اگر می خواهید متخصص سئو متفاوتی باشید و یا وبسایت خود را به گونه ای سئو کنید که رقبا برای رسیدن به شما مجبور باشند از گوشت و خون خود مایه بگذارند، بهتر است که سئو را با دانش های دیگر ترکیب کنید.

مثلا ترکیب سئو با برندینگ، سئو با تجربه کاربری و صدالبته ترکیب سئو با پایتون!

این ترکیب ها، دست شما را برای اجرای استراتژی های موثرتر و خفن تر، باز می کند و در نتیجه همیشه حداقل 4.2 قدم از رقبایتان جلوتر خواهید بود.

به من اعتماد کنید 🙂

یه‌مشت سوال

آیا پایتون فقط به‌دردِ سئو تکنیکال می خورد؟

اصلا و ابدا. ظاهر قضیه این است که پایتون نهایتا بتواند چند مورد فنی را چک کند و به ما گزارش بدهد اما همانطور که در این پست توضیح دادم، اصلا این چنین نیست. توانایی‌های پایتون بسیار فراتر از این موارد است و شما در بحث سئو محتوا، کیورد ریسرچ، سئو آف پیج و … می توانید از آن استفاده کنید.

آیا لازم است که پایتون را به صورت تخصصی یاد بگیرم؟

من شخصا شاید 20% پایتون را بلد باشم، اما ابزارهای نسبتا جالب و صدالبته ابتدایی را ایجاد کرده ام. البته که باید بیشتر پایتون را یاد بگیرم، اما یادگیری تخصصی آن نیاز نیست. اگر بلد باشید خوب سرچ کنید، تکه کدهای آماده زیادی پیدا خواهید کرد که تنها با مقداری تغییر آن می توانید به نتیجه و ابزار دلخواه خود برسید.


در نهایت، اگر هر سوال، نظر، تجربه و یا ابهامی دارید، همین الان کامنت کنید!
در اسرع وقت، شخصا به دیدگاه شما پاسخ خواهم داد. جدای از اینکه کامنت شما به‌شدت به من انرژی مثبت تزریق می کند 🙂

0 0 رای
به این مقاله امتیاز دهید
نیما حسن زاده

نیما حسن زاده

نیما حسن زاده هستم، از سال 97 به صورت تخصصی در زمینه سئو و دیجیتال مارکتینگ فعالیت دارم. در حال حاضر به صورت تخصصی روی شاخه CRO و بهینه‌سازی فروش متمرکز هستم. این‌جا سعی می‌کنم دانش و تجربه خودم را با شما به اشتراک بگذارم.
2 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
آیسان عباس‌زاده

سلام…خیلی عالی و کامل بود
قلمتون خیلی شیوا و ساده بود و جواب تمام سوالاتم‌ رو گرفتم
پیروز باشید

فهرست مطالب
2
0
دوست داریم نظرتو بدونیم، پس برامون بنویس...x