phpBB Seo for Last Topic Title on Index mod?

Discussions and support about the different URL Rewriting techniques for phpBB2.

Moderator: Moderators

phpBB Seo for Last Topic Title on Index mod?

Postby j.buesking » Sun Nov 11, 2007 3:41 am

Hello,

I am posting in search of the phpbbseo patch for this mod:

http://www.phpbb.com/community/viewtopic.php?t=350442

I have searched and found this post. It now seams that the mod has been update since and the patch dcz wrote no long works.


http://www.phpbb-seo.com/boards/phpbb-m ... .html#2758

Any suggestions or help would be much appreciated. I've tried several things but haven't quite figured out how this all works yet.

Thanks
j.buesking
 
Posts: 1
Joined: Sun Sep 16, 2007 1:18 pm

Advertisement

Postby dcz » Sun Nov 18, 2007 12:50 pm

Yes, the thread you mention provided the hack for the older phpBB mod rewrite versions.

For the 0.2.x ones, you should :

Open :

Code: Select all
index.php


Find :

Code: Select all
                        if (!$auth_read_ary[$forum_data[$j]['forum_id']]['auth_read'])
                        {
                           $lttitle = '';
                           $lang_in = '';
                         }

                     // append first 25 characters of topic title to last topic data
                        $lttitle = (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle;

                        $last_post .= $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';


Replace with :

Code: Select all
                        // www.phpBB-SEO.com SEO TOOLKIT BEGIN
                        if ($auth_read_ary[$forum_data[$j]['forum_id']]['auth_read'])
                        {
                           if (!isset($phpbb_seo->seo_url['topic'][$ltid]) ) {
                              $phpbb_seo->seo_url['topic'][$ltid] = $phpbb_seo->format_url($lttitle);
                           }
                           // append first 25 characters of topic title to last topic data
                           $lttitle = (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle;

                           $last_post .= $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';
                        }
                        // www.phpBB-SEO.com SEO TOOLKIT END


And it should be ok ;)
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: 21379
Joined: Fri Apr 28, 2006 9:03 pm

Postby hoaxx » Sun Dec 09, 2007 7:12 pm

The Last Topic Title on Index Mod also has a patch for the Simple Subforums Mod.
To make that work with advanced seo 2.x one needs to apply the following:

Code: Select all
#
#---[ Open ]-----------------
#

viewforum.php

#
#---[ Find ]-----------------
#
                                                                if (!$auth_read_ary[$subforum_data[$j]['forum_id']]['auth_read'])
                                                                {

                                                                        $lttitle = '';
                                                                        $lang_in = '';

                                                        }

                                                // undo_htmlspecialchars();
                                                                $lttitle = preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $lttitle);

                                                // do_htmlspecialchars();
                                                // set length of topic title to 25 characters
                                                                $lttitle = preg_replace($html_entities_match, $html_entities_replace, (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle);

                                                                $last_post .= $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';




#
#---[ Replace with ]-----------------
#

                        // www.phpBB-SEO.com SEO TOOLKIT BEGIN
                        if ($auth_read_ary[$subforum_data[$j]['forum_id']]['auth_read'])
                        {

                           if (!isset($phpbb_seo->seo_url['topic'][$ltid]) ) {
                              $phpbb_seo->seo_url['topic'][$ltid] = $phpbb_seo->format_url($lttitle);
                           }
                           // append first 25 characters of topic title to last topic data
                           $lttitle = (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle;

                           $last_post .= $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';
                        }
                        // www.phpBB-SEO.com SEO TOOLKIT END
hoaxx
 
Posts: 6
Joined: Fri Dec 07, 2007 9:23 pm

Postby SeO » Sun Dec 09, 2007 8:46 pm

Thanks for sharing ;)
SeO
Admin
Admin
 
Posts: 6334
Joined: Wed Mar 15, 2006 9:41 pm

Postby hoaxx » Tue Dec 25, 2007 2:28 pm

The "Last Topic Title on Index" Mod seems to have a quite troublesome sql statement... on some larger boards it produces 4-6 Second querries when loading the index page... hopefully this will get some attention from the mod author (or some sql pro) soon.
hoaxx
 
Posts: 6
Joined: Fri Dec 07, 2007 9:23 pm

Postby SeO » Tue Dec 25, 2007 3:31 pm

Could be just an index to add on the topic_last_post_id field.

I saw the same error on the phpBB3 version of this mod (by the way not needed with the no duplicate for phpBB3).
SeO
Admin
Admin
 
Posts: 6334
Joined: Wed Mar 15, 2006 9:41 pm

Postby hoaxx » Tue Dec 25, 2007 7:38 pm

I can confirm that. Works great again (even better then before without the topic titles).

Many thanks !
hoaxx
 
Posts: 6
Joined: Fri Dec 07, 2007 9:23 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby dr_somm » Thu Mar 05, 2009 3:25 am

Could you please help me with the new version 1.0.4? The code changed a bit. I also moved the date below the topic:

Code: Select all
               //-- MOD BEGIN: Last Topic Title on Index -------------------
                        $ltid = $forum_data[$j]['topic_id'];
                        $lttitle = $forum_data[$j]['topic_title'];

                  //
                  // Censor topic title
                  //
                        if ( count($orig_word) )
                        {
                           $lttitle = preg_replace($orig_word, $replacement_word, $lttitle);
                        }
                        $altlttitle = $lttitle;
                        $lang_in = $lang['in'];

                  //
                  // Filter topic_title if not allowed to read
                  //
                        if (!$auth_read_ary[$forum_data[$j]['forum_id']]['auth_read'])
                        {
                           $lttitle = '';
                           $lang_in = '';
                         }

                  // undo_htmlspecialchars();
                        $lttitle = preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $lttitle);

                  // do_htmlspecialchars();
                  // set length of topic title to 25 characters
                        $lttitle = preg_replace($html_entities_match, $html_entities_replace, (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle);

                        $last_post = $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';

                        $last_post .= $lang['on'] . '&nbsp;' . $last_post_time . '<br />';

                        $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? $lang['by'] . '&nbsp;' . ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $lang['by'] . '&nbsp;' . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

               //-- MOD END: Last Topic Title on Index -------------------


[e] Guess I've just figured it out by myself; is that code correct?
Code: Select all
               //-- MOD BEGIN: Last Topic Title on Index -------------------
                        $ltid = $forum_data[$j]['topic_id'];
                        $lttitle = $forum_data[$j]['topic_title'];

                  //
                  // Censor topic title
                  //
                        if ( count($orig_word) )
                        {
                           $lttitle = preg_replace($orig_word, $replacement_word, $lttitle);
                        }
                        $altlttitle = $lttitle;
                        $lang_in = $lang['in'];

                  //
                  // Filter topic_title if not allowed to read
                  //
                        if ($auth_read_ary[$forum_data[$j]['forum_id']]['auth_read'])
                        {

                           if (!isset($phpbb_seo->seo_url['topic'][$ltid]) ) {
                              $phpbb_seo->seo_url['topic'][$ltid] = $phpbb_seo->format_url($lttitle);
                           }

                  // undo_htmlspecialchars();
                        $lttitle = preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $lttitle);

                  // do_htmlspecialchars();
                  // set length of topic title to 25 characters
                        $lttitle = (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle;

                        $last_post = $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';

                        }
                        $last_post .= $lang['on'] . '&nbsp;' . $last_post_time . '<br />';

                        $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? $lang['by'] . '&nbsp;' . ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $lang['by'] . '&nbsp;' . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

               //-- MOD END: Last Topic Title on Index -------------------


The only problem is that it doesn't show the correct link according to the avanced rewrite mod in "jump to last post", i.e.
domain.de/post38205.html#23493
instead of
domain.de/[post-title]38205.html#23493
dr_somm
 
Posts: 29
Joined: Sun Mar 01, 2009 9:27 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby SeO » Sat Mar 07, 2009 11:32 am

This is normal, and was only fully dealt with in phpBB3. It's though not an SEO issue with the zero duplicate.
SeO
Admin
Admin
 
Posts: 6334
Joined: Wed Mar 15, 2006 9:41 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby dr_somm » Sat Mar 07, 2009 5:56 pm

I see, never mind then. Any idea why it works on my recent.php though?
dr_somm
 
Posts: 29
Joined: Sun Mar 01, 2009 9:27 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby dcz » Tue Mar 10, 2009 1:12 pm

Is your code working or not in the end for recent.php ?
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: 21379
Joined: Fri Apr 28, 2006 9:03 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby dr_somm » Tue Mar 10, 2009 2:31 pm

Yes, it is working. I was just wondering, why the jump to last post URLs are formatted properly on recent.php (post_name.html#123) whereas on index.php they are static (post_number#123).
dr_somm
 
Posts: 29
Joined: Sun Mar 01, 2009 9:27 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby dcz » Mon Mar 16, 2009 11:32 am

We have a mod for the last post links on index , but it's for phpBB3 :
phpBB3 SEO No Duplicate V 0.4.4

;)
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: 21379
Joined: Fri Apr 28, 2006 9:03 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby dr_somm » Thu May 28, 2009 6:49 am

dr_somm wrote:Could you please help me with the new version 1.0.4? The code changed a bit. I also moved the date below the topic:

Code: Select all
               //-- MOD BEGIN: Last Topic Title on Index -------------------
                        $ltid = $forum_data[$j]['topic_id'];
                        $lttitle = $forum_data[$j]['topic_title'];

                  //
                  // Censor topic title
                  //
                        if ( count($orig_word) )
                        {
                           $lttitle = preg_replace($orig_word, $replacement_word, $lttitle);
                        }
                        $altlttitle = $lttitle;
                        $lang_in = $lang['in'];

                  //
                  // Filter topic_title if not allowed to read
                  //
                        if (!$auth_read_ary[$forum_data[$j]['forum_id']]['auth_read'])
                        {
                           $lttitle = '';
                           $lang_in = '';
                         }

                  // undo_htmlspecialchars();
                        $lttitle = preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $lttitle);

                  // do_htmlspecialchars();
                  // set length of topic title to 25 characters
                        $lttitle = preg_replace($html_entities_match, $html_entities_replace, (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle);

                        $last_post = $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';

                        $last_post .= $lang['on'] . '&nbsp;' . $last_post_time . '<br />';

                        $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? $lang['by'] . '&nbsp;' . ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $lang['by'] . '&nbsp;' . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

               //-- MOD END: Last Topic Title on Index -------------------


[e] Guess I've just figured it out by myself; is that code correct?
Code: Select all
               //-- MOD BEGIN: Last Topic Title on Index -------------------
                        $ltid = $forum_data[$j]['topic_id'];
                        $lttitle = $forum_data[$j]['topic_title'];

                  //
                  // Censor topic title
                  //
                        if ( count($orig_word) )
                        {
                           $lttitle = preg_replace($orig_word, $replacement_word, $lttitle);
                        }
                        $altlttitle = $lttitle;
                        $lang_in = $lang['in'];

                  //
                  // Filter topic_title if not allowed to read
                  //
                        if ($auth_read_ary[$forum_data[$j]['forum_id']]['auth_read'])
                        {

                           if (!isset($phpbb_seo->seo_url['topic'][$ltid]) ) {
                              $phpbb_seo->seo_url['topic'][$ltid] = $phpbb_seo->format_url($lttitle);
                           }

                  // undo_htmlspecialchars();
                        $lttitle = preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $lttitle);

                  // do_htmlspecialchars();
                  // set length of topic title to 25 characters
                        $lttitle = (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle;

                        $last_post = $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';

                        }
                        $last_post .= $lang['on'] . '&nbsp;' . $last_post_time . '<br />';

                        $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? $lang['by'] . '&nbsp;' . ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $lang['by'] . '&nbsp;' . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

               //-- MOD END: Last Topic Title on Index -------------------



I've just discovered a problem with forums that are only viewable (postings are not readable). The latter is the view-forum-title-only forum. That error only occurs when visiting the forum as a guest.

Any suggestions? Thanks a lot!
Attachments
readonly.gif
readonly.gif (4.54 KiB) Viewed 2492 times
dr_somm
 
Posts: 29
Joined: Sun Mar 01, 2009 9:27 pm

Re: phpBB Seo for Last Topic Title on Index mod?

Postby dr_somm » Fri Jun 26, 2009 4:08 pm

Well, this code works for me; is it secure/correct though?

Code: Select all
                   //-- MOD BEGIN: Last Topic Title on Index -------------------
                            $ltid = $forum_data[$j]['topic_id'];
                            $lttitle = $forum_data[$j]['topic_title'];

                      //
                      // Censor topic title
                      //
                            if ( count($orig_word) )
                            {
                               $lttitle = preg_replace($orig_word, $replacement_word, $lttitle);
                            }
                            $altlttitle = $lttitle;
                            $phpbb_seo->seo_url['topic'][$ltid] = $phpbb_seo->format_url($lttitle);
                            $lang_in = $lang['in'];

                      //
                      // Filter topic_title if not allowed to read
                      //
                            if (!$auth_read_ary[$forum_data[$j]['forum_id']]['auth_read'])
                            {
                               $lang_in = '';
                             }

                      // undo_htmlspecialchars();
                            $lttitle = preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $lttitle);

                      // do_htmlspecialchars();
                      // set length of topic title to 25 characters
                            $lttitle = preg_replace($html_entities_match, $html_entities_replace, (strlen($lttitle) > 25) ? substr($lttitle,0,25) . '...' : $lttitle);

                            $last_post = $lang_in . '&nbsp;' . '<a title="' . $altlttitle . '" alt="' . $altlttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . $lttitle . '</a><br />';

                            $last_post .= $lang['on'] . '&nbsp;' . $last_post_time . '<br />';

                            $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? $lang['by'] . '&nbsp;' . ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $lang['by'] . '&nbsp;' . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

                   //-- MOD END: Last Topic Title on Index -------------------


The only thing I changed in the original MOD code (except the position of the date) is that I put " $phpbb_seo->seo_url['topic'][$ltid] = $phpbb_seo->format_url($lttitle);" after "$altlttitle = $lttitle;".

A simple "yes" or "no" would be enough - thanks!
dr_somm
 
Posts: 29
Joined: Sun Mar 01, 2009 9:27 pm

Next

Return to phpBB2 mod Rewrite

 


  • Related topics
    Replies
    Views
    Last post

Who is online

Users browsing this forum: No registered users and 2 guests