PHPBB SEO and RSS MOD

phpBB3 SEO Advanced mod Rewrite support forum.
This mods performs URL rewriting for phpBB, injecting forums and topic titles in their URLs.

Moderator: Moderators

PHPBB SEO and RSS MOD

Postby avf » Sat Sep 20, 2008 4:08 pm

Hello.

I had RSS MOD installed before installing PHPBB SEO. Now, I have two problems:

1. I had a link to my RSS feed on my index and now it's not pointing to rss.php, where it should, it's pointing to the current page. So if I'm on -www.my-forum-url/post-post-post.html, that link will link to -www.my-forum-url/post-post-post.html instead of -www.my-forum-ul.com/rss.php.

2. The RSS feed is generated with old URL formatting. Can this be changed somehow?

Here's my rss.php

Code: Select all
<?php
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2008 Manchumahara(Sabuj Kundu)
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'language/en/common.' . $phpEx);

// Start session
$user->session_begin();
$auth->acl($user->data);
$user->setup();


function make_xml_compatible($text,$bbcode_uid, $bbcode_bitfield,$bbcode_options)
{
    global $config, $base_url;
    $text = html_entity_decode(generate_text_for_display($text, $bbcode_uid, $bbcode_bitfield, $bbcode_options));
    $text = nl2br($text);
         $text = str_replace('&pound', '&amp;#163;', $text);
         $text = str_replace('&copy;', '(c)', $text);
         $text = htmlspecialchars($text);
    return $text;
}
//Get the board url address
$board_url = generate_board_url();

// Start RSS output
header('Content-type: application/rss+xml; charset=UTF-8');
$rss_result = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<rss version=\"2.0\"  xmlns:atom=\"http://www.w3.org/2005/Atom\">
<channel>
<atom:link href=\"".$board_url."/rss.$phpEx\" rel=\"self\" type=\"application/rss+xml\" />
  <title>".$config['sitename']."</title>
  <link>".$board_url."</link>
  <description>".$config['site_desc']."</description>
  <language>".$config['default_lang']."</language>
  <copyright>".$user->lang['RSS_COPYRIGHT']."  ".$config['sitename']."</copyright>     
  <managingEditor>".$config['board_email']." (".$config['sitename'].")</managingEditor> 
   <generator>".$config['sitename']."</generator>
  <ttl>1</ttl> 
";
        //
        // This SQL query selects the latest topics of all forum
       
       
        $sql = 'SELECT f.forum_id,f.forum_name, f.forum_desc_options, t.topic_title, t.topic_id,t.topic_last_post_id,t.topic_last_poster_name, p.post_time, p.post_text,
           p.bbcode_uid, p.bbcode_bitfield, u.username, u.user_id
                FROM  '. FORUMS_TABLE .'  f,'.TOPICS_TABLE.' t, '.POSTS_TABLE.' p,'.USERS_TABLE.' u
                WHERE t.forum_id = f.forum_id
                AND t.topic_status != 1
                AND p.post_id = t.topic_last_post_id
                AND u.user_id = p.poster_id
                ORDER BY t.topic_last_post_id DESC';   
        if(!$result = $db->sql_query_limit($sql,30))
        {
              trigger_error($user->lang['RSS_FAILURE']);               
        }
        while($row = $db->sql_fetchrow($result))
        {
              $forumid=$row['forum_id'];
              $topicid=$row['topic_id'];
               if($auth->acl_get('f_read',$forumid))      //getting authentication
               {
                     $post_link    = $board_url."/viewtopic.".$phpEx."?f=".$forumid."&amp;t=".$topicid."#p".$row['topic_last_post_id'];
                   $topic_link   = $board_url."/viewtopic.".$phpEx."?f=".$forumid."&amp;t=".$topicid;
                   $description  = $user->lang['POST_BY_AUTHOR']." ".$row['topic_last_poster_name']." (".$user->lang['POSTED']." ".$user->format_date($row['post_time']).")<br/>".$row['post_text']."<br /><br /><a href=\"".$topic_link."\">".$user->lang['RSS_READ_TOPIC']."</a><hr />";                         
                 $rss_result .= "
                                  <item>
                                  <title>".$row['topic_title']."</title>
                                  <link>".$post_link."</link>
                                  <description>".make_xml_compatible($description, $row['bbcode_uid'], $row['bbcode_bitfield'], $row['forum_desc_options'])."</description>
                                                           <pubDate>".$user->format_date($row['post_time'])."</pubDate>                                       
                                   <guid isPermaLink=\"true\">".$post_link."</guid>                        
                                      </item>";
                }
        }


$rss_result .= '</channel></rss>';
echo $rss_result;
$db->sql_freeresult($result);
?>
avf
 
Posts: 8
Joined: Fri Sep 19, 2008 8:03 pm

Advertisement

Postby dcz » Sat Sep 27, 2008 7:06 am

Why not using GYM sitemaps & RSS ?

You'll have many feeds and sitemaps, all SEoptimized and with autolinking abilities.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Posts: 21407
Joined: Fri Apr 28, 2006 9:03 pm


Return to Advanced SEO URL

 


  • Related topics
    Replies
    Views
    Last post

Who is online

Users browsing this forum: No registered users and 8 guests