Feedburner

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

(אם מילאתי לכם פתאום את קורא הרסס בפוסטים ישנים שכבר קראתם, אז אני מצטער – אני מבטיח לא לעשות את זה שוב)

אבל, מכיוון שהפלאג אין הזה לא תומך בפידים של קטגוריות, הייתי צריך לעשות את זה ידנית בשביל הפיד לעדכונים על וורדפרס. אם מישהו נתקל אי פעם בבעיה דומה, הנה הסבר לאיך עשיתי את זה.

הרעיון פשוט – צריך שכל הכתובת לפידים יפנו אוטומטית לפידברנר (יכולות להיות הרבה מאוד כתובות לפידים בוורדפרס, וזה לא פשוט לכסות את כולן), אבל שכתובת אחת בלבד תפנה לפיד המקורי – כדי שיהיה לפידברנר מאיפה לקחת את התוכן.

הדרך לעשות את כל זה היא עם כללי שכתוב בקובץ ‎.htaccess, כמו שעושה את זה הפלאג אין של סטיב. היכולת לכתוב כללי שכתוב נחשבת בעיני ובעיני רבים וטובים ממני למגיה שחורה, לכן אני פשוט העתקתי את הקוד שלו לתחילת הקובץ ‎.htaccess שלי, ועשיתי בו את השינויים הנחוצים כדי שיעבוד על הפיד של וורדפרס:

RewriteRule ^fb_wp_news_8888/?$ wordpress/feed [R,L]

השורה הזו יוצרת כתובת מיוחדת שרק פידברנר אמור להכיר http://ranh.co.il/fb_wp_news_8888/ (במקרה, השתמשתי במספר אקראי אחר…), שאותה הדבקתי בפידברנר בתור הכתובת של הפיד המקורי.

RewriteCond %{HTTP_USER_AGENT} !^FeedBurner.*$

השורה הזו היא החלק המתוחכם. היא באה לפני הכללים שמשכתבים את כל הכתובות הרגילות לכתובת של פידברנר, ומונעת מפידברנר לראות אותם. מכיוון שפידברנר מזדהה בשמו כשהוא מבקש את הפיד מהשרת, השרת יודע שלא להפעיל עבורו את כללי השכתוב ולאפשר לו לגשת לפיד המקורי. כשכל אחד אחר מבקש את הפידים, השרת מפעיל את הכללים ומפנה אותו לפידברנר.

יום שלישי, 14 בפברואר, 2006. מילות מפתח: .

תגובה אחת בנושא “Feedburner

  1. אורי ב.

    האם אתה יודע איך דואגים שפידברנר יצמיד עברית לימין ברסס?
    (או אולי זה משהו בהגדרות ה-WP?)
    אני עובד על הגרסה שלך…

סגור לתגובות.