Re: Topic SEO
Posted: 27 Aug 2010, 09:35
That would be a mod request.
Database and Demo for phpBB3 BBCodes, Mods and Smilies
https://phpbb3bbcodes.com/
Then you will have to post in phpBB3 support requesting what you want, and it will be as and when i have time to do it.heredia21 » 27 Aug 2010, 17:48 wrote:Yes it will.
edit---
It is very similiar to what I want to do. I wanted the Price on one line then the subject on the other. Two different input boxes. Something like topic seo but make it required on some forums.
do what ?demon » 01 Sep 2010, 20:35 wrote:I made a little extra field, a page title field, so your page title is not the same as the topic title...
have a look at the overall_header.html edit for the meta tags for that mod ,keywords and description and give the html code.Ælly wrote:Is now compatible with the SEO Dynamic meta tags?
Like i said, the field can make the page title different then the topic title, and yes, it has a purpose..Steve© » 01 Sep 2010, 21:51 wrote:do what ?demon » 01 Sep 2010, 20:35 wrote:I made a little extra field, a page title field, so your page title is not the same as the topic title...
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}" xml:lang="{S_USER_LANG}">
<head>
{SEO_BASE_HREF}
<meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" />
<title>{PAGE_TITLE}<!-- IF S_IN_MCP --> • {L_MCP}<!-- ELSEIF S_IN_UCP --> • {L_UCP}<!-- ENDIF --></title>
<meta http-equiv="content-language" content="{S_USER_LANG}" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="imagetoolbar" content="no" />
{META_TAG}
{META}
<!-- BEGIN gym_rsslinks -->
<link rel="alternate" type="application/rss+xml" title="{gym_rsslinks.TITLE}" href="{gym_rsslinks.URL}" />
<!-- END gym_rsslinks -->
<!-- IF S_ENABLE_FEEDS -->
<link rel="alternate" type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{U_FEED}" />
<!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{U_FEED}?mode=news" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{U_FEED}?mode=forums" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPICS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_TOPICS}" href="{U_FEED}?mode=topics" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_FORUM and S_FORUM_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FORUM} - {FORUM_NAME}" href="{U_FEED}?f={S_FORUM_ID}" /><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPIC and S_TOPIC_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_TOPIC} - {TOPIC_TITLE}" href="{U_FEED}?f={S_FORUM_ID}&t={S_TOPIC_ID}" /><!-- ENDIF -->
<!-- ENDIF -->
<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />
<!-- MODIFICA JQUERY PHPBBCODES -->
<style type="text/css">
div.jGrowl {
padding: 10px;
z-index: 9999;
}
/** Special IE6 Style Positioning **/
div.ie6 {
position: absolute;
}
div.ie6.top-right {
right: auto;
bottom: auto;
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.top-left {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.bottom-right {
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.bottom-left {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
div.ie6.center {
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
width: 100%;
}
/** Normal Style Positions **/
body > div.jGrowl {
position: fixed;
}
body > div.jGrowl.top-left {
left: 0px;
top: 0px;
}
body > div.jGrowl.top-right {
right: 0px;
top: 0px;
}
body > div.jGrowl.bottom-left {
left: 0px;
bottom: 0px;
}
body > div.jGrowl.bottom-right {
right: 0px;
bottom: 0px;
}
body > div.jGrowl.center {
top: 0px;
width: 50%;
left: 25%;
}
/** Cross Browser Styling **/
div.center div.jGrowl-notification, div.center div.jGrowl-closer {
margin-left: auto;
margin-right: auto;
}
div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
background-color: #000;
color: #fff;
opacity: .85;
filter: alpha(opacity = 85);
zoom: 1;
width: 235px;
padding: 10px;
margin-top: 5px;
margin-bottom: 5px;
font-family: Tahoma, Arial, Helvetica, sans-serif;
font-size: 12px;
text-align: left;
display: none;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
div.jGrowl div.jGrowl-notification {
min-height: 40px;
}
div.jGrowl div.jGrowl-notification div.header {
font-weight: bold;
font-size: 10px;
}
div.jGrowl div.jGrowl-notification div.close {
float: right;
font-weight: bold;
font-size: 12px;
cursor: pointer;
}
div.jGrowl div.jGrowl-closer {
height: 15px;
padding-top: 4px;
padding-bottom: 4px;
cursor: pointer;
font-size: 11px;
font-weight: bold;
text-align: center;
}
</style>
<script type="text/javascript" src="{ROOTPATH}images/jgrowl/jquery-1.3.2.js"></script>
<script type="text/javascript" src="{ROOTPATH}images/jgrowl/jquery.ui.all.js"></script>
<script type="text/javascript" src="{ROOTPATH}images/jgrowl/jquery.jgrowl.js"></script>
<!-- FINE MODIFICA -->
<script type="text/javascript">
// <![CDATA[
<!-- IF S_USER_PM_POPUP -->
if ({S_NEW_PM})
{
popup('{UA_POPUP_PM}', 400, 225, '_phpbbprivmsg');
}
<!-- ENDIF -->
function popup(url, width, height, name)
{
if (!name)
{
name = '_popup';
}
window.open(url.replace(/&/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes,width=' + width);
return false;
}
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
function jumpto() {
var page = prompt('{LA_JUMP_PAGE}:', '{ON_PAGE}');
var perpage = '{PER_PAGE}';
var base_url = '{A_BASE_URL}';
var seo_delim_start = '{SEO_START_DELIM}';
var seo_static_pagination = '{SEO_SATIC_PAGE}';
var seo_ext_pagination = '{SEO_EXT_PAGE}';
if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0) {
var seo_page = (page - 1) * perpage;
var anchor = '';
var anchor_parts = base_url.split('#');
if ( anchor_parts[1] ) {
base_url = anchor_parts[0];
anchor = '#' + anchor_parts[1];
}
if ( base_url.indexOf('?') >= 0 ) {
document.location.href = base_url.replace(/&/g, '&') + '&start=' + seo_page + anchor;
} else if ( seo_page > 0 ) {
var seo_type1 = base_url.match(/\.[a-z0-9]+$/i);
if (seo_type1 !== null) {
document.location.href = base_url.replace(/\.[a-z0-9]+$/i, '') + seo_delim_start + seo_page + seo_type1 + anchor;
}
var seo_type2 = base_url.match(/\/$/);
if (seo_type2 !== null) {
document.location.href = base_url + seo_static_pagination + seo_page + seo_ext_pagination + anchor;
}
} else {
document.location.href = base_url + anchor;
}
}
}
var seo_external = {SEO_EXTERNAL};
var seo_external_sub = {SEO_EXTERNAL_SUB};
var seo_ext_classes = {SEO_EXT_CLASSES};
var seo_hashfix = {SEO_HASHFIX};
/**
* phpbb_seo_href()
* Fixes href="#something" links with virtual directories
* Optionally open external or marked with a css class links in a new window
* in a XHTML 1.x compliant way.
*/
function phpbb_seo_href() {
var current_domain = document.domain.toLowerCase();
if (!current_domain || !document.getElementsByTagName) return;
if (seo_external_sub && current_domain.indexOf('.') >= 0) {
current_domain = current_domain.replace(new RegExp(/^[a-z0-9_-]+\.([a-z0-9_-]+\.([a-z]{2,6}|[a-z]{2,3}\.[a-z]{2,3}))$/i), '$1');
}
if (seo_ext_classes) {
var extclass = new RegExp("(^|\s)(" + seo_ext_classes + ")(\s|$)");
}
if (seo_hashfix) {
var basehref = document.getElementsByTagName('base')[0];
if (basehref) {
basehref = basehref.href;
var hashtest = new RegExp("^(" + basehref + "|)#[a-z0-9_-]+$");
var current_href = document.location.href.replace(/#[a-z0-9_-]+$/i, "");
} else {
seo_hashfix = false;
}
}
var hrefels = document.getElementsByTagName("a");
var hrefelslen = hrefels.length;
for (var i = 0; i < hrefelslen; i++) {
var el = hrefels[i];
var hrefinner = el.innerHTML.toLowerCase();
if (el.onclick || (el.href == '') || (el.href.indexOf('javascript') >=0 ) || (hrefinner.indexOf('<a') >= 0) ) {
continue;
}
if (seo_hashfix && el.hash && hashtest.test(el.href)) {
el.href = current_href + el.hash;
}
if (seo_external) {
if ((el.href.indexOf(current_domain) >= 0) && !(seo_ext_classes && extclass.test(el.className))) {
continue;
}
el.onclick = function () { window.open(this.href); return false; };
}
}
}
window.onload = function() {
if (seo_external || seo_hashfix) {
phpbb_seo_href();
}
// here you can add other window.onload events
}
// www.phpBB-SEO.com SEO TOOLKIT END
/**
* Find a member
*/
function find_username(url)
{
popup(url, 760, 570, '_usersearch');
return false;
}
/**
* Mark/unmark checklist
* id = ID of parent container, name = name prefix, state = state [true/false]
*/
function marklist(id, name, state)
{
var parent = document.getElementById(id);
if (!parent)
{
eval('parent = document.' + id);
}
if (!parent)
{
return;
}
var rb = parent.getElementsByTagName('input');
for (var r = 0; r < rb.length; r++)
{
if (rb[r].name.substr(0, name.length) == name)
{
rb[r].checked = state;
}
}
}
<!-- IF ._file -->
/**
* Play quicktime file by determining it's width/height
* from the displayed rectangle area
*
* Only defined if there is a file block present.
*/
function play_qt_file(obj)
{
var rectangle = obj.GetRectangle();
if (rectangle)
{
rectangle = rectangle.split(',')
var x1 = parseInt(rectangle[0]);
var x2 = parseInt(rectangle[2]);
var y1 = parseInt(rectangle[1]);
var y2 = parseInt(rectangle[3]);
var width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1;
var height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1;
}
else
{
var width = 200;
var height = 0;
}
obj.width = width;
obj.height = height + 16;
obj.SetControllerVisible(true);
obj.Play();
}
<!-- ENDIF -->
// ]]>
</script>
<!-- MODIFICA JQUERY PHPBBCODES -->
<script type="text/javascript">
// In case you don't have firebug...
if (!window.console || !console.firebug) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {};
}
(function($){
$(document).ready(function(){
// This value can be true, false or a function to be used as a callback when the closer is clciked
$.jGrowl.defaults.closer = function() {
console.log("Closing everything!", this);
};
// A callback for logging notifications.
$.jGrowl.defaults.log = function(e,m,o) {
$('#logs').append("<div><strong>#" + $(e).attr('id') + "</strong> <em>" + (new Date()).getTime() + "</em>: " + m + " (" + o.theme + ")</div>")
}
<!-- IF S_DISPLAY_PM and (S_USER_NEW_PRIVMSG or S_USER_UNREAD_PRIVMSG) -->
$.jGrowl("Hai {PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD --> e {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF -->.", { header: 'Ciao {S_USERNAME}', sticky: true, });
<!-- ENDIF -->
<!-- IF not S_IS_BOT and not S_USER_LOGGED_IN -->
$.jGrowl("Benvenuto su {SITENAME} - Se sei un Utente Registrato, esegui il Log-In, altrimenti Registrati sul Forum.", { header: 'Benvenuto Visitatore', sticky: true, });
<!-- ENDIF -->
});
})(jQuery);
</script>
<!-- FINE MODIFICA -->
<!-- collpase categories MOD -->
<script type="text/javascript" src="{ROOT_PATH}js/coll_script.js"></script>
<!-- collpase categories MOD -->
<!-- INCLUDE gallery/plugins_header.html -->
</head>
<!-- Esolitos -->
<div class="wrapp_all">
<!-- And Esolitos -->
<body class="{S_CONTENT_DIRECTION}">
<a name="wrapheader"></a>
<table class="bodyline" width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="padding: 0px;">
<div id="wrapheader" style="position: relative;">
<!-- header_cliccabile_START -->
<a href="{U_INDEX}" style="width: 100%; height: 100%; display: block; position: absolute;"> </a>
<!-- header_cliccabile_END -->
<table class="topbkg" width="100%" cellspacing="0">
<tr>
</tr>
</table>
</div>
<!--CANC-->
<div id="xnavbar_navbar">
<table width="918px" min-width="918px" cellspacing="0">
<tr>
<td width="15" id="left"> </td>
<td id="active"><a href="http://rpgmkr.net/forum/portal.php">Portale</a></td>
<td><a href="http://rpgmkr.net/forum/regolamento-t2.html">Regolamento</a></td>
<td><a href="http://www.rpgmkr.net/forum/rivista_mkr.php">Rivista MKR</a></td>
<!-- IF S_USER_LOGGED_IN -->
<td><a href="#" onclick="window.open('http://www.rpgmkr.net/forum/chat/', 'Chat RpgMkr.net', 'screenX='+(screen.width-800)/2+',screenY='+(screen.height-600)/2+',width=800,height=600,resizable=yes');">Chat RMK</a></td>
<!-- ENDIF -->
<td><a href="http://www.rpgmkr.net/forum/games.php">Giochi</a></td>
<td colspan="2"></td>
<td id="search_box">
<form action="/forum/search.php" id="cse-search-box">
<fieldset>
<input type="text" name="keywords" maxlength="128" value="<!-- IF SEARCH_WORDS-->{SEARCH_WORDS}<!-- ELSE -->{L_SEARCH_MINI}<!-- ENDIF -->"
onclick="if(this.value=='{LA_SEARCH_MINI}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_MINI}';" />
</fieldset>
</form>
</td>
<td width="15" id="right"> </td>
</tr>
</table>
</div><br />
<table id="xnavbar_navbar" style="margin-top: 0px;" width="918px" min-width="918px" cellspacing="0">
<tr>
<td><a href="http://www.rpgmkr.net/forum/animefacemaker.php"><span>Anime Face Maker</span></a></li>
<td><a href="http://www.rpgmkr.net/forum/charamakerxp.php"><span>Chara Maker XP</span></a></li>
<td><a href="http://www.rpgmkr.net/forum/generatore_di_nomi.php"><span>Generatore di Nomi</span></a></li>
<td><a href="http://www.rpgmkr.net/forum/palettecolori.php"><span>Palette Colori</span></a></li>
</tr>
</table>
<!--CANCEND-->
<div id="wrapcentre">
<table class="tablebg" cellspacing="1" width="100%">
<tr>
<td class="row1" height="50px" width="73%">
<p class="breadcrumbs">
<a href="{U_INDEX}"><img class="inlineimg" border="0" src="{T_THEME_PATH}/images/folder.gif" alt="" /> <strong>{L_INDEX}</strong></a>
<!-- BEGIN navlinks --><strong> »</strong> <a href="{navlinks.U_VIEW_FORUM}">{navlinks.FORUM_NAME}</a><!-- END navlinks -->
<br /><!-- IF TOPIC_TITLE --><!-- IF U_VIEW_TOPIC --><img class="inlineimg" border="0" src="{T_THEME_PATH}/images/folder2.gif" alt="" /> <strong style="color:black!important;">{TOPIC_TITLE}</strong><!-- ENDIF --><!-- ENDIF --></p>
<div align="center"> <p><!-- IF U_RESTORE_PERMISSIONS --> <a href="{U_RESTORE_PERMISSIONS}">{L_RESTORE_PERMISSIONS}</a><!-- ENDIF -->
<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN --> <span style="color: red;">{L_BOARD_DISABLED}</span><!-- ENDIF --></p></div>
</td>
<td class="row2" height="50px" width="27%"> <!-- INCLUDE menu1.html --></td></tr>
</table>
<!-- INCLUDE menu2.html --><br />
<!-- Modifica Selezione Host -->
<hr><br />
<center><!-- INCLUDE selectorhost_body.html --></center><br />
<hr>
<!-- Fine Modifica Host -->
<br style="clear: both;" />
<!-- INCLUDE breadcrumbs.html -->
<br />