פרסומת
שבוע שעבר, באדיבות הוציא "תכונה" חדשה שנויה במחלוקת - חטיפת קישורי עדכונים לגניבת תנועה ממיליוני בלוגרים.
הפניית קישורים משותפים עם Feedly לתצוגה המקדימה של Feedly על המאמר במקום המאמר עצמו באתר המקורי מהווה דאגה ליוצרי תוכן מקוריים בבלוגים רבים. זה לא רק מביא לאובדן תנועה, אלא גם מתעתע עבור מי שעוקב אחר בלוג מסוים.
הנה הסיפור המלא של הסיבה מדוע אנשים כועסים, וכיצד בלוגר אחד עזר לתקן את המצב. אני גם מתעמק בקוד המקור שלהם כדי להראות לך כמה מלוכלכים הטריקים הקטנים שלהם.
אשראי המגיע:הקורא הדיגיטלי היה המקור המקורי לחדשות אלה - החלטתי רק לחקור עוד קצת ולראות בדיוק מה הם מתכננים.
ראשית, החדשות הטובות
בזמן הכתיבה ההתנהגות תוקנה מעט כך שאכן נשלחים קישורי Feedly מקוצרים לאתר היוצרים, אך בחינה מהירה של קוד מצב HTTP עשרת האתרים המובילים לקודי שגיאה ופתרון בעיות קרא עוד חשף כי ההפניה מחדש לא נעשתה בדרך השרתית האופיינית באמצעות הפניה מחדש של 301 או 302 (200 שפידלי שולחת פירושו "כן, יש לנו את הדף הזה, חכה"; 404 פירושו "לא נמצא"; 301 פירושו "הפניה קבועה לכתובת אתר אחרת; ואילו 302 פירושו "ניתוב זמני").
פירוש הדבר שהניתוב בוצע ב- JavaScript, אז רציתי לדעת יותר. שימוש בכלי השגת דף אינטרנט של שורת פקודה בשם תלתלהצלחתי לתפוס את קוד המקור של קישור מדגם Feedly ל- Techmeme.com לפני שהפניה ניתנה מחדש (מכיוון ש- CURL לא יבצע JavaScript) - וזה גילה כמה תמציות מפתיעות. הנה מה שמצאתי.
(העליתי את ה- המקור המלא כאן אם תרצה להעיף מבט - אני מציג רק כמה קטעי טקסט מעניינים למטה)
יש אנשים שחששו מההשלכות של קידום אתרים של גניבת התוכן שלהם ופורסמו מחדש במקומות אחרים; החדשות הטובות הן ש- Feedly הגדיר נכון את ה- rel = "canonical" מטא תג כדי להורות לגוגל כי יש להעביר את כל ערכי הקישור לאתר המקורי. עם זאת, לא ניתן לברר אם הדבר נוסף לאחר שהחלו תלונות או היו נוכחות מההתחלה.
הם מפסרים מודעות
במה שהיה ככל הנראה ניסיון מוטעה לשכפול א פונקציונליות מסוג הקריאה 6 חוברות סימניות אשר ישפרו את מהירות הגלישה באינטרנט ואת הפרודוקטיביותחוברות סימניות הן עוזרות קטנות ובלתי מעורערות שיושבות בסר הסימניות של הדפדפן. בשונה מהסימניות הרגילות שלך, הם לא מארגנים כתובת URL, אלא סימניות הם יישומי ג'אווה קטנים עם פונקציונליות בלחיצה אחת. יש מאות ... קרא עוד , שמפשיט דף עד עיקרי היסוד שלו, Feedly הפשיט את כל לחצני השיתוף הפרסומי, המעקב והחברתי שאולי הוטמעו בפריט העדכון המקורי. להלן הרשימה המלאה של הדברים שמפוטרים:
var visualExcludePatterns = ["feedproxy", "feedburner", "/ ~", "feeds.wordpress.com", "stats.wordpress.com", "googleadservices.com", "feedads", "tweet-this", "fmpub", "- מודעות", "_ מודעות", "pheedo", "zemanta", "u.npr.org/iserver","openx.org","slashdot-it","smilies","/ico - "," commindo-media.de "," creatives.commindo-media "," doubleclick.net "," i.techcrunch "," adview "," / feed.gif ",". מודעות. "," / avw.php "," wp-digg-this "," הזרקת הזנה "," / plugins / "," tweetmeme.com "," _ icon _ "," / מודעה - "," לחצני שיתוף "," feedsportal. com "," buysellads ", "holstee", "musictapp", "/ ad _", "/ כפתור /", "donate.png", "/ sponsors /", "googlesyndication.com", "/ pagead", "/ adx", "נכסים / feed-fb "," נכסים / feed-tw "," feedburner.com/ ~ff","gstatic.com","feedsportal.com "];
הוצאת כפתור "תרומה" נראית דוחה במיוחד, משום מה.
הם חוטפים קישורים
כאן אנו מגיעים לנקודה הרצינית ביותר, שכן לא רק שגרסנו Feedly את התוכן מהאתר שלך, הם אז הפשיטו כל כפתורים חברתיים מקוריים וכתבו מחדש את המטא-נתונים. משמעות הדבר היא שכאשר מישהו אחר כך שיתף את הפריט, הם היו אכן כך משתף את קישור ה- Feedly ולא את הפוסט המקורי. כל מי שילחץ על קישור זה יעבור היישר ל- Feedly.
אז מה, אולי תשאלו? כאשר פוסט הופך לוויראלי, זה יכול להועיל עצום לאתר המדובר - העלאת צפיות בדף והכנסות ממודעות, והרחבת הקהל שלהם. פידלי גסה באופן גמור את הגמלה הספציפית מהאתר כדי להרחיב את בסיס המשתמשים שלה. קוד ה- Feedly כלל בדיקות למכשירים ניידים שיכוונו את המשתמשים לעמוד העמוד הרלוונטי.
פעולת פונקציה (היכן) { var actionName = "עקוב"; var url = " http://feedly.com/#" + קידודURIC רכיב ("מנוי /" + feedInfo.id); אם (/iPhone|iPad/i.test (navigator.userAgent)) { actionName = "להתקין"; url = " http://itunes.apple.com/us/app/feedly/id396069556"; } אחרת אם (/android/i.test (navigator.userAgent)) { actionName = "להתקין"; url = "שוק: // פרטים? id = com.devhd.feedly "; } _gaq.push (['_trackEvent', bucket (), actionName + "." + איפה, feedInfo.id]); windows.setTimeout (פונקציה () {document.location.href = url;}, 20); windows.event.cancelBubble = נכון. windows.event.stopPropagation (); windows.event.prevent Default (); }
זה לא היה "רק כדי להקל על הצפייה במאמר" - הוא גנב תנועה, פשוטה ופשוטה. זה ממש לא מגניב.
התיקון הראשון שלהם: רשימת אי הכללה עם קידוד קשה
כאשר הקורא הדיגיטלי התלונן לראשונה ל- Feedly, תגובתם הייתה לקודד מחדש את ה- Javascript כך שיכלול רשימת הרחקה. הם ממש הוסיפו צ'ק לכל קישור ב- Feedly כדי לבדוק אם זה פריט מהקורא הדיגיטלי, ואם כן כדי לעקוף את חטיפת העמודים.
var siteExcludePatterns = ["/ TheDigitalReader /"]; פונקציה shouldExcludeSite (url)
זו כמובן דרך מגוחכת לחלוטין לעשות זאת - האם הם מתכוונים להוסיף לרשימה הזו ככל שחלף הזמן ויותר בלוגרים התלוננו?
נאט, מהקורא הדיגיטלי הגיב:
איפה אתה יוצא בדרישה שאבטל את הסכמתך לחטיפה שלך? זה כמו להגיד שאני צריך לבקש ממישהו להפסיק להכות אותי בארנק הפנים. ובכל זאת אתה חושב שזה סביר?
התיקון השני שלהם: פריצה מהירה לעקיפת כל הקוד
אחרי מה שאני יכול רק להניח שהיה מספר עצום של תלונות שבאו בעקבותיו, הם כינו את מסנן החטיפה באופן הבא:
if (kind == "חלקי" || shouldExcludeSite (" http://www.techmeme.com/131202/p30#a131202p30" ) || נכון) { document.body.innerHTML = ""; document.location.href = " http://www.techmeme.com/131202/p30#a131202p30"; }
"חלקי" מתייחס לכך שהתוכן הגרוט הוא עדכון מלא או חלקי - אין טעם לחטוף עדכונים שרק אחרי הכל מפרסמים קטע. יש להניח שפונקציה זו החלה כבדיקה היחידה שהתרחשה בבחירה אם לשלוח את המשתמש לאתר המקורי או לא. אתה יכול לראות את התיקון הראשון לאחר מכן, שקורא לפונקציה לבדוק אם אתר זה נמצא ברשימת האתרים שביטלו את הסכמתך; אבל אז אנו רואים את התיקון הסופי שלהם במקום -
|| נכון.
אם יש לך חווית תכנות כלשהי, תזהה את הפריצה המהירה שאומרת "הקוד הבא יופעל תמיד", והוא משמש לרוב רק באגים. אם אחד משלושת התנאים הללו נכונים (השניים הראשונים כבר לא חשובים), Feedly מפנה את המשתמשים באופן מיידי לאתר המקורי.
וכאן זה עומד כעת. אז מה למדנו?
בעיקרון, פידלי התחיל ליצור סוג של חווית קריאה רזה, אך הדרך בה התנהלו זה - שכתוב קישורים להפצת השירות שלהם באמצעות מניות חברתיות שלאחר מכן היה די ארור מגעיל. זה לא המהלך הרע היחיד שעשתה Feedly לאחרונה - בחודש שעבר, הם החל לדרוש כניסה לחשבונות Google+ (לאחר שראיתי כמה טוב הכניסה ל- Google+ עובדת עבור YouTube מדור ההערות של יוטיוב מנוקה כעת, באדיבות Google+גוגל ניקה את יוטיוב באמצעות מערכת הערות חדשה המופעלת על ידי Google+. כעת תראה את התגובות המעודכנות ביותר, אלה מאנשים במעגלי Google+ שלך ובעלים של הסרטון. קרא עוד אני משער) אבל גם זה חזר במהירות. השיעור הוא - אולי תרצו להתחיל למצוא מזין חלופי הסוף של הקורא של גוגל קרוב: היכונו עם קוראי RSS אלטרנטיביים אלהGoogle Reader מת. עד יולי שירות ה- RSS המוביל של האינטרנט נסגר לנצח, ומשאיר למשתמשים למצוא תחליף לבד. אם אתה מחפש שווה ערך לגוגל אלה פשוט ... קרא עוד , אלא אם כן כבר נשאבת לשלם 99 $ עבור חשבון Pro.
ג'יימס הוא בעל תואר ראשון בבינה מלאכותית, והוא מוסמך CompTIA A + ו- Network +. הוא המפתח הראשי של MakeUseOf, ומבלה את זמנו הפנוי במשחקי פיינטבול VR ומשחקי לוח. הוא בנה מחשבים אישיים מאז שהיה ילד.