מהי קניבליזציה של מילות מפתח ומדוע היא מסוכנת ל-SEO
לפני שנצלול אל שורות הקוד והסקריפטים, חשוב להבין את הבעיה שאנו מנסים לפתור. קניבליזציה של מילות מפתח (Keyword Cannibalization) מתרחשת כאשר שני עמודים או יותר באתר שלכם מתחרים על אותה מילת מפתח או ביטוי חיפוש בגוגל. במקום שיהיה לכם עמוד אחד חזק וסמכותי שמופיע בראש התוצאות, יש לכם שני עמודים בינוניים שגוגל מתלבט ביניהם.
התוצאה הרסנית: המנוע של גוגל לא יודע איזה עמוד רלוונטי יותר, ולכן הוא עשוי לפצל את הדירוג ביניהם, להוריד את שניהם לעמוד השני, או להחליף ביניהם לסירוגין. מבחינת קידום אתרים, זהו בזבוז משאבים משווע. אתם למעשה מתחרים בעצמכם במקום במתחרים האמיתיים שלכם.

ההשפעה על יחס ההמרה והסמכות
מעבר לפגיעה במיקומים, קניבליזציה פוגעת גם בחוויית המשתמש. אם גולש מחפש “נעלי ריצה” ומגיע לעמוד פוסט בבלוג במקום לעמוד הקטגוריה המכירתי, הסיכוי שהוא יבצע רכישה יורד משמעותית. המטרה שלנו היא לוודא שכל שאילתה מובילה בדיוק לעמוד המתאים ביותר עבורה באתר, וכאן נכנסת לתמונה אנליזה מתקדמת.
למה Python עדיף על אקסל בניתוח נתונים?
רבים שואלים אותי מדוע להסתבך עם קוד כשאפשר להשתמש באקסל או ב-Google Sheets. התשובה טמונה בשלושה גורמים עיקריים: נפח, מהירות ואוטומציה. כאשר מדובר באתרים קטנים, אקסל בהחלט יכול להספיק. אך כשמנהלים אתר איקומרס גדול או פורטל תוכן עם אלפי עמודים ועשרות אלפי מילות מפתח, אקסל מתחיל לגמגם. הוא הופך איטי, נתקע, וקשה מאוד לבצע בו מניפולציות מורכבות על דאטה רב.
Python, ובפרט ספריית Pandas, נועדה בדיוק למצבים אלו. היא מסוגלת לעבד מיליוני שורות בשניות בודדות. יתרה מכך, סקריפט שכתבתם פעם אחת יכול לרוץ שוב ושוב על נתונים חדשים בלחיצת כפתור, מה שחוסך שעות של עבודה ידנית בכל חודש. בתור מומחה קידום אתרים, היכולת לייצר תובנות בזמן אמת מעניקה יתרון תחרותי מובהק.
הכנת הקרקע: ייצוא הנתונים מ-Google Search Console
כדי להתחיל בניתוח, אנו זקוקים לחומר הגלם – הנתונים. ישנן שתי דרכים להשיג אותם: דרך ה-API של גוגל (שיטה למתקדמים) או דרך ייצוא ידני מהממשק. כדי לשמור על המדריך נגיש ופשוט, נתמקד בשיטת הייצוא הידני, שהיא פשוטה ויעילה למדי.
שלבי הייצוא:
- היכנסו לנכס הרצוי ב-Google Search Console.
- נווטו לדו”ח “ביצועים” (Performance) בתפריט הצדדי.
- בחרו בטווח התאריכים הרצוי (מומלץ לקחת לפחות 3 חודשים אחרונים כדי לקבל תמונה סטטיסטית אמינה).
- ודאו שאתם צופים במימדים של “שאילתות” (Queries) ו-“דפים” (Pages).
- לחצו על כפתור “ייצוא” (Export) בפינה העליונה ובחרו בפורמט CSV או Google Sheets (אותו תורידו לאחר מכן כ-CSV).
חשוב לציין: הממשק הרגיל מוגבל ל-1000 שורות. אם האתר שלכם גדול יותר, מומלץ להשתמש בתוסף ל-Google Sheets כמו “Search Analytics for Sheets” שמאפשר למשוך עד 25,000 שורות, או להשתמש ב-API. לצורך הדוגמה שלנו, נניח שיש לכם קובץ CSV המכיל את העמודות: Query, Page, Clicks, Impressions, CTR, Position.
הסקריפט: זיהוי קניבליזציה צעד אחר צעד
כעת, כשיש לנו את קובץ הנתונים, נעבור לחלק המעניין. נשתמש ב-Python כדי לטעון את הקובץ ולמצוא מילות מפתח שעבורן הופיעו יותר מכתובת URL אחת בתוצאות החיפוש.
שלב 1: התקנת הספריות הדרושות
אם טרם התקנתם את Python, מומלץ להוריד את הפצת Anaconda הכוללת את כל הספריות הדרושות. לאחר מכן, ודאו שמותקנת אצלכם ספריית Pandas. ניתן לעשות זאת דרך שורת הפקודה:
pip install pandas
שלב 2: כתיבת הקוד
פתחו עורך קוד (כמו Jupyter Notebook או VS Code) והדביקו את הסקריפט הבא. הסקריפט מבצע פעולה פשוטה אך חכמה: הוא מקבץ את הנתונים לפי עמודת ה’Query’, סופר כמה כתובות URL ייחודיות משויכות לכל שאילתה, ומציג רק את אלו שיש להן יותר מכתובת אחת.

import pandas as pd
# טעינת קובץ הנתונים
# ודאו ששם הקובץ תואם לקובץ שהורדתם
df = pd.read_csv('gsc_data.csv')
# ניקוי וסידור הנתונים (הסרת רווחים מיותרים בשמות העמודות)
df.columns = df.columns.str.strip()
# קיבוץ לפי שאילתה וספירת כמות עמודים ייחודיים לכל שאילתה
cannibalization = df.groupby('Query')['Page'].nunique()
# סינון שאילתות שיש להן יותר מעמוד אחד
cannibalization = cannibalization[cannibalization > 1]
# המרת התוצאה ל-DataFrame קריא
cannibalization_df = cannibalization.reset_index()
cannibalization_df.columns = ['Query', 'Unique_Pages_Count']
# מיזוג עם המידע המקורי כדי לראות אילו עמודים מתחרים
# כך נוכל לראות את הביצועים של כל עמוד עבור מילת המפתח הבעייתית
final_report = pd.merge(df, cannibalization_df, on='Query', how='inner')
# מיון לפי שאילתה כדי לראות את הכפילויות בצמידות
final_report = final_report.sort_values(by=['Query', 'Clicks'], ascending=[True, False])
# ייצוא התוצאות לקובץ חדש
final_report.to_csv('cannibalization_report.csv', index=False)
print("הניתוח הסתיים בהצלחה. הקובץ cannibalization_report.csv מוכן.")
הסבר על הלוגיקה
הקוד הנ”ל לוקח את כל הנתונים ובודק: עבור הביטוי “בניית אתרים”, כמה עמודים שונים קיבלו חשיפות? אם התשובה היא 1, הכל תקין. אם התשובה היא 2 או יותר, המערכת מסמנת את הביטוי הזה כחשוד בקניבליזציה. בשלב האחרון, אנו מייצאים דו”ח שבו אפשר לראות את הביטוי, ואת רשימת העמודים המתחרים עליו, כולל נתוני הקליקים והמיקומים שלהם.
ניתוח התוצאות: מה עושים עם המידע?
לאחר הרצת הסקריפט, תקבלו קובץ אקסל חדש וממוקד. זהו למעשה כלי לקידום אתרים שיצרתם בעצמכם בהתאמה אישית. כעת, עליכם לעבור על הדו”ח ולנתח את הממצאים. לא כל מקרה של ריבוי עמודים הוא רע. לעיתים גוגל מציג שני עמודים מאותו אתר (Site Links) וזה מצוין. הבעיה מתחילה כשהעמודים מתחלפים או מדורגים נמוך.
| סוג הבעיה | משמעות | פתרון מומלץ |
|---|---|---|
| עמודים דומים מאוד | שני עמודים עם תוכן כמעט זהה מתחרים זה בזה | איחוד תכנים לעמוד אחד חזק והפניית 301 מהעמוד השני |
| עמוד לא רלוונטי מדורג | עמוד שולי מדורג על ביטוי חשוב במקום עמוד הליבה | אופטימיזציה פנימית, חיזוק עמוד הליבה בקישורים פנימיים, שימוש ב-Canonical |
| תנודתיות גבוהה | גוגל מחליף בין העמודים כל כמה ימים | בידול התוכן בין העמודים, מיקוד כל עמוד בביטוי זנב ארוך שונה |
טיפ למתקדמים: סינון לפי כמות חשיפות
כדי לא לקבל “רעש” בנתונים, ניתן לשדרג את הסקריפט כך שיתייחס רק למילות מפתח שקיבלו כמות מינימלית של חשיפות (למשל, מעל 50). זה יבטיח שאתם מטפלים בבעיות אמיתיות ולא במקרים אזוטריים שגוגל בדק לרגע ונעלמו. קניבליזציה היא בעיה רק כשהיא משפיעה על התנועה בפועל.

איך להימנע מקניבליזציה בעתיד?
זיהוי הבעיה הוא רק חצי מהדרך. כדי למנוע הישנות של המקרים, יש להקפיד על אסטרטגיית תוכן ברורה. בעת יצירת תוכן חדש, בדקו תמיד האם כבר קיים באתר עמוד המכסה את הנושא הזה. במידה וכן, עדיף לעדכן ולעבות את העמוד הקיים מאשר ליצור עמוד חדש שיתחרה בו. כחלק מתהליך קידום אורגני בריא, ארכיטקטורת האתר צריכה להיות ברורה, ללא חפיפות מיותרות.
כמו כן, שימוש נכון בקישורים פנימיים עוזר לגוגל להבין איזה עמוד הוא ה”הורה” ואיזה עמוד הוא ה”ילד”. הקפידו לקשר מהעמודים הפחות חשובים אל העמוד הראשי באותו נושא, עם אנקור טקסט מדויק.
למידע נוסף על ניתוח נתונים מתקדם, ניתן להיעזר בתיעוד הרשמי של Google Search Central או במדריכים של ספריית Pandas.




