Mert Original Post: 404 / 301 Tool After Import Redirect on ImpEx imported forums
Una de las mayores ventajas que posee vBulletin es la herramienta ImpEx. ImpxEx permite importar de forma sencilla y rápida el contenido de tu foro anterior, ya sea phpBB, IPB, SMF, etc, a vBulletin, permitiéndote de forma sencilla actualizar tu foro a vBulletin/vBSEO sin perder todos los post/usuarios del foro anterior que utilizabas.
La parte mala de ImpEx reside en que si tenías "threads únicos" o "posts borrados", ImpEx no mantiene los mismos IDs (Identificadores Únicos de Mensaje), esto produce un impacto negativo desde el punto de vista SEO en el nuevo foro (el foro transferido).
Afortunadamente, Jerry ha creado un script 404 que toma los IDs importados y los redirige a los nuevos creados por vBulletin. Esta es una gran herramientas para foros que han sido migrados desde otro foro a través de ImpEx. Hemos pedido permiso a Jerry para poder modificar su script y suministrarlo a los usuarios de vBSEO.
El sistema actualmente soporta phpBB, SMF, IPB 2 y MyBB.
Nota: Si tu foro no está en la lista y estás interesado en usar este script después de haber importado tu foro con ImpEx, por favor suminístranos URLs de ejemplo para poder preparar un .htaccess con reglas de redirección válidas para ti.
Por favor sigue estas instrucciones de forma correcta para redireccionar desde tus viejas URLs a las nuevas:
* Necesitas crear un archivo llamado vbseo301.php con el siguiente contenido:
PHP Code:<?php
/**
* 404 /301 for external and internal link redirect.
*
* @package ImpEx.tools
* @version $Revision: 1902 $
* @author Jerry Hutchings <jerry.hutchings@vbulletin.com>
* @modified by Oleg Ignatiuk
*/
$standard_404 = 'http://www.ejemplo.com/not_found.html'; // El error 404 que sera reemplazado por este script
$new_domain = 'www.ejemplo.com'; // Incluir la extension del dominio, como por ejemplo www.ejemplo.com , no incluyas http://
$new_folder = 'vBulletin'; // Nuevo directorio, sin el simbolo backslash
$ext_type = '.php'; // Extension usada por los archivos de vBulletin, tal como index.php, incluyendo el punto al inicio
// Base de datos
// Estos son los datos de acceso a la base de datos, necesarios para buscar el id importado
$server = 'localhost';
$user = 'usuario';
$password = 'contraseña';
$database = 'forum';
$tableprefix = '';
$old_id = intval($_GET['oldid']);
$page = intval($_GET['page']);
$postcount = intval($_GET['postcount']);
$action = $_GET['action'];
$sql = null;
switch ($action)
{
case 'forum':
$sql = "SELECT forumid FROM {$tableprefix}forum WHERE importforumid={$old_id}";
$new_url = "http://{$new_domain}/{$new_folder}forumdisplay{$ext_type}?f=";
break;
case 'thread':
$sql = "SELECT threadid FROM {$tableprefix}thread WHERE importthreadid={$old_id}";
$new_url = "http://{$new_domain}/{$new_folder}showthread{$ext_type}?t=";
break;
case 'post':
$sql = "SELECT postid FROM {$tableprefix}post WHERE importpostid={$old_id}";
$new_url = "http://{$new_domain}/{$new_folder}showpost{$ext_type}?p=";
break;
case 'user':
$sql = "SELECT userid FROM {$tableprefix}user WHERE importuserid={$old_id}";
$new_url = "http://{$new_domain}/{$new_folder}member{$ext_type}?u=" ;
break;
}
if( $sql )
{
$link = @mysql_connect($server, $user, $password);
if ($link)
{
$db_selected = @mysql_select_db($database, $link);
if ($db_selected)
{
$result = @mysql_query($sql);
$row = @mysql_fetch_row($result);
if (!$row[0])
{
$action = 'Original data missing';
}
@mysql_free_result($result);
}
}
}
if (!$sql || !$old_id || !$row[0])
{
?>
<html>
<head>
<meta http-equiv="refresh" content="<?php echo $refresh_speed; ?>; URL=<?php echo $standard_404; ?>">
</head>
<body>
</body>
</html>
<?php
// Got nuffink
die;
}
$new_url .= $row[0];
if($page)
$new_url .= "&page={$page}";
if($postcount)
$new_url .= "&postcount={$postcount}";
@mysql_close($link);
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: {$new_url}" );
?>
* Es necesario que edites el archivo y te asegures de que tiene la información de acceso a la base de datos correcta. Las líneas que necesitas editar son:
PHP Code:$standard_404 = 'http://www.ejemplo.com/not_found.html'; // El error 404 que sera reemplazado por este script
$new_domain = 'www.ejemplo.com'; // Incluir la extension del dominio, como por ejemplo www.ejemplo.com , no incluyas http://
$new_folder = 'vBulletin'; // Nuevo directorio, sin el simbolo backslash
$ext_type = '.php'; // Extension usada por los archivos de vBulletin, tal como index.php, incluyendo el punto al inicio
// Base de datos
// Estos son los datos de acceso a la base de datos, necesarios para buscar el id importado
$server = 'localhost';
$user = 'usuario';
$password = 'contraseña';
$database = 'forum';
$tableprefix = '';
* Luego tienes que añadir las siguientes reglas de reescritura en tu archivo .htaccess, justo después de la línea 'RewriteEngine On'. Por favor, selecciona las líneas de código correctas, basándote en el software que se ejecuta en el antiguo foro:
Usuarios de phpBB
Code:RewriteCond %{QUERY_STRING} f=([0-9]+) RewriteRule viewforum\.php vbseo301.php?action=forum&oldid=%1 [L] RewriteCond %{QUERY_STRING} t=([0-9]+) RewriteRule viewtopic\.php vbseo301.php?action=thread&oldid=%1 [L] RewriteCond %{QUERY_STRING} ^p=([0-9]+) RewriteRule viewtopic\.php vbseo301.php?action=post&oldid=%1 [L] RewriteCond %{QUERY_STRING} u=([0-9]+) RewriteRule profile\.php vbseo301.php?action=user&oldid=%1 [L]
Usuarios de SMF
Code:RewriteCond %{QUERY_STRING} board=([0-9]+) RewriteRule index\.php vbseo301.php?action=forum&oldid=%1 [L] RewriteCond %{QUERY_STRING} topic=([0-9]+) RewriteRule index\.php vbseo301.php?action=thread&oldid=%1 [L] RewriteCond %{QUERY_STRING} .msg([0-9]+) RewriteRule index\.php vbseo301.php?action=post&oldid=%1 [L] RewriteCond %{QUERY_STRING} action=profile;u=([0-9]+) RewriteRule index\.php vbseo301.php?action=user&oldid=%1 [L]
Usuarios de IPB 2
Code:RewriteCond %{QUERY_STRING} showforum=([0-9]+) RewriteRule index\.php vbseo301.php?action=forum&oldid=%1 [L] RewriteCond %{QUERY_STRING} showtopic=([0-9]+) RewriteRule index\.php vbseo301.php?action=thread&oldid=%1 [L] RewriteCond %{QUERY_STRING} view=findpost&p=([0-9]+) RewriteRule index\.php vbseo301.php?action=post&oldid=%1 [L] RewriteCond %{QUERY_STRING} showuser=([0-9]+) RewriteRule index\.php vbseo301.php?action=user&oldid=%1 [L]
Usuarios de MyBB 1.2 / 1.4
Code:RewriteCond %{QUERY_STRING} pid=([0-9]+) RewriteRule showthread\.php vbseo301.php?action=post&oldid=%1 [L] RewriteCond %{QUERY_STRING} tid=([0-9]+)\&page=([0-9]+) RewriteRule showthread\.php vbseo301.php?action=thread&oldid=%1&page=%2 [L] RewriteCond %{QUERY_STRING} tid=([0-9]+) RewriteRule showthread\.php vbseo301.php?action=thread&oldid=%1 [L] RewriteCond %{QUERY_STRING} fid=([0-9]+).*page=([0-9]+) RewriteRule forumdisplay\.php vbseo301.php?action=forum&oldid=%1&page=%2 [L] RewriteCond %{QUERY_STRING} fid=([0-9]+) RewriteRule forumdisplay\.php vbseo301.php?action=forum&oldid=%1 [L] RewriteCond %{QUERY_STRING} action=profile\&uid=([0-9]+) RewriteRule member\.php vbseo301.php?action=user&oldid=%1 [L]
En caso de que se te presente algún inconveniente, o tengas alguna consulta, por favor abre un nuevo tema en el foro Español, estaremos más que complacidos de atenderte.



LinkBack URL
About LinkBacks






Reply With Quote
.
